1#!/bin/sh
2
3libm_dir=$1
4
5import() {
6	# $1 = name
7	# $2 = source file-name
8	# $3 = destination file-name
9	echo "$1 $libm_dir/$2 $3"
10}
11
12import_c() {
13	# $1 = name
14	# $2 = source file-name
15	# $3 = destination file-name
16	echo "$1 $libm_dir/$2 $3"
17}
18
19dummy_files="
20libm_cpu_defs.h
21libm_error_codes.h
22libm_support.h
23libm_error.c
24"
25
26for f in $dummy_files
27do
28  import_c DUMMY $f $f
29done
30
31import_c scalblnf scalblnf.c s_scalblnf.c
32
33for f in acos acosh asin atanh cosh exp2 exp10 fmod log2 pow remainder \
34	 scalb sinh sqrt; do
35 for t in "" f l; do
36  import $f$t $f$t.s e_$f$t.S
37 done
38done
39
40for f in atan2 exp; do
41 for t in "" f; do
42  import $f$t $f$t.s e_$f$t.S
43 done
44done
45import "atan" atan.s s_atan.S
46import "atanf" atanf.s s_atanf.S
47import "atan(2)?l" atanl.s s_atanl.S
48import "exp(m1)?l" expl_m1.s s_expm1l.S
49
50for t in "" f l; do
51  import "log(10)?$t" log$t.s e_log$t.S
52  import tgamma$t tgamma$t.s w_tgamma$t.S
53  import "(hypot|cabs)$t" hypot$t.s e_hypot$t.S
54done
55
56for f in asinh cbrt ceil erf erfc fabs floor \
57	 ilogb log1p logb modf nearbyint nextafter nexttoward \
58	 rint round significand fdim fma fmax tanh trunc; do
59 for t in "" f l; do
60  import $f$t $f$t.s s_$f$t.S
61 done
62done
63
64for t in "" f l; do
65  import "(tan|cot)$t" tancot$t.s s_tan$t.S
66done
67
68for t in "" f l; do
69  import "(sin|cos)$t" sincos$t.s s_cos$t.S
70  import_c frexp$t frexp$t.c s_frexp$t.c
71  import_c ldexp$t ldexp$t.c s_ldexp$t.c
72  import_c scalbn$t scalbn$t.c s_scalbn$t.c
73done
74
75import expm1 exp_m1.s s_expm1.S
76import expm1f expf_m1.s s_expm1f.S
77
78for f in frexp frexpf frexpl reduce; do
79  import __libm_$f libm_$f.s libm_$f.S
80done
81
82for t in "" f l; do
83  import __libm_ldexp$t libm_ldexp$t.s s_libm_ldexp$t.S
84  import "(__libm_)?(sincos|cis)$t" libm_sincos$t.s libm_sincos$t.S
85  import __libm_lgamma$t libm_lgamma$t.s libm_lgamma$t.S
86  import __libm_scalbn$t libm_scalbn$t.s s_libm_scalbn$t.S
87done
88import __libm_scalblnf libm_scalblnf.s libm_scalblnf.S
89import "__libm_(sin|cos|sincos)_large" libm_sincos_large.s \
90	libm_sincos_large.S
91