Class JsBigIntGen

  • All Implemented Interfaces:
    fun.gen.Gen<JsBigInt>, Function<Random,​Supplier<JsBigInt>>

    public final class JsBigIntGen
    extends Object
    implements fun.gen.Gen<JsBigInt>
    Represents a JsBigInt generator. It can be created using the static factory methods biased and arbitrary or, if none of the previous suit your needs, from a big integer generator and the function map:
    
          import fun.gen.Gen;
          import jsonvalues.JsBigInt;
    
          Gen<BigInteger> bigIntGen = seed -> () -> {...};
          Gen<JsBigInt> jsBigIntGen = gen.map(JsBigInt::of)
          
      

    Arbitrary generators produces uniformed distributions of values. Biased generators produces, with higher probability, potential problematic values that usually cause more bugs.

    • Method Detail

      • arbitrary

        public static fun.gen.Gen<JsBigInt> arbitrary​(int bits)
      • biased

        public static fun.gen.Gen<JsBigInt> biased​(int bits)
      • apply

        public Supplier<JsBigInt> apply​(Random seed)
        Returns a supplier from the specified seed that generates a new JsBigInt each time it's called
        Specified by:
        apply in interface Function<Random,​Supplier<JsBigInt>>
        Parameters:
        seed - the generator seed
        Returns:
        a JsBigInt supplier