JDK-6341163 : Add remaining IEEE 754 recommended functions to Math and StrictMath
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2005-10-25
  • Updated: 2015-03-05
  • Resolved: 2015-03-05
Related Reports
Relates :  
Relates :  
Bug 4826652 added the core IEEE 754 recommended function functionality to the platform.  This rfe is to track the remaining functionality from the original 754 (e.g. fpClass) as well as new functionality requested by 754R.

From IEEE 754 2008, section 5.3.1 General Operations: nextUp: in java.lang.Math since JDK 6 nextdown: in java.lang.Math since JDK 8 minNum/maxNum: min / max methods minNumMag / maxNumMag: could be written in terms of abs and min/max scalB: in java.lang.Math as scalb since JDK 6 logB: functionality is mostly provided by getExponent, which has been included since JDK 6 fused multiply add: see JDK-4851642 5.5.1 Sign bit operations copy: copy a value negate: unary minus operator abs: Math.abs copySign: Math.copySign since JDK 6 5.7.2 General Operations class (returns when kind of number of argument is): not provided isSignMinus: easy to write isNormal: easy to write comparing against Double.MIN_NORMAL isFinite: Double.isFinite since JDK 8 isZero: Simple == 0.0 check isSubnormal:easy to write comparing against Double.MIN_NORMAL isInfinite: Double.isInfinite isNaN: Double.isNaN isSignaling: not provided isCanonical: not relevant to formats defined in Java totalOrder: Similar to Double.compare totalOrderMag: Can be written with abs and Double.compare The most interesting omission is a fused mac method, which is tracked by another RFE. Since as of JDK 8, nearly all the functionality is present in either java.lang.{Math, StrictMath} or java.lang.{Float, Double}, I'm closing this RFE as will not fix. Request for particular other methods can be filed as new RFEs.

EVALUATION Should be considered as part of ongoing math library maintenance.