module otya.smilebasic.random;
import std.random;

class Random
{
    alias RandomType = Xorshift64;
    //LinearCongruentialEngine!(uint, 16_807, 0, 2_147_483_647)[8] engine;
    RandomType[8] engine;
    public this()
    {
        foreach (e; engine)
        {
            e.seed(unpredictableSeed);
        }
    }
    public T random(T)(int seedid, T min, T max)
    {
        return uniform(min, max, engine[seedid]);
    }
    public void randomize(int seedid)
    {
        engine[seedid].seed(unpredictableSeed);
    }
    public void randomize(int seedid, int seed)
    {
        engine[seedid].seed(seed);
    }
}
