circuitpython/lib
Jeff Epler d3fb6c96da libm: ef_rem_pio2.c: Save ROM-tables at the expense of speed
This function computes the remainder of a value `x` modulo pi/2, to high
precision.

It does this by dividing the flotaing point values into several ranges
by magnitude, and applies successively slower but more accurate algorithms.

The last two steps, one covering values up to around 2^7 * pi/2
(called "medium size") and a final one covering all possible float values,
require big tables.

By eliminating the "medium size" case, a table and some code are removed
from the binary.  This makes some cases take longer, but saves hundreds
of bytes.  It does _NOT_ affect the result, only the speed.

```
[desktop python]
>>> sum(math.sin(2.**i) for i in range(21))
1.4206898748939305

[trinket m0, before change to ef_rem_pio2.c]
>>> sum(math.sin(2.**i) for i in range(21))
1.42069

[trinket m0, after change to ef_rem_pio2.c]
>>> sum(math.sin(2.**i) for i in range(21))
1.42069
```
2020-08-04 14:45:45 -05:00
..
axtls@43a6e6bd3b WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
berkeley-db-1.xx@35aaec4418 berkeley-db-1.xx: Update, allow to override MINCACHE, DEFPSIZE. 2017-09-10 13:51:51 +03:00
cmsis/inc lib/cmsis: upgrade CMSIS-CORE to V4.30 2016-09-30 16:19:03 +10:00
embed Two fixes and translate more strings. 2018-08-09 13:29:30 -07:00
libc Add license to some obvious files. 2020-07-06 19:16:25 +01:00
libffi@e9de7e35f2 lib/libffi: Add libffi as a submodule. 2015-10-17 15:52:35 +03:00
libm libm: ef_rem_pio2.c: Save ROM-tables at the expense of speed 2020-08-04 14:45:45 -05:00
libm_dbl Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
memzip Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
mp-readline Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mp3@bc58a65496 lib/mp3: update to 1.2.2 release 2020-07-09 10:05:08 -05:00
netutils Add license to some obvious files. 2020-07-06 19:16:25 +01:00
nrfutil@9e7dfb28a5 update nrfutil to 0.5.2d with singlebank option 2018-05-17 15:20:07 +07:00
oofatfs Add license to some obvious files. 2020-07-06 19:16:25 +01:00
protomatter@761d6437e8 Check out active protomatter PR 2020-07-16 12:08:40 -04:00
timeutils Add license to some obvious files. 2020-07-06 19:16:25 +01:00
tinytest Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
tinyusb@22100b252f update tinyusb to commit 22100b252 2020-07-29 19:18:46 +07:00
upytesthelper lib/upytesthelper: MicroPython test helper layer on top of tinytest. 2017-12-13 09:07:51 +02:00
utils Add license to some obvious files. 2020-07-06 19:16:25 +01:00
uzlib@f966da0fab uzlib: Upgrade to uzlib v2.9 release 2018-09-09 20:22:25 -05:00
README.md lib: Add basic README. 2014-09-18 00:13:03 +01:00

This directory contains standard, low-level C libraries with emphasis on being independent and efficient. They can be used by any port.