/ docs / source-structure.org
source-structure.org
 1  * LIBM Directory Structure
 2  
 3  ** Skeleton (top level)
 4  
 5  - doc - All realtive documentation should go here
 6  - include - All headers relavent for sources
 7  - src - All sources
 8  - tests - All tests
 9  - utils - Any necessary utilities
10  - scripts - Scripts necessary for building
11  
12  ** Documentation
13  
14  Mostly recides under 'doc/' folder. 
15  
16  doc/internal - is internal reference only.
17  
18  doc/user - User manual, software developers manual etc. Released externally
19  
20  ** Source
21  
22  Contains following directories
23  
24  src/
25     ref/               - mostly reference implementations.
26     isa/avx/           - AVX only source.
27     isa/avx/gas/       - Assembly only files for GNU ASsembler (128-bit instructions)
28     isa/fma4/          - FMA4 (Buldozer) specific 
29     isa/avx/gas/       - FMA4 (Buildozer) specific hand-optimized assembly
30     isa/avx2/          - AVX2 only source.
31     isa/avx2/gas/      - Assembly only files for GNU ASsembler (256-bit version)
32     isa/avx512/        - AVX512 only source.
33     isa/avx512/gas/    - Assembly only files for GNU ASsembler (AVX512 version)
34  
35  *** Naming convention
36  v4s - Vector single precision 128-bit (4 32-bit elements)
37  v8s - Vector single-precision packed 256-bit (8 32-bit elements)
38  v2d - Vector double-precision packed 128-bit (2 64-bit elements)
39  v4d - Vector double-precision packed 256-bit (4 64-bit elements)
40  
41  
42  ** Tests
43  
44  Test Framework files are located directly under the 'tests/' folder.
45  
46  tests/
47       include/      - test related headers only.
48       lib/          - contains external libraries necessary for testing
49       lib/crlibm/   - Correctly-rounded libm
50       lib/libmcr/   - Sun-micro correctly rounde libm
51       lib/openlibm/ - Opensource libm
52       template/     - test template directory, this should be used to write new
53  			tests for new functions that are not already there.
54       exp2/         - exp2() related tests