Skip to content

Version 0.2.0

Choose a tag to compare

@neilkichler neilkichler released this 30 Jul 16:40
· 145 commits to main since this release

Full Changelog: v0.1.0...v0.2.0

Added std::numbers and std::format overloads for cu::interval.

std::numbers support:

It is allowed by the standard to overload the numbers (pi, e, ln2, etc.) and is now possible to do for cu::interval.
Just use, e.g., std::numbers::pi_v<cu::interval<double>> to get the smallest interval that still contains the real
pi value. This will not just be a point interval with std::numbers::pi_v because pi (and all the other numbers
in std::numbers) cannot be represented in IEEE-754 floating-point numbers.

The same numbers are also accessible from within the cu:: namespace.

std::format support:

Now supports using std::format with the cu::interval type. For example,

std::format("interval: {}", cu::interval<double>{1.0, 2.0});

prints: interval: [1, 2].

All the format specifiers that the underlying type T of cu::interval supports are also supported for cu::interval.
For example,

std::format("interval: {:.4f}", cu::interval<double>{1.0, 2.0});

prints: interval: [1.0000, 2.0000].