core-math merge requestshttps://gitlab.inria.fr/core-math/core-math/-/merge_requests2024-08-08T16:23:32+02:00https://gitlab.inria.fr/core-math/core-math/-/merge_requests/75Backport faster expl fastpath into exp2l2024-08-08T16:23:32+02:00CORBINEAU SélèneBackport faster expl fastpath into exp2lPerformance gains are mitigated because exp2l
needs exact case detection. This is however
still an improvement over the current version.Performance gains are mitigated because exp2l
needs exact case detection. This is however
still an improvement over the current version.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/74Add dry option to check.sh, fix shadowing warnings on binary32 functions2024-08-06T14:12:00+02:00CORBINEAU SélèneAdd dry option to check.sh, fix shadowing warnings on binary32 functionsWith new option --dry, check.sh compiles the test files
but does not execute them. This is intended for quick
scripted debugging of compile-time errors/warnings.
-Wshadowing is added as a default warning. The binary32
functions are patch...With new option --dry, check.sh compiles the test files
but does not execute them. This is intended for quick
scripted debugging of compile-time errors/warnings.
-Wshadowing is added as a default warning. The binary32
functions are patched to not trigger shadowing warnings.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/73sincosf2024-08-03T01:42:44+02:00Alexei Sibidanovsincosfhttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/72Implement expl()2024-08-01T09:26:28+02:00CORBINEAU SélèneImplement expl()Implemented cr_expl() which gives correct rounding.
Full BaCSeL coverage is pending.Implemented cr_expl() which gives correct rounding.
Full BaCSeL coverage is pending.CORBINEAU SélèneCORBINEAU Sélènehttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/70performance boost for atan22024-07-31T20:51:00+02:00Alexei Sibidanovperformance boost for atan2https://gitlab.inria.fr/core-math/core-math/-/merge_requests/71Make Sage scripts self-sufficient2024-07-31T11:02:24+02:00CORBINEAU SélèneMake Sage scripts self-sufficientUp to now, the various Sage scripts needed functions which were not included
in the repository. These were added in src/generic/support/common.sage
Documentation was added pointing users to this supporting script.Up to now, the various Sage scripts needed functions which were not included
in the repository. These were added in src/generic/support/common.sage
Documentation was added pointing users to this supporting script.CORBINEAU SélèneCORBINEAU Sélènehttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/69powf: fix the failures for './check.sh --worst powf' tests2024-07-26T19:05:16+02:00Alexei Sibidanovpowf: fix the failures for './check.sh --worst powf' testshttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/68As rsqrtl2024-07-24T04:03:55+02:00Alexei SibidanovAs rsqrtlhttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/67hypot: fix transition to the next binade during the search for correctly...2024-07-17T17:32:15+02:00Alexei Sibidanovhypot: fix transition to the next binade during the search for correctly...hypot: fix transition to the next binade during the search for correctly rounded result. Make the starting value even smaller to accomodate the roundup mode. To fix the inexact exception for an exact result unfortunately the status regis...hypot: fix transition to the next binade during the search for correctly rounded result. Make the starting value even smaller to accomodate the roundup mode. To fix the inexact exception for an exact result unfortunately the status register has to be read at the begining of the function and be restored when exact result is obtained.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/66tanpif: rework range reduction, use rational approximation for full range...2024-07-03T20:53:09+02:00Alexei Sibidanovtanpif: rework range reduction, use rational approximation for full range...tanpif: rework range reduction, use rational approximation for full range instead of the lookup tabletanpif: rework range reduction, use rational approximation for full range instead of the lookup tablehttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/65Guard additional libm functions with SKIP_C_FUNC_REDEF2024-06-20T09:28:16+02:00John MatherGuard additional libm functions with SKIP_C_FUNC_REDEFI'm looking to include core-math into an external application as a shared library. In order to make sure that all of the math functions go through core-math and not libm, I have redefined all of the cr_xxx functions as their libm counter...I'm looking to include core-math into an external application as a shared library. In order to make sure that all of the math functions go through core-math and not libm, I have redefined all of the cr_xxx functions as their libm counterparts. When doing so however, I ran into duplicate function definition errors due to these redefinitions inside core-math. By guarding them with SKIP_C_FUNC_REDEF, the errors are resolved.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/64Instead of saving register state and restoring it when result is exact, check...2024-05-15T21:24:50+02:00Alexei SibidanovInstead of saving register state and restoring it when result is exact, check...Instead of saving register state and restoring it when result is exact, check at the begining of the function that the argument is 10^n and return n immediately before the register state is altered.Instead of saving register state and restoring it when result is exact, check at the begining of the function that the argument is 10^n and return n immediately before the register state is altered.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/60Fix spurious inexact exception for arguments less than 1.2024-04-29T12:56:34+02:00Alexei SibidanovFix spurious inexact exception for arguments less than 1.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/61Add missing floating point inexect exception.2024-04-29T12:50:59+02:00Alexei SibidanovAdd missing floating point inexect exception.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/63Fix spurious inexact exception for zero argument. It slighty affect performance.2024-04-29T12:48:43+02:00Alexei SibidanovFix spurious inexact exception for zero argument. It slighty affect performance.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/62Fix spurious inexact exceptions for exact results. This fix affect performance...2024-04-29T12:46:59+02:00Alexei SibidanovFix spurious inexact exceptions for exact results. This fix affect performance...Fix spurious inexact exceptions for exact results. This fix affect performance since we need to identify integer arguments of the function.Fix spurious inexact exceptions for exact results. This fix affect performance since we need to identify integer arguments of the function.https://gitlab.inria.fr/core-math/core-math/-/merge_requests/57expm1: optimization based on current exp implementation2024-03-07T19:07:28+01:00Alexei Sibidanovexpm1: optimization based on current exp implementationhttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/59acos: lookup table size optimization using double angle range reduction2024-02-19T20:39:28+01:00Alexei Sibidanovacos: lookup table size optimization using double angle range reductionhttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/58log1p: optimized version -- speed and object size2024-02-02T19:17:06+01:00Alexei Sibidanovlog1p: optimized version -- speed and object sizehttps://gitlab.inria.fr/core-math/core-math/-/merge_requests/55Further optimized exp function2024-01-06T02:24:13+01:00Alexei SibidanovFurther optimized exp functionexp: simplify range reduction, simplify denormal rounding checks, improve precision around zero thus reducing database entries, reduce database by packing results into a bit structure.exp: simplify range reduction, simplify denormal rounding checks, improve precision around zero thus reducing database entries, reduce database by packing results into a bit structure.