pub mod halton;
pub mod independent;
pub mod sobol;
pub mod stratified;

use crate::{Arena, FileLoc, ParameterDictionary};
use anyhow::Result;
use shared::core::geometry::Point2i;
use shared::core::sampler::Sampler;

pub trait CreateSampler {
    fn create(
        params: &ParameterDictionary,
        full_res: Point2i,
        loc: &FileLoc,
        arena: &Arena,
    ) -> Result<Sampler>;
}
