public void ScheduleSimpleParallelForDefer_1() { NativeList <int> a = new NativeList <int>(SimpleParallelForDefer.N, Allocator.TempJob); NativeArray <int> b = new NativeArray <int>(SimpleParallelForDefer.N, Allocator.TempJob); NativeArray <int> result = new NativeArray <int>(SimpleParallelForDefer.N, Allocator.TempJob); for (int i = 0; i < SimpleParallelForDefer.N; ++i) { a.Add(100 + i); b[i] = 200 + i; } SimpleParallelForDefer job = new SimpleParallelForDefer() { a = a, b = b, result = result }; job.a = a; job.b = b; job.result = result; JobHandle handle = job.Schedule(a, 300); handle.Complete(); for (int i = 0; i < SimpleParallelFor.N; ++i) { Assert.AreEqual(300 + i * 2, result[i]); } a.Dispose(); b.Dispose(); result.Dispose(); }
public unsafe void ScheduleSimpleParallelForDefer_2() { NativeList <int> a = new NativeList <int>(SimpleParallelForDefer.N, Allocator.TempJob); NativeArray <int> b = new NativeArray <int>(SimpleParallelForDefer.N, Allocator.TempJob); NativeArray <int> result = new NativeArray <int>(SimpleParallelForDefer.N, Allocator.TempJob); for (int i = 0; i < SimpleParallelForDefer.N; ++i) { a.Add(100 + i); b[i] = 200 + i; } SimpleParallelForDefer job = new SimpleParallelForDefer() { a = a, b = b, result = result }; job.a = a; job.b = b; job.result = result; var lengthValue = new NativeArray <int>(1, Allocator.TempJob); lengthValue[0] = SimpleParallelForDefer.N; JobHandle handle = job.Schedule((int *)lengthValue.GetUnsafePtr(), 300); handle.Complete(); for (int i = 0; i < SimpleParallelFor.N; ++i) { Assert.AreEqual(300 + i * 2, result[i]); } a.Dispose(); b.Dispose(); result.Dispose(); lengthValue.Dispose(); }