code: public static float nextUp(float f) {
          if( Float.isNaN(f) || f == FloatConsts.POSITIVE_INFINITY)
              return f;
          else {
              f += 0.0f;
              return Float.intBitsToFloat(Float.floatToRawIntBits(f) +
                                          ((f >= 0.0f)?+1:-1));
          }
      }
docs: Returns the floating-point value adjacent to {@code f} in
  the direction of positive infinity.  This method is
  semantically equivalent to {@code nextAfter(f,
  Float.POSITIVE_INFINITY)}; however, a {@code nextUp}
  implementation may run faster than its equivalent
  {@code nextAfter} call.
  
  <p>Special Cases:
  <ul>
  <li> If the argument is NaN, the result is NaN.
  
  <li> If the argument is positive infinity, the result is
  positive infinity.
  
  <li> If the argument is zero, the result is
  {@link Float#MIN_VALUE}
  
  </ul>
  
  @param f starting floating-point value
  @return The adjacent floating-point value closer to positive
  infinity.
  @since 1.6