Skip to content

v5.0.0

Latest
Compare
Choose a tag to compare
@ajdawson ajdawson released this 20 Sep 09:22
· 10 commits to master since this release

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