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