예제 #1
0
        public void NotAllowNullName()
        {
            var factory = new WorkerFactory();

            Assert.Throws <ArgumentNullException>(() => factory.Create(null));
            Assert.Throws <ArgumentNullException>("name", () => factory.Create(null));
        }
예제 #2
0
        public void CreateSeperateInstances()
        {
            var factory = new WorkerFactory();
            var p1      = factory.Create("Nick");
            var p2      = factory.Create("Nick");

            Assert.NotSame(p1, p2);
        }
예제 #3
0
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <double>, NativeArray <double>, NativeArray <double> >
         .Create <SimpleMultiplicationOptimizationDoubleJob>(
             TestName(),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <double>, NativeArray <double>, NativeArray <double> >
         .Create <SimpleMultiplicationOptimizationDoubleJobParallelFor>(
             TestName(),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             inputDataContainer.GetData <double>(TypeConfig.DataDouble1),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
     });
 }
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <short>, NativeArray <short>, NativeArray <short> >
         .Create <SimpleAdditionShortJob>(
             TestName(),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <short>, NativeArray <short>, NativeArray <short> >
         .Create <SimpleAdditionShortJobParallelFor>(
             TestName(),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <short[], short[], short[]> .Create <SimpleAdditionShortPlain>(
             TestName(),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
         WorkerFactory <short[], short[], short[]> .Create <SimpleAdditionShortSystemParallelFor>(
             TestName(),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             inputDataContainer.GetData <short>(TypeConfig.DataShort1),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
     });
 }
예제 #5
0
        public void CreateProgrammer_AssertAssignableTypes()
        {
            var    factory = new WorkerFactory();
            Worker worker  = factory.Create("Nick", isProgrammer: true);

            Assert.IsType <Worker>(worker);
        }
예제 #6
0
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <uint3>, NativeArray <uint3>, NativeArray <uint3> >
         .Create <SimdDivisionOptimizationUInt3Job>(
             TestName(),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <uint3>, NativeArray <uint3>, NativeArray <uint3> >
         .Create <SimdDivisionOptimizationUInt3JobParallelFor>(
             TestName(),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             inputDataContainer.GetData <uint3>(TypeConfig.DataUInt3),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
     });
 }
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <float3>, NativeArray <float3>, NativeArray <float3> >
         .Create <SimdMultiplicationFloat3Job>(
             TestName(),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <float3>, NativeArray <float3>, NativeArray <float3> >
         .Create <SimdMultiplicationFloat3JobParallelFor>(
             TestName(),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <float3[], float3[], float3[]> .Create <SimdMultiplicationFloat3Plain>(
             TestName(),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
         WorkerFactory <float3[], float3[], float3[]> .Create <SimdMultiplicationFloat3SystemParallelFor>(
             TestName(),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             inputDataContainer.GetData <float3>(TypeConfig.DataFloat3),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
     });
 }
예제 #8
0
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <double4>, NativeArray <double4>, NativeArray <double4> >
         .Create <SimdDivisionDouble4Job>(
             TestName(),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <double4>, NativeArray <double4>, NativeArray <double4> >
         .Create <SimdDivisionDouble4JobParallelFor>(
             TestName(),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <double4[], double4[], double4[]> .Create <SimdDivisionDouble4Plain>(
             TestName(),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
         WorkerFactory <double4[], double4[], double4[]> .Create <SimdDivisionDouble4SystemParallelFor>(
             TestName(),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             inputDataContainer.GetData <double4>(TypeConfig.DataDouble4),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
     });
 }
예제 #9
0
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <uint2>, NativeArray <uint2>, NativeArray <uint2> >
         .Create <SimdSubtractionUInt2Job>(
             TestName(),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             new WorkConfigIJob(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <uint2>, NativeArray <uint2>, NativeArray <uint2> >
         .Create <SimdSubtractionUInt2JobParallelFor>(
             TestName(),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             new WorkConfigIJobParallelFor(),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <uint2[], uint2[], uint2[]> .Create <SimdSubtractionUInt2Plain>(
             TestName(),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
         WorkerFactory <uint2[], uint2[], uint2[]> .Create <SimdSubtractionUInt2SystemParallelFor>(
             TestName(),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             inputDataContainer.GetData <uint2>(TypeConfig.DataUInt2),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
     });
 }
예제 #10
0
        public void CreatePlumberByDefault()
        {
            var    factory = new WorkerFactory();
            Worker worker  = factory.Create("Nick");

            Assert.IsType <Plumber>(worker);
        }
예제 #11
0
        public void CreateProgrammerAndCastReturnedType()
        {
            var        factory    = new WorkerFactory();
            Worker     worker     = factory.Create("Nick", isProgrammer: true);
            Programmer programmer = Assert.IsType <Programmer>(worker);

            Assert.Equal("Nick", programmer.Name);
        }
 public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
 {
     return(new[]
     {
         WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <UnOptimizedJob>(
             TestName(),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             new WorkConfigIJob(false),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <UnOptimizedJobParallelFor>(
             TestName(),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             new WorkConfigIJobParallelFor(false),
             new IDataConfig[]
         {
             new DataConfigUnityCollection(Allocator.Persistent),
             new DataConfigUnityCollection(Allocator.Persistent),
         }
             ),
         WorkerFactory <float[], float[]> .Create <UnOptimizedPlain>(
             TestName(),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
         WorkerFactory <float[], float[]> .Create <UnOptimizedSystemParallelFor>(
             TestName(),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
             new WorkConfigDefault(),
             new IDataConfig[]
         {
             new DataConfigDefault(),
             new DataConfigDefault(),
         }
             ),
     });
 }
예제 #13
0
        public static GameObject GetWorker(this RoomInfo room)
        {
            if (room == null || room.CustomProperties[WorkerPropKey] == null || !room.CustomProperties.ContainsKey(WorkerPropKey))
            {
                return(null);
            }

            var           WorkerFactory = new WorkerFactory();
            string        data          = (string)room.CustomProperties[WorkerPropKey];
            List <string> workerD       = data.Split(',').ToList();
            GameObject    go            = WorkerFactory.Create();
            Worker        worker        = go.GetComponent <Worker>();

            foreach (Player player in PhotonNetwork.PlayerList)
            {
                if (player.ActorNumber == int.Parse(workerD[0]))
                {
                    worker.Owner = player;
                }
            }
            worker.Pos = new Vector2(int.Parse(workerD[1]), int.Parse(workerD[2]));
            return(go);
        }
예제 #14
0
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region IJob

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region IJobParallelFor

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region IPlain

                WorkerFactory <float[], float[]> .Create <BaseIPlain>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIPlain>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseNoBurstIPlain>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region ISystemParallelFor

                WorkerFactory <float[], float[]> .Create <BaseISystemParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstISystemParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseNoBurstISystemParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion
            });
        }
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region IJob

                #region Persistent

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Temp

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),

                #endregion

                #region TempJob

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),

                #endregion

                #endregion

                #region IJobParallelFor

                #region Persistent

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Temp

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Temp),
                    new DataConfigUnityCollection(Allocator.Temp),
                }
                    ),

                #endregion

                #region TempJob

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.TempJob),
                    new DataConfigUnityCollection(Allocator.TempJob),
                }
                    ),

                #endregion

                #endregion
            });
        }
예제 #16
0
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region Plain

                WorkerFactory <Vector3[], int[]> .Create <SeparateAllPlain>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),
                WorkerFactory <Vector3[], int[]> .Create <SeparateVerticesTrianglesPlain>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),
                WorkerFactory <Vector3[], int[]> .Create <AllJoinPlain>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),
                WorkerFactory <Vector3[], int[]> .Create <AllJoinSingleForPlain>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),

                #endregion

                #region Job

                WorkerFactory <NativeArray <Vector3>, NativeArray <int> > .Create <SeparateAllJob>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <Vector3>, NativeArray <int> > .Create <SeparateVerticesTrianglesJob>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <Vector3>, NativeArray <int> > .Create <AllJoinJob>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <Vector3>, NativeArray <int> > .Create <AllJoinSingleForJob>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region JobParallelFor

                WorkerFactory <NativeArray <Vector3>, NativeArray <int> > .Create <AllJoinSingleForJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region SystemParallelFor

                WorkerFactory <Vector3[], int[]> .Create <AllJoinSingleForSystemParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <Vector3>(TypeConfig.DataVector3),
                    inputDataContainer.GetData <int>(TypeConfig.DataInt1),
                    new WorkConfigDefault(),
                    new IDataConfig[]
                {
                    new DataConfigDefault(),
                    new DataConfigDefault(),
                }
                    ),

                #endregion
            });
        }
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region IJob

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDefaultJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDefaultJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeFastJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeFastJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeStrictJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeStrictJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDeterministicJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDeterministicJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region IJobParallelFor

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDefaultJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDefaultJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeFastJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeFastJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeStrictJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeStrictJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDeterministicJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatModeDeterministicJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion
            });
        }
예제 #18
0
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region Size_2

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 2),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 2),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 2),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 2),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_4

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 4),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 4),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 4),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 4),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_8

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 8),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 8),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 8),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 8),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_16

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 16),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 16),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 16),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 16),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_32

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 32),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 32),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 32),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 32),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_64

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 64),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 64),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 64),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 64),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_128

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 128),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 128),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 128),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 128),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_256

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 256),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 256),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 256),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 256),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_512

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 512),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 512),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 512),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 512),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_1024

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 1024),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 1024),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : 1024),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, 1024),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region Size_dataSize

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : dataSize),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, dataSize),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(batchCount : dataSize),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BaseBurstIJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(false, dataSize),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion
            });
        }
        public override IWorkFacade[] InitWorkFacades(IInputDataContainer inputDataContainer, int dataSize)
        {
            return(new[]
            {
                #region IJob

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionStdJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionLowJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionMedJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionHighJob>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJob(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion

                #region IJobParallelFor

                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionStdJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionLowJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionMedJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),
                WorkerFactory <NativeArray <float>, NativeArray <float> > .Create <BurstFloatPrecisionHighJobParallelFor>(
                    TestName(),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    inputDataContainer.GetData <float>(TypeConfig.DataFloat1),
                    new WorkConfigIJobParallelFor(),
                    new IDataConfig[]
                {
                    new DataConfigUnityCollection(Allocator.Persistent),
                    new DataConfigUnityCollection(Allocator.Persistent),
                }
                    ),

                #endregion
            });
        }