Skip to content

Latest commit

 

History

History
134 lines (97 loc) · 3.13 KB

CHANGELOG.md

File metadata and controls

134 lines (97 loc) · 3.13 KB

Change Log FastTrig

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[0.3.3] - 2023-11-02

  • update readme.md
  • update keywords.txt
  • update changelog.md

[0.3.2] - 2022-12-20

  • fix changelog
  • fix #25 change reference parameters to pointer
    • isincos(float f, float *si, float *co)
    • isincos256(uint32_t v, int *si, int *co);
    • fix examples

[0.3.1] - 2022-12-18

  • add hypotFast
  • add examples hypotFast
  • update readme.md

[0.3.0] - 2022-12-11

  • add isin256(), icos256() and isincos256() => integer math only version
  • add isincos(float f, float &si, float &co) => calculate sin and cos simultaneously.
  • fix rounding bug when mirroring 90° for remainder.
  • add examples.
  • update documentation.
  • update library.properties.

[0.2.1] - 2022-12-05

  • add atanFast(x) => faster and less accurate than atan(). Input range (-1..1) is fastest.
  • add atan2Fast(y, x) => faster and less accurate. calls atanFast() + offset.
  • add example to measure performance atanFast
  • update readme.md
  • update keywords.txt

[0.2.0] - 2022-12-02

  • merged PR #16 for ESP_IDF support
  • added <stdint.h>
  • added <stdbool.h>
  • renamed isinTable to sinTable for readability (breaking change)
  • edits code for readability
  • fix itan(90) now returns NAN instead of 0.

[0.1.11] - 2022-11-02

  • add changelog.md
  • add rp2040 to build-CI
  • moved version info from readme.md to changelog
  • no functional changes

[0.1.10] - 2022-04-15

  • fix #12
  • split .h in .h and .cpp Needed in case of more complex projects.

[0.1.9] - 2021-12-18

  • update Arduino-CI, badges,
  • update library.json
  • minor edits

[0.1.8] - 2021-08-10

  • made % 180 conditional in itan() => performance gain
  • added icot() cotangent.

[0.1.7] - 2021-04-23

-fix for PlatformIO

[0.1.6] - 2020-12-23

  • Arduino-CI + unit tests

[0.1.5] - 2020-09-11

  • fixed optimize
  • new table
  • added iasin() and iacos()

In (0.1.4) an error was found in the optimize algorithm, so for 0.1.5 it was ran again and accuracy improved for isin() and icos(). However itan() lost a (smaller) bit. The gain outweighs the loss and so new table is kept.

Performance has not changed.

An initial version of a reverse lookup for iasin(val) and iacos(val) is added, as it uses the same isintable16[] interpolation table.

There is no atan() or atan2() replacement.

[0.1.4] - 2020-09-08

  • rewrite itan()
  • cleanup
  • examples

The library (0.1.4) provides an itan() which improved accuracy upon the (0.1.3) version and performance for the ESP32.
Performance on AVR (UNO) is still an issue, accuracy is OK.

[0.1.3] - 2020-09-07

  • initial release.

[0.1.2] - 2020-09-06

  • optimize 16 bit table with example sketch

[0.1.1] - 2020-08-30

  • refactor
  • create a library out of it.
  • itan() approximation is bad.

eons passed


[0.1.02] - 2011-08-20

  • added interpolation

[0.1.01] - 2011-08-18

  • improved tables a bit
  • changed param to float

[0.1.00] - 2011-08-18

  • initial version