summaryrefslogtreecommitdiff
path: root/testsuites/libtests/mathf/domathf.c
diff options
context:
space:
mode:
authorcvs2git <rtems-devel@rtems.org>2011-03-18 10:11:42 +0000
committercvs2git <rtems-devel@rtems.org>2011-03-18 10:11:42 +0000
commite371ea9949ecc8897f4cb34437cc6590a0fc51f0 (patch)
treee5d17499fe12fc87c9697d681b63b062e9cbb65a /testsuites/libtests/mathf/domathf.c
parent83dcd23af45446b24fe12e5bce29432debe6d0b5 (diff)
This commit was manufactured by cvs2svn to create tag 'rtems-4-10-0'.4.10.0
Sprout from rtems-4-10-branch 2011-02-08 15:56:24 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'Ensure all version instances say 4.10.' Cherrypick from rtems-4-10-branch 2011-03-18 10:11:41 UTC cvs2git <rtems-devel@rtems.org> 'This commit was manufactured by cvs2svn to create branch': cpukit/zlib/ChangeLog cpukit/zlib/ChangeLog.zlib cpukit/zlib/FAQ cpukit/zlib/Makefile.am cpukit/zlib/README cpukit/zlib/adler32.c cpukit/zlib/compress.c cpukit/zlib/crc32.c cpukit/zlib/deflate.c cpukit/zlib/deflate.h cpukit/zlib/doc/algorithm.txt cpukit/zlib/gzclose.c cpukit/zlib/gzguts.h cpukit/zlib/gzlib.c cpukit/zlib/gzread.c cpukit/zlib/gzwrite.c cpukit/zlib/infback.c cpukit/zlib/inffast.c cpukit/zlib/inflate.c cpukit/zlib/inflate.h cpukit/zlib/inftrees.c cpukit/zlib/inftrees.h cpukit/zlib/trees.c cpukit/zlib/uncompr.c cpukit/zlib/zconf.h cpukit/zlib/zlib.3 cpukit/zlib/zlib.h cpukit/zlib/zutil.c cpukit/zlib/zutil.h testsuites/libtests/mathf/.cvsignore testsuites/libtests/mathf/Makefile.am testsuites/libtests/mathf/domathf.c testsuites/libtests/mathf/init.c testsuites/libtests/mathf/mathf.scn
Diffstat (limited to 'testsuites/libtests/mathf/domathf.c')
-rw-r--r--testsuites/libtests/mathf/domathf.c281
1 files changed, 281 insertions, 0 deletions
diff --git a/testsuites/libtests/mathf/domathf.c b/testsuites/libtests/mathf/domathf.c
new file mode 100644
index 0000000000..6d99ae1883
--- /dev/null
+++ b/testsuites/libtests/mathf/domathf.c
@@ -0,0 +1,281 @@
+/*
+ * Copyright (c) 2010 by
+ * Ralf Corsepius, Ulm/Germany. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software
+ * is freely granted, provided that this notice is preserved.
+ */
+
+/*
+ * Try to compile and link against POSIX math routines.
+ */
+
+#include <math.h>
+#include <stdio.h>
+
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923
+#endif
+
+#ifndef M_PI_4
+#define M_PI_4 0.78539816339744830962
+#endif
+
+void
+domathf (void)
+{
+#ifndef NO_FLOAT
+ float f1;
+ float f2;
+
+ int i1;
+
+ f1 = acosf(0.0);
+ fprintf( stdout, "acosf : %f\n", f1);
+
+ f1 = acoshf(0.0);
+ fprintf( stdout, "acoshf : %f\n", f1);
+
+ f1 = asinf(1.0);
+ fprintf( stdout, "asinf : %f\n", f1);
+
+ f1 = asinhf(1.0);
+ fprintf( stdout, "asinhf : %f\n", f1);
+
+ f1 = atanf(M_PI_4);
+ fprintf( stdout, "atanf : %f\n", f1);
+
+ f1 = atan2f(2.3, 2.3);
+ fprintf( stdout, "atan2f : %f\n", f1);
+
+ f1 = atanhf(1.0);
+ fprintf( stdout, "atanhf : %f\n", f1);
+
+ f1 = cbrtf(27.0);
+ fprintf( stdout, "cbrtf : %f\n", f1);
+
+ f1 = ceilf(3.5);
+ fprintf( stdout, "ceilf : %f\n", f1);
+
+ f1 = copysignf(3.5, -2.5);
+ fprintf( stdout, "copysignf : %f\n", f1);
+
+ f1 = cosf(M_PI_2);
+ fprintf( stdout, "cosf : %f\n", f1);
+
+ f1 = coshf(M_PI_2);
+ fprintf( stdout, "coshf : %f\n", f1);
+
+ f1 = erff(42.0);
+ fprintf( stdout, "erff : %f\n", f1);
+
+ f1 = erfcf(42.0);
+ fprintf( stdout, "erfcf : %f\n", f1);
+
+ f1 = expf(0.42);
+ fprintf( stdout, "expf : %f\n", f1);
+
+ f1 = exp2f(0.42);
+ fprintf( stdout, "exp2f : %f\n", f1);
+
+ f1 = expm1f(0.00042);
+ fprintf( stdout, "expm1f : %f\n", f1);
+
+ f1 = fabsf(-1.123);
+ fprintf( stdout, "fabsf : %f\n", f1);
+
+ f1 = fdimf(1.123, 2.123);
+ fprintf( stdout, "fdimf : %f\n", f1);
+
+ f1 = floorf(0.5);
+ fprintf( stdout, "floorf : %f\n", f1);
+ f1 = floorf(-0.5);
+ fprintf( stdout, "floorf : %f\n", f1);
+
+ f1 = fmaf(2.1, 2.2, 3.01);
+ fprintf( stdout, "fmaf : %f\n", f1);
+
+ f1 = fmaxf(-0.42, 0.42);
+ fprintf( stdout, "fmaxf : %f\n", f1);
+
+ f1 = fminf(-0.42, 0.42);
+ fprintf( stdout, "fminf : %f\n", f1);
+
+ f1 = fmodf(42.0, 3.0);
+ fprintf( stdout, "fmodf : %f\n", f1);
+
+ /* no type-specific variant */
+ i1 = fpclassify(1.0);
+ fprintf( stdout, "fpclassify : %d\n", i1);
+
+ f1 = frexpf(42.0, &i1);
+ fprintf( stdout, "frexpf : %f\n", f1);
+
+ f1 = hypotf(42.0, 42.0);
+ fprintf( stdout, "hypotf : %f\n", f1);
+
+ i1 = ilogbf(42.0);
+ fprintf( stdout, "ilogbf : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isfinite(3.0);
+ fprintf( stdout, "isfinite : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isgreater(3.0, 3.1);
+ fprintf( stdout, "isgreater : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isgreaterequal(3.0, 3.1);
+ fprintf( stdout, "isgreaterequal : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isinf(3.0);
+ fprintf( stdout, "isinf : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isless(3.0, 3.1);
+ fprintf( stdout, "isless : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = islessequal(3.0, 3.1);
+ fprintf( stdout, "islessequal : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = islessgreater(3.0, 3.1);
+ fprintf( stdout, "islessgreater : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isnan(0.0);
+ fprintf( stdout, "isnan : %d\n", i1);
+
+ /* no type-specific variant */
+ i1 = isnormal(3.0);
+ fprintf( stdout, "isnormal : %d\n", i1);
+
+ /* no type-specific variant */
+ f1 = isunordered(1.0, 2.0);
+ fprintf( stdout, "isunordered : %d\n", i1);
+
+ f1 = j0f(1.2);
+ fprintf( stdout, "j0f : %f\n", f1);
+
+ f1 = j1f(1.2);
+ fprintf( stdout, "j1f : %f\n", f1);
+
+ f1 = jnf(2,1.2);
+ fprintf( stdout, "jnf : %f\n", f1);
+
+ f1 = ldexpf(1.2,3);
+ fprintf( stdout, "ldexpf : %f\n", f1);
+
+ f1 = lgammaf(42.0);
+ fprintf( stdout, "lgammaf : %f\n", f1);
+
+ f1 = llrintf(-0.5);
+ fprintf( stdout, "llrintf : %f\n", f1);
+ f1 = llrintf(0.5);
+ fprintf( stdout, "llrintf : %f\n", f1);
+
+ f1 = llroundf(-0.5);
+ fprintf( stdout, "lroundf : %f\n", f1);
+ f1 = llroundf(0.5);
+ fprintf( stdout, "lroundf : %f\n", f1);
+
+ f1 = logf(42.0);
+ fprintf( stdout, "logf : %f\n", f1);
+
+ f1 = log10f(42.0);
+ fprintf( stdout, "log10f : %f\n", f1);
+
+ f1 = log1pf(42.0);
+ fprintf( stdout, "log1pf : %f\n", f1);
+
+ f1 = log2f(42.0);
+ fprintf( stdout, "log2f : %f\n", f1);
+
+ f1 = logbf(42.0);
+ fprintf( stdout, "logbf : %f\n", f1);
+
+ f1 = lrintf(-0.5);
+ fprintf( stdout, "lrintf : %f\n", f1);
+ f1 = lrintf(0.5);
+ fprintf( stdout, "lrintf : %f\n", f1);
+
+ f1 = lroundf(-0.5);
+ fprintf( stdout, "lroundf : %f\n", f1);
+ f1 = lroundf(0.5);
+ fprintf( stdout, "lroundf : %f\n", f1);
+
+ f1 = modff(42.0,&f2);
+ fprintf( stdout, "lmodff : %f\n", f1);
+
+ f1 = nanf("");
+ fprintf( stdout, "nanf : %f\n", f1);
+
+ f1 = nearbyintf(1.5);
+ fprintf( stdout, "nearbyintf : %f\n", f1);
+
+ f1 = nextafterf(1.5,2.0);
+ fprintf( stdout, "nextafterf : %f\n", f1);
+
+ f1 = powf(3.01, 2.0);
+ fprintf( stdout, "powf : %f\n", f1);
+
+ f1 = remainderf(3.01,2.0);
+ fprintf( stdout, "remainderf : %f\n", f1);
+
+ f1 = remquof(29.0,3.0,&i1);
+ fprintf( stdout, "remquof : %f\n", f1);
+
+ f1 = rintf(0.5);
+ fprintf( stdout, "rintf : %f\n", f1);
+ f1 = rintf(-0.5);
+ fprintf( stdout, "rintf : %f\n", f1);
+
+ f1 = roundf(0.5);
+ fprintf( stdout, "roundf : %f\n", f1);
+ f1 = roundf(-0.5);
+ fprintf( stdout, "roundf : %f\n", f1);
+
+ f1 = scalblnf(1.2,3);
+ fprintf( stdout, "scalblnf : %f\n", f1);
+
+ f1 = scalbnf(1.2,3);
+ fprintf( stdout, "scalbnf : %f\n", f1);
+
+ /* no type-specific variant */
+ i1 = signbit(1.0);
+ fprintf( stdout, "signbit : %i\n", i1);
+
+ f1 = sinf(M_PI_4);
+ fprintf( stdout, "sinf : %f\n", f1);
+
+ f1 = sinhf(M_PI_4);
+ fprintf( stdout, "sinhf : %f\n", f1);
+
+ f1 = sqrtf(9.0);
+ fprintf( stdout, "sqrtf : %f\n", f1);
+
+ f1 = tanf(M_PI_4);
+ fprintf( stdout, "tanf : %f\n", f1);
+
+ f1 = tanhf(M_PI_4);
+ fprintf( stdout, "tanhf : %f\n", f1);
+
+ f1 = tgammaf(2.1);
+ fprintf( stdout, "tgammaf : %f\n", f1);
+
+ f1 = truncf(3.5);
+ fprintf( stdout, "truncf : %f\n", f1);
+
+ f1 = y0f(1.2);
+ fprintf( stdout, "y0f : %f\n", f1);
+
+ f1 = y1f(1.2);
+ fprintf( stdout, "y1f : %f\n", f1);
+
+ f1 = ynf(3,1.2);
+ fprintf( stdout, "ynf : %f\n", f1);
+#endif
+}