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)); } } }
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)); } }
public void ParallelAddRequiresReadAccess() { using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp)) { NativeLongPtr.Parallel parallel = intPtr.GetParallel(); AssertRequiresReadOrWriteAccess( intPtr, () => parallel.Add(10)); } }
public void ParallelDecrementRequiresReadAccess() { using (NativeLongPtr intPtr = new NativeLongPtr(Allocator.Temp)) { NativeLongPtr.Parallel parallel = intPtr.GetParallel(); AssertRequiresReadOrWriteAccess( intPtr, parallel.Decrement); } }
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)); } }