xref: /inferno-os/libmath/bin/fdlibm-stubs (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsythecho '#include "real.h"' > real.c
2*37da2899SCharles.Forsyth
3*37da2899SCharles.Forsythfor(i in getFPcontrol getFPstatus){
4*37da2899SCharles.Forsyth	echo 'void'
5*37da2899SCharles.Forsyth	echo 'Real_'$i'(void *fp)'
6*37da2899SCharles.Forsyth	echo '{'
7*37da2899SCharles.Forsyth	echo '	F_Real_'$i' *f;'
8*37da2899SCharles.Forsyth	echo ''
9*37da2899SCharles.Forsyth	echo '	f = fp;'
10*37da2899SCharles.Forsyth	echo ''
11*37da2899SCharles.Forsyth	echo '	*f->ret = '$i'(f->x);'
12*37da2899SCharles.Forsyth	echo '}'
13*37da2899SCharles.Forsyth	echo ''
14*37da2899SCharles.Forsyth} >> real.c
15*37da2899SCharles.Forsyth
16*37da2899SCharles.Forsythfor(i in finite ilogb isnan acos acosh asin asinh atan atanh cbrt ceil cos cosh erf erfc exp expm1 fabs floor j0 j1 log log10 log1p rint sin sinh sqrt tan tanh y0 y1){
17*37da2899SCharles.Forsyth	echo 'void'
18*37da2899SCharles.Forsyth	echo 'Real_'$i'(void *fp)'
19*37da2899SCharles.Forsyth	echo '{'
20*37da2899SCharles.Forsyth	echo '	F_Real_'$i' *f;'
21*37da2899SCharles.Forsyth	echo ''
22*37da2899SCharles.Forsyth	echo '	f = fp;'
23*37da2899SCharles.Forsyth	echo ''
24*37da2899SCharles.Forsyth	echo '	*f->ret = '$i'(f->x);'
25*37da2899SCharles.Forsyth	echo '}'
26*37da2899SCharles.Forsyth	echo ''
27*37da2899SCharles.Forsyth} >> real.c
28*37da2899SCharles.Forsyth
29*37da2899SCharles.Forsythfor(i in fdim fmax fmin fmod hypot nextafter pow){
30*37da2899SCharles.Forsyth	echo 'void'
31*37da2899SCharles.Forsyth	echo 'Real_'$i'(void *fp)'
32*37da2899SCharles.Forsyth	echo '{'
33*37da2899SCharles.Forsyth	echo '	F_Real_'$i' *f;'
34*37da2899SCharles.Forsyth	echo ''
35*37da2899SCharles.Forsyth	echo '	f = fp;'
36*37da2899SCharles.Forsyth	echo ''
37*37da2899SCharles.Forsyth	echo '	*f->ret = '$i'(f->x, f->x);'
38*37da2899SCharles.Forsyth	echo '}'
39*37da2899SCharles.Forsyth	echo ''
40*37da2899SCharles.Forsyth} >> real.c
41*37da2899SCharles.Forsyth
42*37da2899SCharles.Forsyth
43*37da2899SCharles.ForsythFPcontrol	fn(r, mask: int) of int;
44*37da2899SCharles.ForsythFPstatus	fn(r, mask: int) of int;
45*37da2899SCharles.Forsythatan2		fn(y, x: real) of real;
46*37da2899SCharles.Forsythcopysign	fn(x, s: real) of real;
47*37da2899SCharles.Forsythjn		fn(n: int; x: real) of real;
48*37da2899SCharles.Forsythlgamma		fn(x: real) of (int,real);
49*37da2899SCharles.Forsythmodf		fn(x: real) of (int,real);
50*37da2899SCharles.Forsythpow10		fn(p: int) of real;
51*37da2899SCharles.Forsythremainder	fn(x, p: real) of real;
52*37da2899SCharles.Forsythscalbn		fn(x: real; n: int) of real;
53*37da2899SCharles.Forsythyn		fn(n: int; x: real) of real;
54*37da2899SCharles.Forsyth
55*37da2899SCharles.Forsythdot		fn(x, y: array of real) of real;
56*37da2899SCharles.Forsythiamax		fn(x: array of real) of int;
57*37da2899SCharles.Forsythnorm1, norm2	fn(x: array of real) of real;
58*37da2899SCharles.Forsythgemm		fn(transa, transb: byte; m, n, k: int; alpha: real; a: array of real; ai0, aj0, lda: int; b: array of real; bi0, bj0, ldb: int; beta: real; c: array of real; ci0, cj0, ldc: int);
59*37da2899SCharles.Forsyth
60*37da2899SCharles.Forsythfor(i in FPcontrol FPstatus atan2 copysign jn lgamma modf pow10 remainder scalbn yn  dot iamax norm1, norm2 gemm){
61*37da2899SCharles.Forsyth	echo 'void'
62*37da2899SCharles.Forsyth	echo 'Real_'$i'(void *fp)'
63*37da2899SCharles.Forsyth	echo '{'
64*37da2899SCharles.Forsyth	echo '	F_Real_'$i' *f;'
65*37da2899SCharles.Forsyth	echo ''
66*37da2899SCharles.Forsyth	echo '	f = fp;'
67*37da2899SCharles.Forsyth	echo ''
68*37da2899SCharles.Forsyth	echo '	*f->ret = '$i'(f->x, f->x);'
69*37da2899SCharles.Forsyth	echo '}'
70*37da2899SCharles.Forsyth	echo ''
71*37da2899SCharles.Forsyth} >> real.c
72