using System; using Unity.Collections; using Unity.Jobs; using UnityEngine; namespace UnityEngine.Perception.Randomization.Samplers { /// /// Generates random values from probability distributions /// public interface ISampler { uint seed { get; set; } FloatRange range { get; set; } /// /// Returns a duplicate sampler with an iterated seed /// /// /// Offset value is often a the active scenario's currentIteration or framesSinceInitialization. /// ISampler CopyAndIterate(int index); /// /// Generate one sample /// float NextSample(); /// /// Schedule a job to generate multiple samples /// NativeArray Samples(int sampleCount, out JobHandle jobHandle); } }