Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 1 | Arm Optimized Routines |
| 2 | ---------------------- |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 3 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 4 | This repository contains implementations of math library functions |
Szabolcs Nagy | 11253b0 | 2018-11-12 11:10:57 +0000 | [diff] [blame] | 5 | provided by Arm under MIT License (See LICENSE). Contributions |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 6 | to this project are accepted, but the terms will need negotiation (so |
| 7 | relicensing and copyright assignment to the FSF is possible later). |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 8 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 9 | Source code layout: |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 10 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 11 | auxiliary/ - design tools. |
| 12 | build/ - build directory (created by make). |
| 13 | math/ - math library source. |
| 14 | math/include/ - math library public headers. |
| 15 | math/single/ - code for cpu with only single precision support. |
| 16 | test/ - test related source. |
| 17 | test/rtest/ - test generator (requires mpfr and mpc). |
| 18 | test/testcases/ - test cases. |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 19 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 20 | The steps to build the library and run the tests: |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 21 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 22 | cp config.mk.dist config.mk |
| 23 | # edit config.mk if necessary ... |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 24 | make |
| 25 | make check |
| 26 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 27 | Or building outside of the source directory: |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 28 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 29 | ln -s path/to/src/Makefile Makefile |
| 30 | cp path/to/src/config.mk.dist config.mk |
| 31 | echo 'srcdir = path/to/src' >> config.mk |
| 32 | # further edits to config.mk |
| 33 | make |
| 34 | make check |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 35 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 36 | The test system requires libmpfr and libmpc. |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 37 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 38 | For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR |
| 39 | should be set for cross testing (e.g. using qemu-user or remote access |
| 40 | to a target machine), see the examples in config.mk.dist. |
George Lander | da55ef9 | 2015-11-19 12:05:06 +0000 | [diff] [blame] | 41 | |
Szabolcs Nagy | 7889228 | 2018-04-24 17:10:05 +0100 | [diff] [blame] | 42 | The script "remez.jl" was used to generate some of the coefficients |
| 43 | (see comments in the code). |