Skip to content

glucat-0.9.0

Pre-release
Pre-release

Choose a tag to compare

@penguian penguian released this 21 Dec 06:38
· 164 commits to master since this release

GluCat has revised promotion, truncation and printing

GluCat 0.9.0 introduces some changes that improve usability of the results, but produce bit-for-bit different output when compared to previous versions.

  • Promotion of Scalar_T now increases the number of floating point mantissa bits on all tested architectures, including ARM v8. Demotion is the reverse.
  • The default limit for the truncated() member function is now std::numeric_limits<Scalar_T>::epsilon().
  • The constructor from framed_multi<> to matrix_multi<> now uses the default truncation before the transform, and the constructor from matrix_multi<> to framed_multi<> uses the default truncation after the transform.
  • The truncation of output via operator<<() now depends on ostream precision(). See test17 for examples.

Some GluCat classes now have new member functions.

  • clifford_algebra<>, framed_multi<>, matrix_multi<>: isinf(), operator-=()`.
  • index_set<> reference: operator==().

The function isinf() has also been added to matrix.h and matrix_imp.h.

GluCat header code is now modernized. Compilation now requires C++11.

What's Changed

  • Modernize C++ header code by @penguian in #19
  • Make headers more self-contained by @penguian in #21
  • Make promotion monotonic: add glucat/promotion.h by @penguian in #23
  • Fix clang-tidy bugprone issues by @penguian in #25
  • Add multivector isinf to match isnan by @penguian in #27
  • Add multivector isinf to match isnan -- final 3 commits by @penguian in #29
  • Update branch to match updated master by @penguian in #30
  • Make default truncation depend on scalar type by @penguian in #31
  • Issue 32 use truncation in transforms and printing by @penguian in #33
  • Issue 34 use range based for loops by @penguian in #35
  • Update test results and documentation for version 0.9.0 by @penguian in #37

Full Changelog: https://github.com/penguian/glucat/commits/release_0_9_0