Class L128X256Mix

    • Field Detail

      • lah

        protected long lah
        High half of the 128-bit per-instance LCG additive parameter. Cannot be final to support RestorableUniformRandomProvider.
      • lal

        protected long lal
        Low half of the 128-bit per-instance LCG additive parameter (must be odd). Cannot be final to support RestorableUniformRandomProvider.
      • lsh

        protected long lsh
        High half of the 128-bit state of the LCG generator.
      • lsl

        protected long lsl
        Low half of the 128-bit state of the LCG generator.
    • Constructor Detail

      • L128X256Mix

        public L128X256Mix​(long[] seed)
        Creates a new instance.
        Parameters:
        seed - Initial seed. If the length is larger than 8, only the first 8 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros in the last four elements will create a non-functional XBG sub-generator and a low quality output with a period of 2128.

        The 1st and 2nd elements are used to set the LCG increment; the least significant bit is set to odd to ensure a full period LCG. The 3rd and 4th elements are used to set the LCG state.

      • L128X256Mix

        public L128X256Mix​(long seed0,
                           long seed1,
                           long seed2,
                           long seed3,
                           long seed4,
                           long seed5,
                           long seed6,
                           long seed7)
        Creates a new instance using an 8 element seed. A seed containing all zeros in the last four elements will create a non-functional XBG sub-generator and a low quality output with a period of 2128.

        The 1st and 2nd elements are used to set the LCG increment; the least significant bit is set to odd to ensure a full period LCG. The 3rd and 4th elements are used to set the LCG state.

        Parameters:
        seed0 - Initial seed element 0.
        seed1 - Initial seed element 1.
        seed2 - Initial seed element 2.
        seed3 - Initial seed element 3.
        seed4 - Initial seed element 4.
        seed5 - Initial seed element 5.
        seed6 - Initial seed element 6.
        seed7 - Initial seed element 7.
      • L128X256Mix

        protected L128X256Mix​(L128X256Mix source)
        Creates a copy instance.
        Parameters:
        source - Source to copy.