blob: b8bd6a54f37487411e0f1bef2f640c0ce41ba26d [file] [log] [blame]
#!/bin/sh
libm_dir=$1
import() {
# $1 = name
# $2 = source file-name
# $3 = destination file-name
echo "$1 $libm_dir/$2 $3"
}
import_c() {
# $1 = name
# $2 = source file-name
# $3 = destination file-name
echo "$1 $libm_dir/$2 $3"
}
dummy_files="
libm_cpu_defs.h
libm_error_codes.h
libm_support.h
libm_error.c
"
for f in $dummy_files
do
import_c DUMMY $f $f
done
import_c scalblnf scalblnf.c s_scalblnf.c
for f in acos acosh asin atanh cosh exp2 exp10 fmod log2 pow remainder \
scalb sinh sqrt; do
for t in "" f l; do
import $f$t $f$t.s e_$f$t.S
done
done
for f in atan2 exp; do
for t in "" f; do
import $f$t $f$t.s e_$f$t.S
done
done
import "atan" atan.s s_atan.S
import "atanf" atanf.s s_atanf.S
import "atan(2)?l" atanl.s s_atanl.S
import "exp(m1)?l" expl_m1.s s_expm1l.S
for t in "" f l; do
import "log(10)?$t" log$t.s e_log$t.S
import tgamma$t tgamma$t.s w_tgamma$t.S
import "(hypot|cabs)$t" hypot$t.s e_hypot$t.S
done
for f in asinh cbrt ceil erf erfc fabs floor \
ilogb log1p logb modf nearbyint nextafter nexttoward \
rint round significand fdim fma fmax tanh trunc; do
for t in "" f l; do
import $f$t $f$t.s s_$f$t.S
done
done
for t in "" f l; do
import "(tan|cot)$t" tancot$t.s s_tan$t.S
done
for t in "" f l; do
import "(sin|cos)$t" sincos$t.s s_cos$t.S
import_c frexp$t frexp$t.c s_frexp$t.c
import_c ldexp$t ldexp$t.c s_ldexp$t.c
import_c scalbn$t scalbn$t.c s_scalbn$t.c
done
import expm1 exp_m1.s s_expm1.S
import expm1f expf_m1.s s_expm1f.S
for f in frexp frexpf frexpl reduce; do
import __libm_$f libm_$f.s libm_$f.S
done
for t in "" f l; do
import __libm_ldexp$t libm_ldexp$t.s s_libm_ldexp$t.S
import "(__libm_)?(sincos|cis)$t" libm_sincos$t.s libm_sincos$t.S
import __libm_lgamma$t libm_lgamma$t.s libm_lgamma$t.S
import __libm_scalbn$t libm_scalbn$t.s s_libm_scalbn$t.S
done
import __libm_scalblnf libm_scalblnf.s libm_scalblnf.S
import "__libm_(sin|cos|sincos)_large" libm_sincos_large.s \
libm_sincos_large.S