Ejemplo n.º 1
0
        internal static byte[] GenerateRandomBytes(int length)
        {
            var bytes = new byte[length];

            RngProvider.GetBytes(bytes);
            return(bytes);
        }
Ejemplo n.º 2
0
    unsafe private ulong SampleImpl()
    {
        lock (Pool.SyncRoot)
        {
            if ((CurrentIndex + 8) > Pool.Length - 1)
            {
                RngProvider.GetBytes(Pool);
                CurrentIndex = 0;
            }
            else
            {
                CurrentIndex += 8;
            }

            fixed(byte *ptr = &Pool[CurrentIndex])
            {
                return(*((UInt64 *)ptr));
            }
        }
    }
Ejemplo n.º 3
0
    unsafe private int NextImpl()
    {
        lock (Pool.SyncRoot)
        {
            if ((CurrentIndex + 4) > Pool.Length - 1)
            {
                RngProvider.GetBytes(Pool);
                CurrentIndex = 0;
            }
            else
            {
                CurrentIndex += 4;
            }

            fixed(byte *ptr = &Pool[CurrentIndex])
            {
                return(*((int *)ptr));
            }
        }
    }