blob: c5de9bfe708b9fd7fff17940c81f3180e87c5d4a [file] [log] [blame]
Szabolcs Nagy78892282018-04-24 17:10:05 +01001Arm Optimized Routines
2----------------------
George Landerda55ef92015-11-19 12:05:06 +00003
Szabolcs Nagy78892282018-04-24 17:10:05 +01004This repository contains implementations of math library functions
5provided by Arm under Apache License 2.0 (See LICENSE). Contributions
6to this project are accepted, but the terms will need negotiation (so
7relicensing and copyright assignment to the FSF is possible later).
George Landerda55ef92015-11-19 12:05:06 +00008
Szabolcs Nagy78892282018-04-24 17:10:05 +01009Source code layout:
George Landerda55ef92015-11-19 12:05:06 +000010
Szabolcs Nagy78892282018-04-24 17:10:05 +010011auxiliary/ - design tools.
12build/ - build directory (created by make).
13math/ - math library source.
14math/include/ - math library public headers.
15math/single/ - code for cpu with only single precision support.
16test/ - test related source.
17test/rtest/ - test generator (requires mpfr and mpc).
18test/testcases/ - test cases.
George Landerda55ef92015-11-19 12:05:06 +000019
Szabolcs Nagy78892282018-04-24 17:10:05 +010020The steps to build the library and run the tests:
George Landerda55ef92015-11-19 12:05:06 +000021
Szabolcs Nagy78892282018-04-24 17:10:05 +010022cp config.mk.dist config.mk
23# edit config.mk if necessary ...
George Landerda55ef92015-11-19 12:05:06 +000024make
25make check
26
Szabolcs Nagy78892282018-04-24 17:10:05 +010027Or building outside of the source directory:
George Landerda55ef92015-11-19 12:05:06 +000028
Szabolcs Nagy78892282018-04-24 17:10:05 +010029ln -s path/to/src/Makefile Makefile
30cp path/to/src/config.mk.dist config.mk
31echo 'srcdir = path/to/src' >> config.mk
32# further edits to config.mk
33make
34make check
George Landerda55ef92015-11-19 12:05:06 +000035
Szabolcs Nagy78892282018-04-24 17:10:05 +010036The test system requires libmpfr and libmpc.
George Landerda55ef92015-11-19 12:05:06 +000037
Szabolcs Nagy78892282018-04-24 17:10:05 +010038For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR
39should be set for cross testing (e.g. using qemu-user or remote access
40to a target machine), see the examples in config.mk.dist.
George Landerda55ef92015-11-19 12:05:06 +000041
Szabolcs Nagy78892282018-04-24 17:10:05 +010042The script "remez.jl" was used to generate some of the coefficients
43(see comments in the code).