summaryrefslogtreecommitdiff
path: root/libm/double
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-05-10 00:40:28 +0000
committerEric Andersen <andersen@codepoet.org>2001-05-10 00:40:28 +0000
commit1077fa4d772832f77a677ce7fb7c2d513b959e3f (patch)
tree579bee13fb0b58d2800206366ec2caecbb15f3fc /libm/double
parent22358dd7ce7bb49792204b698f01a6f69b9c8e08 (diff)
uClibc now has a math library. muahahahaha!
-Erik
Diffstat (limited to 'libm/double')
-rw-r--r--libm/double/Makefile115
-rw-r--r--libm/double/README.txt5845
-rw-r--r--libm/double/acosh.c167
-rw-r--r--libm/double/airy.c965
-rw-r--r--libm/double/arcdot.c110
-rw-r--r--libm/double/asin.c324
-rw-r--r--libm/double/asinh.c165
-rw-r--r--libm/double/atan.c393
-rw-r--r--libm/double/atanh.c156
-rw-r--r--libm/double/bdtr.c263
-rw-r--r--libm/double/bernum.c74
-rw-r--r--libm/double/beta.c201
-rw-r--r--libm/double/btdtr.c64
-rw-r--r--libm/double/cbrt.c142
-rw-r--r--libm/double/chbevl.c82
-rw-r--r--libm/double/chdtr.c200
-rw-r--r--libm/double/cheby.c149
-rw-r--r--libm/double/clog.c1043
-rw-r--r--libm/double/cmplx.c461
-rw-r--r--libm/double/coil.c63
-rw-r--r--libm/double/const.c252
-rw-r--r--libm/double/cosh.c83
-rw-r--r--libm/double/cpmul.c104
-rw-r--r--libm/double/dawsn.c392
-rw-r--r--libm/double/dcalc.c1512
-rw-r--r--libm/double/dcalc.h77
-rw-r--r--libm/double/dtestvec.c543
-rw-r--r--libm/double/ei.c1062
-rw-r--r--libm/double/eigens.c181
-rw-r--r--libm/double/ellie.c148
-rw-r--r--libm/double/ellik.c148
-rw-r--r--libm/double/ellpe.c195
-rw-r--r--libm/double/ellpj.c171
-rw-r--r--libm/double/ellpk.c234
-rw-r--r--libm/double/eltst.c37
-rw-r--r--libm/double/euclid.c251
-rw-r--r--libm/double/exp.c203
-rw-r--r--libm/double/exp10.c223
-rw-r--r--libm/double/exp2.c183
-rw-r--r--libm/double/expn.c208
-rw-r--r--libm/double/fabs.c56
-rw-r--r--libm/double/fac.c263
-rw-r--r--libm/double/fdtr.c237
-rw-r--r--libm/double/fftr.c237
-rw-r--r--libm/double/floor.c453
-rw-r--r--libm/double/fltest.c272
-rw-r--r--libm/double/fltest2.c18
-rw-r--r--libm/double/fltest3.c259
-rw-r--r--libm/double/fresnl.c515
-rw-r--r--libm/double/gamma.c685
-rw-r--r--libm/double/gdtr.c130
-rw-r--r--libm/double/gels.c232
-rw-r--r--libm/double/hyp2f1.c460
-rw-r--r--libm/double/hyperg.c386
-rw-r--r--libm/double/i0.c397
-rw-r--r--libm/double/i1.c402
-rw-r--r--libm/double/igam.c210
-rw-r--r--libm/double/igami.c187
-rw-r--r--libm/double/incbet.c409
-rw-r--r--libm/double/incbi.c313
-rw-r--r--libm/double/isnan.c237
-rw-r--r--libm/double/iv.c116
-rw-r--r--libm/double/j0.c543
-rw-r--r--libm/double/j1.c515
-rw-r--r--libm/double/jn.c133
-rw-r--r--libm/double/jv.c884
-rw-r--r--libm/double/k0.c333
-rw-r--r--libm/double/k1.c335
-rw-r--r--libm/double/kn.c255
-rw-r--r--libm/double/kolmogorov.c243
-rw-r--r--libm/double/levnsn.c82
-rw-r--r--libm/double/log.c341
-rw-r--r--libm/double/log10.c250
-rw-r--r--libm/double/log2.c348
-rw-r--r--libm/double/lrand.c86
-rw-r--r--libm/double/lsqrt.c85
-rw-r--r--libm/double/ltstd.c469
-rw-r--r--libm/double/minv.c61
-rw-r--r--libm/double/mod2pi.c122
-rw-r--r--libm/double/monot.c308
-rw-r--r--libm/double/mtherr.c102
-rw-r--r--libm/double/mtransp.c61
-rw-r--r--libm/double/mtst.c464
-rw-r--r--libm/double/nbdtr.c222
-rw-r--r--libm/double/ndtr.c481
-rw-r--r--libm/double/ndtri.c417
-rw-r--r--libm/double/paranoia.c2156
-rw-r--r--libm/double/pdtr.c184
-rw-r--r--libm/double/planck.c223
-rw-r--r--libm/double/polevl.c97
-rw-r--r--libm/double/polmisc.c309
-rw-r--r--libm/double/polrt.c227
-rw-r--r--libm/double/polylog.c467
-rw-r--r--libm/double/polyn.c471
-rw-r--r--libm/double/polyr.c533
-rw-r--r--libm/double/pow.c756
-rw-r--r--libm/double/powi.c186
-rw-r--r--libm/double/psi.c201
-rw-r--r--libm/double/revers.c156
-rw-r--r--libm/double/rgamma.c209
-rw-r--r--libm/double/round.c70
-rw-r--r--libm/double/setprec.c10
-rw-r--r--libm/double/shichi.c599
-rw-r--r--libm/double/sici.c675
-rw-r--r--libm/double/simpsn.c81
-rw-r--r--libm/double/simq.c180
-rw-r--r--libm/double/sin.c387
-rw-r--r--libm/double/sincos.c364
-rw-r--r--libm/double/sindg.c308
-rw-r--r--libm/double/sinh.c148
-rw-r--r--libm/double/spence.c205
-rw-r--r--libm/double/sqrt.c178
-rw-r--r--libm/double/stdtr.c225
-rw-r--r--libm/double/struve.c312
-rw-r--r--libm/double/tan.c304
-rw-r--r--libm/double/tandg.c267
-rw-r--r--libm/double/tanh.c141
-rw-r--r--libm/double/time-it.c38
-rw-r--r--libm/double/unity.c138
-rw-r--r--libm/double/yn.c114
-rw-r--r--libm/double/zeta.c189
-rw-r--r--libm/double/zetac.c599
122 files changed, 42510 insertions, 0 deletions
diff --git a/libm/double/Makefile b/libm/double/Makefile
new file mode 100644
index 000000000..be3c5878a
--- /dev/null
+++ b/libm/double/Makefile
@@ -0,0 +1,115 @@
+# Makefile for uClibc's math library
+#
+# Copyright (C) 2001 by Lineo, inc.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library General Public License
+# along with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Derived in part from the Linux-8086 C library, the GNU C Library, and several
+# other sundry sources. Files within this library are copyright by their
+# respective copyright holders.
+
+TOPDIR=../../
+include $(TOPDIR)Rules.mak
+
+LIBM=../libm.a
+TARGET_CC= $(TOPDIR)/extra/gcc-uClibc/$(TARGET_ARCH)-uclibc-gcc
+
+CSRC=acosh.c airy.c asin.c asinh.c atan.c atanh.c bdtr.c beta.c \
+ btdtr.c cbrt.c chbevl.c chdtr.c clog.c cmplx.c const.c \
+ cosh.c dawsn.c ei.c ellie.c ellik.c ellpe.c ellpj.c ellpk.c \
+ exp.c exp10.c exp2.c expn.c fabs.c fac.c fdtr.c \
+ fresnl.c gamma.c gdtr.c hyp2f1.c hyperg.c i0.c i1.c igami.c incbet.c \
+ incbi.c igam.c isnan.c iv.c j0.c j1.c jn.c jv.c k0.c k1.c kn.c kolmogorov.c \
+ log.c log2.c log10.c lrand.c nbdtr.c ndtr.c ndtri.c pdtr.c planck.c \
+ polevl.c polmisc.c polylog.c polyn.c pow.c powi.c psi.c rgamma.c round.c \
+ shichi.c sici.c sin.c sindg.c sinh.c spence.c stdtr.c struve.c \
+ tan.c tandg.c tanh.c unity.c yn.c zeta.c zetac.c \
+ sqrt.c floor.c setprec.c mtherr.c
+
+COBJS=$(patsubst %.c,%.o, $(CSRC))
+
+
+OBJS=$(COBJS)
+
+all: $(OBJS) $(LIBM)
+
+$(LIBM): ar-target
+
+ar-target: $(OBJS)
+ $(AR) $(ARFLAGS) $(LIBM) $(OBJS)
+
+$(COBJS): %.o : %.c
+ $(TARGET_CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(OBJ): Makefile
+
+clean:
+ rm -f *.[oa] *~ core
+
+
+
+#-----------------------------------------
+
+#all: libmd.a mtst dtestvec monot dcalc paranoia
+
+time-it: time-it.o
+ $(CC) -o time-it time-it.o
+
+time-it.o: time-it.c
+ $(CC) -O2 -c time-it.c
+
+dcalc: dcalc.o libmd.a
+ $(CC) -o dcalc dcalc.o libmd.a
+
+mtst: mtst.o libmd.a
+ $(CC) -v -o mtst mtst.o libmd.a
+
+mtst.o: mtst.c
+ $(CC) -O2 -Wall -c mtst.c
+
+dtestvec: dtestvec.o libmd.a
+ $(CC) -o dtestvec dtestvec.o libmd.a
+
+dtestvec.o: dtestvec.c
+ $(CC) -g -c dtestvec.c
+
+monot: monot.o libmd.a
+ $(CC) -o monot monot.o libmd.a
+
+monot.o: monot.c
+ $(CC) -g -c monot.c
+
+paranoia: paranoia.o setprec.o libmd.a
+ $(CC) -o paranoia paranoia.o setprec.o libmd.a
+
+paranoia.o: paranoia.c
+ $(CC) $(CFLAGS) -Wno-implicit -c paranoia.c
+
+libmd.a: $(OBJS) $(INCS)
+ $(AR) rv libmd.a $(OBJS)
+
+#clean:
+# rm -f *.o
+# rm -f mtst
+# rm -f paranoia
+# rm -f dcalc
+# rm -f dtestvec
+# rm -f monot
+# rm -f libmd.a
+# rm -f time-it
+# rm -f dtestvec
+
+
diff --git a/libm/double/README.txt b/libm/double/README.txt
new file mode 100644
index 000000000..f2cb6c3dc
--- /dev/null
+++ b/libm/double/README.txt
@@ -0,0 +1,5845 @@
+/* acosh.c
+ *
+ * Inverse hyperbolic cosine
+ *
+ *
+ *
+ * SYNOPSIS:
+ *
+ * double x, y, acosh();
+ *
+ * y = acosh( x );
+ *
+ *
+ *
+ * DESCRIPTION:
+ *
+ * Returns inverse hyperbolic cosine of argument.
+ *
+ * If 1 <= x < 1.5, a rational approximation
+ *
+ * sqrt(z) * P(z)/Q(z)
+ *
+ * where z = x-1, is used. Otherwise,