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