John McFarlane
John McFarlane
As per [p1841r1](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1841r1.pdf) * remove support for numeric_limits and replace with individually-specialisable traits from P1841R1, * move definitions from _num_traits.h_ into numbers. * more set_tag, set_rep etc. to _impl/wrapper/ *...
Hypothesis: CMake toolchain files are not the right place to customise the build; they are for configuring toolchains only. There are other, more appropriate ways to vary builds in the...
Consider: ```c++ static_assert(identical( elastic_fixed_point{1.5}
**What would you like to see in CNL?** As per [feedback in Cologne](https://github.com/johnmcfarlane/papers/issues/41), replace `elastic_integer` with two types: 1. A `promotion_integer` type which auto-widens, taking a family as its only...
**Describe the bug:** Generally, elastic_integer should not support modulo behavior and this attribute should always be false -- even for `Rep` types for which it is true.
**Describe the bug:** Occurs when printing the number, not during multiplication. **To Reproduce:** https://godbolt.org/z/ojK9vY3Wf
Surprisingly, I don't think this is supported. E.g. ```c++ using modulo_integer = cnl::overflow_integer; using numeric_limits = cnl::numeric_limits; static_assert(identical(numeric_limits::lowest(), numeric_limits::max() + 1)); ``` Add this tag!
[Example](https://godbolt.org/z/5Mfzfv) resulting in opaque error: ```c++ auto negative(cnl::scaled_integer s) { return s < 0; } ``` Worse, `elastic_integer` [doesn't seem to help](https://godbolt.org/z/bMhe1a): ```c++ #include auto negative(cnl::scaled_integer s) { return s...
`2e2_cnl` should be equivalent to `200_cnl`. This shouldn't be too difficult to implement. (Famous last words.) https://godbolt.org/z/YhxW6a53o