Releases: aopp-pred/rpe
Releases · aopp-pred/rpe
v5.0.0
Change summary
- The default value for
RPE_DEFAULT_SBITS
has changed to52
, previously it was23
. This change means that by default allrpe_var
types behave like double precisionreal
types. - The upper limit for the value of an IEEE half-precision number has been corrected to
65504
. This value was previously too small (32768
) resulting in an over-conservative representation of IEEE half-precision values. This change only affects code running with theRPE_IEEE_HALF
option turned on. - The
huge
intrinsic has been reimplemented forrpe_var
types. It now returns the largest value with an 11-bit exponent and the number of significand bits in its input. It also behaves correctly when using a 10-bit significand andRPE_IEEE_HALF = .true.
, returning the largest number with a 5-bit exponent and 10-bit significand (65504
).
Incompatibilities
- The rounding mode has changed to be compliant with IEEE 754. The new mode will likely give different (but more realistic) results. The new behaviour is the same as that obtained in v4.1 with the option
RPE_IEEE_ROUNDING = .true.
. - The option
RPE_IEEE_ROUNDING
has been removed, the new rounding behaviour is equivalent toRPE_IEEE_ROUNDING = .true.
. There is no option to change to the behaviour ofRPE_IEEE_ROUNDING = .false.
.
v4.1.1
v4.1.0
Adds an IEEE 754 compliant rounding scheme and new functionality for explicit handling of literal floating-point values.
- Features
- A new (currently opt-in) IEEE 754 compliant rounding mode, activated by setting the module variable
RPE_IEEE_ROUNDING = .true.
. This option is provided to help manage a transition to IEEE 754 compliant rounding in a future release. Eventually this option will be removed and IEEE 754 compliant rounding will become the default and only rounding mode. - A new helper function
rpe_literal
is provided to help write correct reduced-precision code that contains numeric literals.
- A new (currently opt-in) IEEE 754 compliant rounding mode, activated by setting the module variable
- Deprecations
- The current rounding mode (round to nearest) is deprecated. Future releases will use the IEEE 754 compliant rounding mode. Users should set
RPE_IEEE_ROUNDING = .true.
to get the new rounding behaviour. We recommend the IEEE 754 rounding mode to ensure best results.
- The current rounding mode (round to nearest) is deprecated. Future releases will use the IEEE 754 compliant rounding mode. Users should set