generates a number in 0 , 2 ^ numbits with an exponential distribution . the floor of the log2 of the result is chosen uniformly at random in 0 , numbits , and then the result is chosen in that range uniformly at random . zero is treated as having log2 == 0 . concode_field_sep int ARRAY_SIZE concode_elem_sep int[] biggestBinomials concode_elem_sep int ARRAY_MASK concode_elem_sep int MAX_EXPONENT concode_elem_sep Random RANDOM_SOURCE concode_field_sep BigInteger randomNonZeroBigInteger concode_elem_sep BigInteger randomBigInteger concode_elem_sep BigInteger randomPositiveBigInteger concode_elem_sep double randomDouble concode_elem_sep int randomExponent concode_elem_sep double randomPositiveDouble
BigInteger function ( int arg0 ) { int loc0 = RANDOM_SOURCE . nextInt ( arg0 ) ; if ( loc0 == 0 ) { return new BigInteger ( 1 , RANDOM_SOURCE ) ; } else { return new BigInteger ( loc0 , RANDOM_SOURCE ) . setBit ( loc0 ) ; } }