summaryrefslogtreecommitdiff
path: root/libmath/bin/fdlibm-stubs
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
commit37da2899f40661e3e9631e497da8dc59b971cbd0 (patch)
treecbc6d4680e347d906f5fa7fca73214418741df72 /libmath/bin/fdlibm-stubs
parent54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff)
20060303a
Diffstat (limited to 'libmath/bin/fdlibm-stubs')
-rw-r--r--libmath/bin/fdlibm-stubs71
1 files changed, 71 insertions, 0 deletions
diff --git a/libmath/bin/fdlibm-stubs b/libmath/bin/fdlibm-stubs
new file mode 100644
index 00000000..4b7574f9
--- /dev/null
+++ b/libmath/bin/fdlibm-stubs
@@ -0,0 +1,71 @@
+echo '#include "real.h"' > real.c
+
+for(i in getFPcontrol getFPstatus){
+ echo 'void'
+ echo 'Real_'$i'(void *fp)'
+ echo '{'
+ echo ' F_Real_'$i' *f;'
+ echo ''
+ echo ' f = fp;'
+ echo ''
+ echo ' *f->ret = '$i'(f->x);'
+ echo '}'
+ echo ''
+} >> real.c
+
+for(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){
+ echo 'void'
+ echo 'Real_'$i'(void *fp)'
+ echo '{'
+ echo ' F_Real_'$i' *f;'
+ echo ''
+ echo ' f = fp;'
+ echo ''
+ echo ' *f->ret = '$i'(f->x);'
+ echo '}'
+ echo ''
+} >> real.c
+
+for(i in fdim fmax fmin fmod hypot nextafter pow){
+ echo 'void'
+ echo 'Real_'$i'(void *fp)'
+ echo '{'
+ echo ' F_Real_'$i' *f;'
+ echo ''
+ echo ' f = fp;'
+ echo ''
+ echo ' *f->ret = '$i'(f->x, f->x);'
+ echo '}'
+ echo ''
+} >> real.c
+
+
+FPcontrol fn(r, mask: int) of int;
+FPstatus fn(r, mask: int) of int;
+atan2 fn(y, x: real) of real;
+copysign fn(x, s: real) of real;
+jn fn(n: int; x: real) of real;
+lgamma fn(x: real) of (int,real);
+modf fn(x: real) of (int,real);
+pow10 fn(p: int) of real;
+remainder fn(x, p: real) of real;
+scalbn fn(x: real; n: int) of real;
+yn fn(n: int; x: real) of real;
+
+dot fn(x, y: array of real) of real;
+iamax fn(x: array of real) of int;
+norm1, norm2 fn(x: array of real) of real;
+gemm 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);
+
+for(i in FPcontrol FPstatus atan2 copysign jn lgamma modf pow10 remainder scalbn yn dot iamax norm1, norm2 gemm){
+ echo 'void'
+ echo 'Real_'$i'(void *fp)'
+ echo '{'
+ echo ' F_Real_'$i' *f;'
+ echo ''
+ echo ' f = fp;'
+ echo ''
+ echo ' *f->ret = '$i'(f->x, f->x);'
+ echo '}'
+ echo ''
+} >> real.c