81 lines
1.9 KiB
Bash
81 lines
1.9 KiB
Bash
#!/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"
|
|
}
|
|
|
|
import_c DUMMY libm_support.h libm_support.h
|
|
import_c DUMMY libm_error.c libm_error.c
|
|
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
|