public void testNextLongBounded2(){
  SplittableRandom sr=new SplittableRandom();
  for (long least=-86028121; least < MAX_LONG_BOUND; least+=982451653L) {
    for (long bound=least + 2; bound > least && bound < MAX_LONG_BOUND; bound+=Math.abs(bound * 7919)) {
      long f=sr.nextLong(least,bound);
      assertTrue(least <= f && f < bound);
      int i=0;
      long j;
      while (i < NCALLS && (j=sr.nextLong(least,bound)) == f) {
        assertTrue(least <= j && j < bound);
        ++i;
      }
      assertTrue(i < NCALLS);
    }
  }
}

public void testNextLongBounded2 ( ) { SplittableRandom sr = new SplittableRandom ( ) ; for ( long least = - 86028121 ; least < MAX_LONG_BOUND ; least += 982451653L ) { for ( long bound = least + 2 ; bound > least && bound < MAX_LONG_BOUND ; bound += Math . abs ( bound * 7919 ) ) { long f = sr . nextLong ( least , bound ) ; assertTrue ( least <= f && f < bound ) ; int i = 0 ; long j ; while ( i < NCALLS && ( j = sr . nextLong ( least , bound ) ) == f ) { assertTrue ( least <= j && j < bound ) ; ++ i ; } assertTrue ( i < NCALLS ) ; } } }
nextlong ( least , bound ) returns least < = value < bound ; repeated calls produce at least two distinct results
