From de3ac97b641a6681754115301126f9b4230ee47e Mon Sep 17 00:00:00 2001 From: Stuart Swales <stuart.swales@croftnuisk.co.uk> Date: Fri, 5 Nov 2021 21:42:04 +0000 Subject: [PATCH] Fix for modff() yielding wrong results Detail: modff() single precision function yielded wrong results for both fractional and integral part for most numbers because the wrong exponent bias was subtracted. Version 6.10. Tagged as 'RISC_OSLib-6_10' --- VersionASM | 8 ++++---- VersionNum | 14 +++++++------- c/math | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/VersionASM b/VersionASM index 529489f..7d4ce40 100644 --- a/VersionASM +++ b/VersionASM @@ -9,12 +9,12 @@ GBLS Module_ApplicationDate GBLS Module_HelpVersion GBLS Module_ComponentName -Module_MajorVersion SETS "6.09" -Module_Version SETA 609 +Module_MajorVersion SETS "6.10" +Module_Version SETA 610 Module_MinorVersion SETS "" Module_Date SETS "13 Nov 2021" Module_ApplicationDate SETS "13-Nov-21" Module_ComponentName SETS "RISC_OSLib" -Module_FullVersion SETS "6.09" -Module_HelpVersion SETS "6.09 (13 Nov 2021)" +Module_FullVersion SETS "6.10" +Module_HelpVersion SETS "6.10 (13 Nov 2021)" END diff --git a/VersionNum b/VersionNum index 7e84118..3e41257 100644 --- a/VersionNum +++ b/VersionNum @@ -1,14 +1,14 @@ -/* (6.09) +/* (6.10) * * This file is automatically maintained by srccommit, do not edit manually. * */ -#define Module_MajorVersion_CMHG 6.09 +#define Module_MajorVersion_CMHG 6.10 #define Module_MinorVersion_CMHG #define Module_Date_CMHG 13 Nov 2021 -#define Module_MajorVersion "6.09" -#define Module_Version 609 +#define Module_MajorVersion "6.10" +#define Module_Version 610 #define Module_MinorVersion "" #define Module_Date "13 Nov 2021" @@ -16,6 +16,6 @@ #define Module_ComponentName "RISC_OSLib" -#define Module_FullVersion "6.09" -#define Module_HelpVersion "6.09 (13 Nov 2021)" -#define Module_LibraryVersionInfo "6:9" +#define Module_FullVersion "6.10" +#define Module_HelpVersion "6.10 (13 Nov 2021)" +#define Module_LibraryVersionInfo "6:10" diff --git a/c/math b/c/math index e87d047..f7098db 100644 --- a/c/math +++ b/c/math @@ -946,7 +946,7 @@ float modff(float value, float *iptr) return value; } x.s = value; - if ((exponent = x.i.x - 0xff) < 0) + if ((exponent = x.i.x - 0x7f) < 0) { *iptr = copysignf(0.0F, value); return value; } -- GitLab