using System;
using Unity.Collections;
using Unity.Jobs;
using UnityEngine;
namespace UnityEngine.Experimental.Perception.Randomization.Samplers
{
///
/// Generates random values from probability distributions
///
public interface ISampler
{
///
/// A range bounding the values generated by this sampler
///
FloatRange range { get; set; }
///
/// Generates one sample
///
/// The generated sample
float Sample();
///
/// Schedules a job to generate an array of samples
///
/// The number of samples to generate
/// The handle of the scheduled job
/// A NativeArray of generated samples
NativeArray Samples(int sampleCount, out JobHandle jobHandle);
}
}