1echo '#include "real.h"' > real.c 2 3for(i in getFPcontrol getFPstatus){ 4 echo 'void' 5 echo 'Real_'$i'(void *fp)' 6 echo '{' 7 echo ' F_Real_'$i' *f;' 8 echo '' 9 echo ' f = fp;' 10 echo '' 11 echo ' *f->ret = '$i'(f->x);' 12 echo '}' 13 echo '' 14} >> real.c 15 16for(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 echo 'void' 18 echo 'Real_'$i'(void *fp)' 19 echo '{' 20 echo ' F_Real_'$i' *f;' 21 echo '' 22 echo ' f = fp;' 23 echo '' 24 echo ' *f->ret = '$i'(f->x);' 25 echo '}' 26 echo '' 27} >> real.c 28 29for(i in fdim fmax fmin fmod hypot nextafter pow){ 30 echo 'void' 31 echo 'Real_'$i'(void *fp)' 32 echo '{' 33 echo ' F_Real_'$i' *f;' 34 echo '' 35 echo ' f = fp;' 36 echo '' 37 echo ' *f->ret = '$i'(f->x, f->x);' 38 echo '}' 39 echo '' 40} >> real.c 41 42 43FPcontrol fn(r, mask: int) of int; 44FPstatus fn(r, mask: int) of int; 45atan2 fn(y, x: real) of real; 46copysign fn(x, s: real) of real; 47jn fn(n: int; x: real) of real; 48lgamma fn(x: real) of (int,real); 49modf fn(x: real) of (int,real); 50pow10 fn(p: int) of real; 51remainder fn(x, p: real) of real; 52scalbn fn(x: real; n: int) of real; 53yn fn(n: int; x: real) of real; 54 55dot fn(x, y: array of real) of real; 56iamax fn(x: array of real) of int; 57norm1, norm2 fn(x: array of real) of real; 58gemm 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 60for(i in FPcontrol FPstatus atan2 copysign jn lgamma modf pow10 remainder scalbn yn dot iamax norm1, norm2 gemm){ 61 echo 'void' 62 echo 'Real_'$i'(void *fp)' 63 echo '{' 64 echo ' F_Real_'$i' *f;' 65 echo '' 66 echo ' f = fp;' 67 echo '' 68 echo ' *f->ret = '$i'(f->x, f->x);' 69 echo '}' 70 echo '' 71} >> real.c 72