[go: nahoru, domu]

Skip to content

Arduino library to manipulate IEEE754 float numbers fast. (experimental)

License

Notifications You must be signed in to change notification settings

RobTillaart/IEEE754tools

Repository files navigation

Arduino CI Arduino-lint JSON check GitHub issues

License: MIT GitHub release PlatformIO Registry

IEEE754tools

Arduino library to manipulate IEEE754 float numbers fast.

Description

IEEE754tools.h contains a collection of experimental bit-hacks to speed up a number of operations on floating point numbers on the Arduino UNO. These bit-hacks started in 2010 (oldest code found), maybe even earlier.

Related

WARNING

  • do not use this lib for production code unless you verified the correctness. Code is experimental, so use with care at your own risk.
  • If you don't need micro-second speed ups do not use these code snippets.
  • do not use for ESP32 ESP32 does things differently ==> not all code works.

Test results examples

updated for 0.2.2

example UNO ESP32
fastNegate Y Y
float2Double Y N
IEEE754_equal Y N

ESP32 - needs investigation as UNO verified code fails. (something for a long winter)

Interface

#include "IEEE754tools.h"

See .h file for details.

Operations

See examples

Future

Must

  • improve documentation
  • test with double
  • test on ESP23

Should

  • investigate other speed ups
  • bring more structure in this library

Could

  • write more examples
    • example binary transfer over Serial
    • example binary transfer over Ethernet

Wont

Support

If you appreciate my libraries, you can support the development and maintenance. Improve the quality of the libraries by providing issues and Pull Requests, or donate through PayPal or GitHub sponsors.

Thank you,