Skip to content

Releases: aopp-pred/rpe

v5.0.0

20 Sep 09:22
Compare
Choose a tag to compare

Change summary

  • The default value for RPE_DEFAULT_SBITS has changed to 52, previously it was 23. This change means that by default all rpe_var types behave like double precision real 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 the RPE_IEEE_HALF option turned on.
  • The huge intrinsic has been reimplemented for rpe_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 and RPE_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 to RPE_IEEE_ROUNDING = .true.. There is no option to change to the behaviour of RPE_IEEE_ROUNDING = .false..

v4.1.1

24 Aug 08:35
Compare
Choose a tag to compare

This release is a minor update to the documentation to clarify what will change in the v5.0 release. The source code has not changed, and there is no need to upgrade from v4.1.0.

v4.1.0

22 Aug 18:02
Compare
Choose a tag to compare

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.
  • 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.