Пример #1
0
        public void ParallelForJobCanUseParallelPtr()
        {
            using (NativeArray <long> array = new NativeArray <long>(
                       3,
                       Allocator.TempJob))
            {
                NativeArray <long> arrayCopy = array;
                arrayCopy[0] = 10;
                arrayCopy[1] = 20;
                arrayCopy[2] = 30;

                using (NativeLongPtr sum = new NativeLongPtr(
                           Allocator.TempJob))
                {
                    ParallelForTestJob job = new ParallelForTestJob
                    {
                        Array = array,
                        Sum   = sum.GetParallel()
                    };
                    job.Run(array.Length);

                    Assert.That(sum.Value, Is.EqualTo(60));
                }
            }
        }
Пример #2
0
        public void ParallelIncrementIncrementsValue()
        {
            using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp, 123))
            {
                NativeLongPtr.Parallel parallel = intPtr.GetParallel();
                parallel.Increment();

                Assert.That(intPtr.Value, Is.EqualTo(124));
            }
        }
Пример #3
0
 public void ParallelAddRequiresReadAccess()
 {
     using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp))
     {
         NativeLongPtr.Parallel parallel = intPtr.GetParallel();
         AssertRequiresReadOrWriteAccess(
             intPtr,
             () => parallel.Add(10));
     }
 }
Пример #4
0
 public void ParallelDecrementRequiresReadAccess()
 {
     using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp))
     {
         NativeLongPtr.Parallel parallel = intPtr.GetParallel();
         AssertRequiresReadOrWriteAccess(
             intPtr,
             parallel.Decrement);
     }
 }
Пример #5
0
        public void ParallelAddOffsetsValue()
        {
            using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp, 123))
            {
                NativeLongPtr.Parallel parallel = intPtr.GetParallel();
                parallel.Add(5);

                Assert.That(intPtr.Value, Is.EqualTo(128));

                parallel.Add(-15);

                Assert.That(intPtr.Value, Is.EqualTo(113));
            }
        }