summaryrefslogtreecommitdiff
path: root/libc/test/src/__support/integer_literals_test.cpp
AgeCommit message (Collapse)Author
2024-11-05[libc][NFC] Correct test header inclusion, license (#114604)Michael Jones
Some tests were including LibcTest.h directly. Instead you should include Test.h which does proper indirection for other test frameworks we support (zxtest, gtest). Also added some license headers to tests that were missing them.
2024-04-04[reland][libc] Refactor `BigInt` (#87613)Guillaume Chatelet
This is a reland of #86137 with a fix for platforms / compiler that do not support trivially constructible int128 types.
2024-04-04Revert "[libc] Refactor `BigInt`" (#87612)Guillaume Chatelet
Reverts llvm/llvm-project#86137 Some aarch64 compilers seem to consider that `uint128_t` is not `is_trivially_constructible` which prevents `bit_cast`-ing.
2024-04-04[libc] Refactor `BigInt` (#86137)Guillaume Chatelet
This patch moves most of the multiprecision logic to the `multiword` namespace and simplifies some logic in `BigInt`. It also fully implements the mask and count functions and increases test coverage. `math_extras.h` is also reworked to make it more concise.
2024-03-08[libc] Provide `LIBC_TYPES_HAS_INT128` (#84149)Guillaume Chatelet
Umbrella bug #83182
2024-03-08[libc][NFC] Move `BigInt` out of the `cpp` namespace (#84445)Guillaume Chatelet
As noted in https://github.com/llvm/llvm-project/pull/84035#discussion_r1516817755 only files under the CPP folder should be in the `cpp` namespace.
2024-02-14[libc] Add user defined literals to initialize `BigInt` and `__uint128_t` ↵Guillaume Chatelet
constants (#81267) Adds user defined literal to construct unsigned integer constants. This is useful when constructing constants for non native C++ types like `__uint128_t` or our custom `BigInt` type.