blob: 7c6811be0a07cfc709b9c0524f566c8f7eaeeb69 [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
Szabolcs Nagy11253b02018-11-12 11:10:57 +00005provided by Arm under MIT License (See LICENSE). Contributions
Szabolcs Nagy78892282018-04-24 17:10:05 +01006to 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).