示例#1
0
 internal double[] NextDoubleArray(int length)
 {
     if (length < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(length), "Length must be greater than or equal to 0.");
     }
     double[] result = new double[length];
     for (var i = 0; i < length; i++)
     {
         result[i] = NumberFactory.MakeDouble(NextULong());
     }
     return(result);
 }
示例#2
0
 internal float[] NextFloatArray(int length)
 {
     if (length < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(length), "Length must be greater than or equal to 0.");
     }
     float[] result = new float[length];
     for (var i = 0; i < length; i++)
     {
         result[i] = NumberFactory.MakeFloat(NextUInt());
     }
     return(result);
 }
示例#3
0
 internal uint NextUInt()
 {
     if (cachedIntSource)
     {
         cachedIntSource = false;
         return(NumberFactory.ExtractLow(intSource));
     }
     else
     {
         intSource       = NextULong();
         cachedIntSource = true;
         return(NumberFactory.ExtractHigh(intSource));
     }
 }
示例#4
0
 internal ushort NextUShort()
 {
     if (cachedShortSource)
     {
         cachedShortSource = false;
         return(NumberFactory.ExtractLow(shortSource));
     }
     else
     {
         shortSource       = NextUInt();
         cachedShortSource = true;
         return(NumberFactory.ExtractHigh(shortSource));
     }
 }
示例#5
0
 internal double NextDouble()
 {
     return(NumberFactory.MakeDouble(NextULong()));
 }
示例#6
0
 internal float NextFloat()
 {
     return(NumberFactory.MakeFloat(NextUInt()));
 }