History log of /llvm-project/libc/src/math/generic/expm1.cpp (Results 1 – 22 of 22)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# 9da08714 22-Jul-2024 Michael Jones <michaelrj@google.com>

[libc][NFC] clean up some includes (#99719)

While looking through the list of includes for #99693 I found these
includes that also need to be cleaned up. I removed the extra includes
in expm1.cpp, b

[libc][NFC] clean up some includes (#99719)

While looking through the list of includes for #99693 I found these
includes that also need to be cleaned up. I removed the extra includes
in expm1.cpp, but the include in thread.h needs more attention so I just
marked it with a todo.

show more ...


# 5ff3ff33 12-Jul-2024 Petr Hosek <phosek@google.com>

[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)

This is a part of #97655.


# ce9035f5 12-Jul-2024 Mehdi Amini <joker.eph@gmail.com>

Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)

Reverts llvm/llvm-project#98075

bots are broken


# 3f30effe 11-Jul-2024 Petr Hosek <phosek@google.com>

[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)

This is a part of #97655.


# 46c7da63 10-Jul-2024 lntue <35648136+lntue@users.noreply.github.com>

[libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)

The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --

[libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)

The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --rndn mode...
FAIL x=0x1.c3b93d3b25c91p+8 ref=0x1.9fb21849affd1p+651 z=0x1.9f921849affd1p+651
Running worst cases check in --rndz mode...
FAIL x=0x1.d6479eba7c971p+8 ref=0x1.62a88613629b5p+678 z=0x1.62a886135e9b5p+678
Running worst cases check in --rndu mode...
FAIL x=0x1.1f0da93354198p+7 ref=0x1.0bd73b73fc74dp+207 z=0x1.0bd73b73fc74cp+207
Running worst cases check in --rndd mode...
FAIL x=0x1.93b3037166891p+8 ref=0x1.554f3a5c4535cp+582 z=0x1.554f3a5c4535bp+582
```
```
tan
Running worst cases check in --rndn mode...
FAIL x=0x1.00452f0e0134dp-13 ref=0x1.00452f2367da9p-13 z=0x1.00452f2367daap-13
Running worst cases check in --rndz mode...
FAIL x=0x1.89f0f5241255bp-2 ref=0x1.9e997dd861117p-2 z=0x1.9e997dd861118p-2
FAIL x=0x1.045457ae3994p+5 ref=0x1.0c06941768ef3p+1 z=0x1.0c06941768ef4p+1
```

show more ...


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3
# 2137894a 20-Mar-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Move `Sign` type to separate header (#85930)


Revision tags: llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3
# a80a01fc 16-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81998)

- #81835
- Fix for platforms where uint64_t is not available


# a1d4c693 15-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)

Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.


# 513e4dc1 15-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)

This is a reland of #81746


# 78d401b0 14-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

Revert "[libc][NFC] Use user defined literals to build 128 and 256 bit constants." (#81771)

Reverts llvm/llvm-project#81746


# 411554a3 14-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Use user defined literals to build 128 and 256 bit constants. (#81746)


Revision tags: llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# 6b02d2f8 23-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc] Remove unnecessary `FPBits` functions and properties (#79128)

- reland #79113
- Fix aarch64 RISC-V build


# b524eed9 23-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

Revert "[libc] Remove unnecessary `FPBits` functions and properties" (#79118)

Reverts llvm/llvm-project#79113
It broke aarch64 build bot machines.


# 3bc86bf3 23-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Remove unnecessary `FPBits` functions and properties (#79113)

This patch reduces the surface of `FPBits`.


# e6a6a90f 18-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Use the Sign type for DyadicFloat (#78577)


# 11ec512f 18-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Introduce a Sign type for FPBits (#78500)

Another patch is needed to cover `DyadicFloat` and `NormalFloat`
constructors.


# c09e6905 03-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Remove `FloatProperties` (#76508)

Access is now done through `FPBits` exclusively.
This patch also renames a few internal structs and uses `T` instead of
`FP` as a template parameter.


# 3caef466 02-Jan-2024 lntue <35648136+lntue@users.noreply.github.com>

[libc][NFC] Enforce internal linkage for exp* support functions. (#76250)


# ea43c8ee 19-Dec-2023 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Make `EXP_MANT_MASK` an implementation detail (#75810)

This mask is an implementation detail of `FPBits` and shouldn't really
leak outside of it.


# 1b4a0794 19-Dec-2023 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Use FPBits builders instead of custom constructs (#75942)


# 3546f4da 15-Dec-2023 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)

This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better

[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)

This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better name
here. AFAICT it really is "the number of bits after the decimal dot when
the number is in normal form."

`MANTISSA_WIDTH` is less precise as it's unclear whether we take the
leading bit into account.
This patch also renames most of the properties to use the `_LEN` suffix
and fixes useless casts or variables.

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2
# da28593d 28-Sep-2023 lntue <35648136+lntue@users.noreply.github.com>

[libc][math] Implement double precision expm1 function correctly rounded for all rounding modes. (#67048)

Implementing expm1 function for double precision based on exp function
algorithm:

- Red

[libc][math] Implement double precision expm1 function correctly rounded for all rounding modes. (#67048)

Implementing expm1 function for double precision based on exp function
algorithm:

- Reduced x = log2(e) * (hi + mid1 + mid2) + lo, where:
* hi is an integer
* mid1 * 2^-6 is an integer
* mid2 * 2^-12 is an integer
* |lo| < 2^-13 + 2^-30
- Then exp(x) - 1 = 2^hi * 2^mid1 * 2^mid2 * exp(lo) - 1 ~ 2^hi *
(2^mid1 * 2^mid2 * (1 + lo * P(lo)) - 2^(-hi) )
- We evaluate fast pass with P(lo) is a degree-3 Taylor polynomial of
(e^lo - 1) / lo in double precision
- If the Ziv accuracy test fails, we use degree-6 Taylor polynomial of
(e^lo - 1) / lo in double double precision
- If the Ziv accuracy test still fails, we re-evaluate everything in
128-bit precision.

show more ...