Aditya Chincholkar
dfc3d021c6
Fix #10513 - powmod is slow for ulong ( #10688 )
...
Co-authored-by: Iain Buclaw <ibuclaw@gdcproject.org>
2025-03-27 17:54:57 +08:00
Dennis
a6ad1522a5
Move std.math.exponential.pow
implementation outside template ( #9019 )
...
* Move `std.math.exponential.pow` implementation outside template
* Fix compilation on Mac
2024-07-03 10:22:25 +03:00
Dennis Korpel
312a86d741
Mark std.math.exponential.pow @safe
2024-07-01 01:20:46 +02:00
Dennis Korpel
2bb54df391
Move floatTraits to std.math.traits
2024-01-09 13:00:50 +01:00
Iain Buclaw
65e380c339
std.math.exponential: Fix wrong placement of 1.0 in log1p coefficient
2023-03-11 14:52:06 +01:00
Iain Buclaw
f2ac205a9d
std.math.exponential: Disable use of fyl2x and fyl2xp1 intrinsics on dmd/macOS port
2023-03-03 01:42:36 +01:00
Iain Buclaw
e74d997522
fix Issue 23750 - log1p for floats/doubles not actually providing extra accuracy
2023-03-01 12:13:52 +01:00
Iain Buclaw
a33d048302
std.math.exponential: Fix log10 coefficient order
2023-02-20 20:39:50 +01:00
Iain Buclaw
2a62b4c798
std.math.exponential: Add deprecations for calling log family functions with an integral argument
2022-12-13 00:56:49 +01:00
Iain Buclaw
8e799c14dc
std.math.exponential: Implement log/log2/log10 for double- and float-precision
2022-12-12 19:59:05 +01:00
Iain Buclaw
ff16d73e4c
std.math.exponential: Fix coefficients for log2 and log10
2022-07-05 23:24:50 +00:00
Iain Buclaw
0497537e22
std.math.exponential: Split generic logN implementations to own impl templates
2022-07-05 10:37:31 +02:00
Iain Buclaw
682e16d3ec
std.math.exponential: Implement pure logb() for double and float precision
2022-07-04 23:48:56 +00:00
Luís Ferreira
a56287dd8b
chore(math/exponential): avoid import constants if not InlineAsm_X87
...
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2022-05-09 18:44:14 +00:00
Martin Kinkelin
06037a25b4
std.math.exponential: Minimally relax a pow() unittest for targets with 64-bit real
...
Required since #7783 .
2021-06-03 07:56:03 +00:00
Martin Kinkelin
8946209a9b
Revert #7823 - Faster pow implementation for integral exponents
...
There are multiple issues with that commit, incl. out-of-bounds read
on x86 systems and a significant performance decrease for qualified
floating-point types; see #8124 for a full list of flaws.
I'm questioning the tackled goal in the first place, because I expect
users to use that `pow` mainly with small integral exponents, *not*
expecting underflows to 0 or overflows to ±infinity, so optimizing
for these cases and sacrificing performance for the regular case doesn't
make a lot of sense to me.
2021-06-03 09:57:57 +09:00
Martin Kinkelin
0a685c19ac
std.math: Fix missing imports for non-x87 real after split-up
2021-05-29 14:48:17 +02:00
Iain Buclaw
52699fc020
std.math: Adjust whitespace of a few unittests
2021-05-11 09:14:14 +02:00
Nathan Sashihara
efced87ae8
Again use core.math intrinsics instead of std.math wrappers
...
As in PR #7821 & PR #7825 . Mostly changes imports
from std.math being divided into submodules.
2021-05-04 15:59:34 +02:00
Iain Buclaw
1d0da90d82
std.math.exponential: Fix imports for non-INLINE_YL2X path
2021-04-30 02:15:43 +02:00
berni44
7f42447274
std.math: Move powmod to exponential submodule.
2021-04-20 04:54:59 +02:00
berni44
0c4dcb32a0
Narrow imports in std.math.
2021-04-19 22:32:55 +02:00
berni44
bb2432fdb4
Replace equalsDigit with isClose
2021-04-17 16:59:34 +02:00
berni44
64398c058f
std.math: Move exponential functions into exponential submodule.
2021-04-14 16:18:20 +02:00
berni44
59f78a2ae8
std.math: Move pow function into submodule.
2021-04-12 02:43:35 +02:00
berni44
7031340f5f
Add empty submodules to std.math.
2021-04-04 11:56:27 +02:00