Class NumberFactory

java.lang.Object
org.apache.commons.rng.core.util.NumberFactory

public final class NumberFactory
extends java.lang.Object
Utility for creating number types from one or two int values or one long value, or a sequence of bytes.
  • Method Summary

    Modifier and Type Method Description
    static int extractHi​(long v)
    Creates an int from a long, using the high order bits.
    static int extractLo​(long v)
    Creates an int from a long, using the low order bits.
    static boolean makeBoolean​(int v)
    Deprecated.
    Since version 1.2.
    static boolean makeBoolean​(long v)
    Deprecated.
    Since version 1.2.
    static byte[] makeByteArray​(int v)
    Splits an int into 4 bytes.
    static byte[] makeByteArray​(int[] input)
    Splits an array of int values into a sequence of bytes.
    static byte[] makeByteArray​(long v)
    Splits a long into 8 bytes.
    static byte[] makeByteArray​(long[] input)
    Splits an array of long values into a sequence of bytes.
    static double makeDouble​(int v, int w)  
    static double makeDouble​(long v)  
    static float makeFloat​(int v)  
    static int makeInt​(byte[] input)
    Creates an int from 4 bytes.
    static int makeInt​(long v)
    Deprecated.
    Since version 1.2.
    static int[] makeIntArray​(byte[] input)
    Creates an array of int values from a sequence of bytes.
    static long makeLong​(byte[] input)
    Creates a long from 8 bytes.
    static long makeLong​(int v, int w)  
    static long[] makeLongArray​(byte[] input)
    Creates an array of long values from a sequence of bytes.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • makeBoolean

      @Deprecated public static boolean makeBoolean​(int v)
      Deprecated.
      Since version 1.2. Method has become obsolete following RNG-57.
      Parameters:
      v - Number.
      Returns:
      a boolean.
    • makeBoolean

      @Deprecated public static boolean makeBoolean​(long v)
      Deprecated.
      Since version 1.2. Method has become obsolete following RNG-57.
      Parameters:
      v - Number.
      Returns:
      a boolean.
    • makeDouble

      public static double makeDouble​(long v)
      Parameters:
      v - Number.
      Returns:
      a double value in the interval [0, 1].
    • makeDouble

      public static double makeDouble​(int v, int w)
      Parameters:
      v - Number (high order bits).
      w - Number (low order bits).
      Returns:
      a double value in the interval [0, 1].
    • makeFloat

      public static float makeFloat​(int v)
      Parameters:
      v - Number.
      Returns:
      a float value in the interval [0, 1].
    • makeLong

      public static long makeLong​(int v, int w)
      Parameters:
      v - Number (high order bits).
      w - Number (low order bits).
      Returns:
      a long value.
    • makeInt

      @Deprecated public static int makeInt​(long v)
      Deprecated.
      Since version 1.2. Method has become obsolete following RNG-57.
      Creates an int from a long.
      Parameters:
      v - Number.
      Returns:
      an int value made from the "xor" of the high order bits and low order bits of v.
    • extractHi

      public static int extractHi​(long v)
      Creates an int from a long, using the high order bits.

      The returned value is such that if

      
        vL = extractLo(v);
        vH = extractHi(v);
       

      then v is equal to makeLong(vH, vL).

      Parameters:
      v - Number.
      Returns:
      an int value made from the most significant bits of v.
    • extractLo

      public static int extractLo​(long v)
      Creates an int from a long, using the low order bits.

      The returned value is such that if

      
        vL = extractLo(v);
        vH = extractHi(v);
       

      then v is equal to makeLong(vH, vL).

      Parameters:
      v - Number.
      Returns:
      an int value made from the least significant bits of v.
    • makeByteArray

      public static byte[] makeByteArray​(long v)
      Splits a long into 8 bytes.
      Parameters:
      v - Value.
      Returns:
      the bytes that compose the given value (least-significant byte first).
    • makeLong

      public static long makeLong​(byte[] input)
      Creates a long from 8 bytes.
      Parameters:
      input - Input.
      Returns:
      the value that correspond to the given bytes assuming that the is ordered in increasing byte significance (i.e. the first byte in the array is the least-siginficant).
      Throws:
      java.lang.IllegalArgumentException - if input.length != 8.
    • makeByteArray

      public static byte[] makeByteArray​(long[] input)
      Splits an array of long values into a sequence of bytes. This method calls makeByteArray(long) for each element of the input.
      Parameters:
      input - Input.
      Returns:
      an array of bytes.
    • makeLongArray

      public static long[] makeLongArray​(byte[] input)
      Creates an array of long values from a sequence of bytes. This method calls makeLong(byte[]) for each subsequence of 8 bytes.
      Parameters:
      input - Input.
      Returns:
      an array of long.
      Throws:
      java.lang.IllegalArgumentException - if input.length is not a multiple of 8.
    • makeByteArray

      public static byte[] makeByteArray​(int v)
      Splits an int into 4 bytes.
      Parameters:
      v - Value.
      Returns:
      the bytes that compose the given value (least-significant byte first).
    • makeInt

      public static int makeInt​(byte[] input)
      Creates an int from 4 bytes.
      Parameters:
      input - Input.
      Returns:
      the value that correspond to the given bytes assuming that the is ordered in increasing byte significance (i.e. the first byte in the array is the least-siginficant).
      Throws:
      java.lang.IllegalArgumentException - if input.length != 4.
    • makeByteArray

      public static byte[] makeByteArray​(int[] input)
      Splits an array of int values into a sequence of bytes. This method calls makeByteArray(int) for each element of the input.
      Parameters:
      input - Input.
      Returns:
      an array of bytes.
    • makeIntArray

      public static int[] makeIntArray​(byte[] input)
      Creates an array of int values from a sequence of bytes. This method calls makeInt(byte[]) for each subsequence of 4 bytes.
      Parameters:
      input - Input. Length must be a multiple of 4.
      Returns:
      an array of int.
      Throws:
      java.lang.IllegalArgumentException - if input.length is not a multiple of 4.