Repository navigation
0.6.1
Release Notes
Upgrading from (0.6.0)
We are not aware of any breaking changes.
User-facing library changes
✨ CUDA support for more math functions (#745)
We added support for abs, arccos/arcsin/arctan/arctan2,
hypot, cos/sin/tan, fmod/remainder, rounding functions, and
sqrt.
✨ User-defined literal improvements (#747, #748, #798)
Many literals now return ZERO where appropriate. This includes
0_mag, and also unit literals such as 0_s. Additionally, we now
support octal (010_mag is 8), binary (0b101_mag is 5), and
hexadecimal (0xFF_mag is 255) syntax for literals, including
hexadecimal floating point literals (0x1.8p1_mag is 3) for C++17
users. This fixes a bug where 010_mag was previously interpreted as
10, which was inconsistent with 010.
✨ Constant and Zero supported in fmod and others (#744, #785)
This lets you do something like the following:
constexpr auto FULL_TURN = make_constant(revolution);
const auto wrapped = fmod(angle, FULL_TURN);In this call, FULL_TURN automatically adapts to the units and rep of
angle! This now works for remainder and copysign too.
✨ Add explicit-rep "as" versions for rounding Constant (#746)
The goal is to help Constant "feel like" a Quantity in more
situations. Whereas implicit-rep "as" functions turn a Constant to
another Constant, the new explicit-rep versions produce a Quantity.
✨ Enable comparing quantity-like type to Constant, Zero (#764)
You can now compare any type with CorrespondingQuantity to
a Constant. This includes all chrono durations, whose
CorrespondingQuantity machinery is provided out of the box by Au.
🐛 Certain QuantityPoint overload sets were broken (#762)
This was a weird and obscure one. The overload sets that were broken
were any that differed only in the units of their QuantityPoint
argument, with at least two different dimensions, and at least one
custom (nonzero) origin. We've now fixed this.
🐛 Other bugfixes:
Compile time impact
Overall, the new features in 0.6.1 cost about 5 ms of compile time per
translation unit, relative to 0.6.0. See comments in #806 for more
detailed measurements.
Documentation updates
- Corresponding quantity comparison (#793)
- Magnitude literals documentation (#797, #802)
- New
Constantrounding functions (#774) - Improved
Zeroergonomics (#773) - Shapeshifter types in more math functions (#768)
- Unit origin updates (#796)
Repo updates
- Improved CI coverage robustness for bazel/CMake correspondence (#782)
Future-proofing releases
-
🚀
0.6.1-future-714: release covering #714- This commit removes all APIs with the word "coerce" in their name.
To fix build errors, first, delete thecoerce_part of the name.
Then, if you get a compiler error, read the error to see what risk
set the library has flagged, and refer to our conversion risk guide
https://aurora-opensource.github.io/au/0.6.1/troubleshooting/#risk-too-high
to see how to handle this specific instance.
- This commit removes all APIs with the word "coerce" in their name.
-
🚀
0.6.1-future-715: release covering #715- This commit makes
ScalarOfTraitspecialization required for
every type that doesn't already work automatically. See our trait
specialization docs
https://aurora-opensource.github.io/au/0.6.1/reference/rep/#specializing-scalaroftrait
for more details.
- This commit makes
-
🚀
0.6.1-future-733: release covering #733- This commit deletes all "
T-suffixed" names (e.g.,UnitProductT
instead ofUnitProduct) from the library. The fix is generally to
use the version without theTsuffix.
- This commit deletes all "
Closed Issues
Here are all of the issues that were closed between these releases.
(Note that the resolution is at the level of days, so some of these
issues might show up in the notes for more than one release.)
Contributors
Thanks to those who authored or reviewed PRs, or filed or participated
in Issues! Alphabetically:
Artifacts and SHA256 sums
| Artifact | Role | SHA256 sum |
|---|---|---|
au-0.6.1.tar.gz |
Main release | 40c4ecf782bfc7fa7aa14ccd8d10fcc93e195ff6b2bcdcc9a0d95c75f0c76a04 |
au-0.6.1-future-714.tar.gz |
Future-proof for #714 | b80408b3017f89a11236085d2f8b418503baf72af567129ecd7caeb825b6ea71 |
au-0.6.1-future-715.tar.gz |
Future-proof for #715 | 4defc64a3548779f58bfde3ccda1a2f4d15fab4edb70a157cae075da237ad3ad |
au-0.6.1-future-733.tar.gz |
Future-proof for #733 | fa05e38dcc835c6fc3b156905b39afe39d25f33e464e4f822f9fe48a9d93e2f1 |
au-0.6.1-future.tar.gz |
Complete future-proof release | e8ee16ec40a646fb3a516da663dfb5038ea0f2bba0ba2b9a902861e5781f9151 |