Skip to content

Releases: tomcombriat/FixMath

v1.0.3

08 Apr 19:50
7aaa4a6
Compare
Choose a tag to compare

This adds the wonderful possibility to construct UFix and SFix types from constant integers, with the size of the fixed point math type automatically determined by FixMath, thanks to @tfry-git !

For example:

auto a = UFixAuto<3>(); // leads to a UFix<2,0>
auto b = SFixAuto<15>(); // leads to a SFix<4,0>

What's Changed

  • Draft: better construction of UFix from compile time constants by @tfry-git in #12

Full Changelog: v1.0.2...v1.0.3

v1.0.2

04 Apr 17:13
947351e
Compare
Choose a tag to compare

Small bugfix in the auto-adjust of NI for SFix types.

What's Changed

Full Changelog: v1.0.1...v1.0.2

v1.0.1

03 Apr 22:05
Compare
Choose a tag to compare

New release of FixMath. In brief:

  • constexpr are now used in a lot of places, allowoing for more optimization from the compiler and automatic tests that the library behaves correctly, thanks to @tfry-git
  • invAccurate is now accurate, the old behavior has been replaced with invFull
  • an helper function has been added to help asserting the size of a FixMath type at compile time. auto is encouraged but this gives a way to prevent unexpected (for the programmer) type promotion. Thanks to @tfry-git .
  • Bug fix
  • Added possibility to convert a FixMath to an C++ int (or int8_t, int16_t, uint8_t, etc) by truncating the fractional part.

Below a more automatic changelog.

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.0.1

Initial Release of FixMath

22 Feb 21:04
Compare
Choose a tag to compare

Initial release of FixMath, a fixed point arithmetic library targeted for Arduino and cie boards.

This provides an alternative to float and double types, while using integer type under the hood which provides a performance gain for microcontrollers lacking a floating point unit.

Promotion of the internal types is processed internally and at compile time. Using standard operations between FixMath types ensures that precision is kept and overflows are avoided. FixMath tries to be conservative and do not promote types when not needed.

What's Changed

New Contributors

Full Changelog: https://github.com/tomcombriat/FixMath/commits/v1.0.0