<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-11-30)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>ralf</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>New.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/.cvsignore</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/Makefile.am</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/complex.scn?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/complex.scn</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/docomplex.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/docomplex.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/docomplex.in?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/docomplex.in</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/docomplexf.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/docomplexf.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/docomplexl.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/docomplexl.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/complex/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/complex/init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/.cvsignore</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/Makefile.am</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/domath.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/domath.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/domath.in?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/domath.in</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/domathf.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/domathf.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/domathl.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/domathl.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/math/math.scn?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/math/math.scn</font></td></tr>
</table>
<pre>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/.cvsignore:1.1
--- /dev/null   Tue Nov 30 08:11:09 2010
+++ rtems/testsuites/libtests/complex/.cvsignore        Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,2 @@
</font><font color='#000088'>+Makefile
+Makefile.in
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/Makefile.am:1.1
--- /dev/null   Tue Nov 30 08:11:09 2010
+++ rtems/testsuites/libtests/complex/Makefile.am       Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+##
+##  $Id$
+##
+
+rtems_tests_PROGRAMS = complex
+complex_SOURCES = init.c docomplex.c docomplexf.c docomplexl.c
+EXTRA_DIST = docomplex.in
+
+# FIXME: Skip long double, not yet supported in newlib
+complex_CPPFLAGS = $(AM_CPPFLAGS) -DNO_LONG_DOUBLE
+
+docomplex.c: $(srcdir)/docomplex.in
+       sed -e 's,[@]FTYPE[@],double,' \
+       -e 's,[@]FSUFFIX[@], ,g' \
+       -e 's,[@]FGUARD[@],NO_DOUBLE,' \
+       $(srcdir)/docomplex.in > $(srcdir)/docomplex.c
+
+docomplexf.c: $(srcdir)/docomplex.in
+       sed -e 's,[@]FTYPE[@],float,' \
+       -e 's,[@]FSUFFIX[@],f,g' \
+       -e 's,[@]FGUARD[@],NO_FLOAT,' \
+       $(srcdir)/docomplex.in > $(srcdir)/docomplexf.c
+
+docomplexl.c: $(srcdir)/docomplex.in
+       sed -e 's,[@]FTYPE[@],long double,' \
+       -e 's,[@]FSUFFIX[@],l,g' \
+       -e 's,%f,%Lf,g' \
+       -e 's,[@]FGUARD[@],NO_LONG_DOUBLE,' \
+       $(srcdir)/docomplex.in > $(srcdir)/docomplexl.c
+
+dist_rtems_tests_DATA = complex.scn
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+complex_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) -lm
+
+LINK_OBJS = $(complex_OBJECTS) $(complex_LDADD)
+LINK_LIBS = $(complex_LDLIBS)
+
+complex$(EXEEXT): $(complex_OBJECTS) $(complex_DEPENDENCIES)
+       @rm -f complex$(EXEEXT)
+       $(make-exe)
+
+include $(top_srcdir)/../automake/local.am
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/complex.scn:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/complex.scn       Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+*** COMPLEX MATH TEST ***
+cabs   : 1.414214
+cacos  : 0.904557 -1.061275i
+cacosh : 1.061275 0.904557i
+carg   : 0.785398
+casin  : 0.666239 1.061275i
+casinh : 1.061275 0.666239i
+catan  : 1.017222 0.402359i
+catanh : 0.402359 1.017222i
+ccos   : 0.833730 -0.988898i
+ccosh  : 0.833730 0.988898i
+cexp   : 1.468694 2.287355i
+cimag  : 1.000000
+clog   : 0.346574 0.785398i
+conj   : 1.000000 -1.000000i
+cpow   : 2.807879 1.317865i
+cproj  : 1.000000 1.000000i
+creal  : 1.000000
+csin   : 1.298458 0.634964i
+csinh  : 0.634964 1.298458i
+csqrt  : 1.098684 0.455090i
+ctan   : 0.271753 1.083923i
+ctanh  : 1.083923 0.271753i
+cabsf  : 1.414214
+cacosf : 0.904557 -1.061275i
+cacoshf: 1.061275 0.904557i
+cargf  : 0.785398
+casinf : 0.666239 1.061275i
+casinhf: 1.061275 0.666239i
+catanf : 1.017222 0.402359i
+catanhf: 0.402359 1.017222i
+ccosf  : 0.833730 -0.988898i
+ccoshf : 0.833730 0.988898i
+cexpf  : 1.468694 2.287355i
+cimagf : 1.000000
+clogf  : 0.346574 0.785398i
+conjf  : 1.000000 -1.000000i
+cpowf  : 2.807879 1.317865i
+cprojf : 1.000000 1.000000i
+crealf : 1.000000
+csinf  : 1.298458 0.634964i
+csinhf : 0.634964 1.298458i
+csqrtf : 1.098684 0.455090i
+ctanf  : 0.271753 1.083923i
+ctanhf : 1.083923 0.271753i
+*** END OF COMPLEX MATH TEST ***
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/docomplex.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/docomplex.c       Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,110 @@
</font><font color='#000088'>+/*
+ * 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 complex math routines.
+ */
+
+#include <complex.h>
+#include <stdio.h>
+
+void
+docomplex  (void)
+{
+#ifndef NO_DOUBLE
+  complex double ca, cb, cc;
+  double f1;
+
+  ca = 1.0 + 1.0 * I;
+  cb = 1.0 - 1.0 * I;
+
+  f1 = cabs  (ca);
+  fprintf (stdout, "cabs   : %f\n", f1);
+
+  cc = cacos  (ca);
+  fprintf (stdout, "cacos  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = cacosh  (ca);
+  fprintf (stdout, "cacosh : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  f1 = carg  (ca);
+  fprintf (stdout, "carg   : %f\n", f1);
+
+  cc = casin  (ca);
+  fprintf (stdout, "casin  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = casinh  (ca);
+  fprintf (stdout, "casinh : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = catan  (ca);
+  fprintf (stdout, "catan  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = catanh  (ca);
+  fprintf (stdout, "catanh : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = ccos  (ca);
+  fprintf (stdout, "ccos   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = ccosh  (ca);
+  fprintf (stdout, "ccosh  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = cexp  (ca);
+  fprintf (stdout, "cexp   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  f1 = cimag  (ca);
+  fprintf (stdout, "cimag  : %f\n", f1);
+
+  cc = clog  (ca);
+  fprintf (stdout, "clog   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = conj  (ca);
+  fprintf (stdout, "conj   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = cpow  (ca, cb);
+  fprintf (stdout, "cpow   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = cproj  (ca);
+  fprintf (stdout, "cproj  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  f1 = creal  (ca);
+  fprintf (stdout, "creal  : %f\n", f1);
+
+  cc = csin  (ca);
+  fprintf (stdout, "csin   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = csinh  (ca);
+  fprintf (stdout, "csinh  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = csqrt  (ca);
+  fprintf (stdout, "csqrt  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = ctan  (ca);
+  fprintf (stdout, "ctan   : %f %fi\n", creal  (cc),
+          cimag  (cc));
+
+  cc = ctanh  (ca);
+  fprintf (stdout, "ctanh  : %f %fi\n", creal  (cc),
+          cimag  (cc));
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/docomplex.in:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/docomplex.in      Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,110 @@
</font><font color='#000088'>+/*
+ * 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 complex math routines.
+ */
+
+#include <complex.h>
+#include <stdio.h>
+
+void
+docomplex@FSUFFIX@ (void)
+{
+#ifndef @FGUARD@
+  complex @FTYPE@ ca, cb, cc;
+  @FTYPE@ f1;
+
+  ca = 1.0 + 1.0 * I;
+  cb = 1.0 - 1.0 * I;
+
+  f1 = cabs@FSUFFIX@ (ca);
+  fprintf (stdout, "cabs@FSUFFIX@  : %f\n", f1);
+
+  cc = cacos@FSUFFIX@ (ca);
+  fprintf (stdout, "cacos@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = cacosh@FSUFFIX@ (ca);
+  fprintf (stdout, "cacosh@FSUFFIX@: %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  f1 = carg@FSUFFIX@ (ca);
+  fprintf (stdout, "carg@FSUFFIX@  : %f\n", f1);
+
+  cc = casin@FSUFFIX@ (ca);
+  fprintf (stdout, "casin@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = casinh@FSUFFIX@ (ca);
+  fprintf (stdout, "casinh@FSUFFIX@: %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = catan@FSUFFIX@ (ca);
+  fprintf (stdout, "catan@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = catanh@FSUFFIX@ (ca);
+  fprintf (stdout, "catanh@FSUFFIX@: %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = ccos@FSUFFIX@ (ca);
+  fprintf (stdout, "ccos@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = ccosh@FSUFFIX@ (ca);
+  fprintf (stdout, "ccosh@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = cexp@FSUFFIX@ (ca);
+  fprintf (stdout, "cexp@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  f1 = cimag@FSUFFIX@ (ca);
+  fprintf (stdout, "cimag@FSUFFIX@ : %f\n", f1);
+
+  cc = clog@FSUFFIX@ (ca);
+  fprintf (stdout, "clog@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = conj@FSUFFIX@ (ca);
+  fprintf (stdout, "conj@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = cpow@FSUFFIX@ (ca, cb);
+  fprintf (stdout, "cpow@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = cproj@FSUFFIX@ (ca);
+  fprintf (stdout, "cproj@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  f1 = creal@FSUFFIX@ (ca);
+  fprintf (stdout, "creal@FSUFFIX@ : %f\n", f1);
+
+  cc = csin@FSUFFIX@ (ca);
+  fprintf (stdout, "csin@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = csinh@FSUFFIX@ (ca);
+  fprintf (stdout, "csinh@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = csqrt@FSUFFIX@ (ca);
+  fprintf (stdout, "csqrt@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = ctan@FSUFFIX@ (ca);
+  fprintf (stdout, "ctan@FSUFFIX@  : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+
+  cc = ctanh@FSUFFIX@ (ca);
+  fprintf (stdout, "ctanh@FSUFFIX@ : %f %fi\n", creal@FSUFFIX@ (cc),
+          cimag@FSUFFIX@ (cc));
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/docomplexf.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/docomplexf.c      Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,110 @@
</font><font color='#000088'>+/*
+ * 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 complex math routines.
+ */
+
+#include <complex.h>
+#include <stdio.h>
+
+void
+docomplexf (void)
+{
+#ifndef NO_FLOAT
+  complex float ca, cb, cc;
+  float f1;
+
+  ca = 1.0 + 1.0 * I;
+  cb = 1.0 - 1.0 * I;
+
+  f1 = cabsf (ca);
+  fprintf (stdout, "cabsf  : %f\n", f1);
+
+  cc = cacosf (ca);
+  fprintf (stdout, "cacosf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = cacoshf (ca);
+  fprintf (stdout, "cacoshf: %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  f1 = cargf (ca);
+  fprintf (stdout, "cargf  : %f\n", f1);
+
+  cc = casinf (ca);
+  fprintf (stdout, "casinf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = casinhf (ca);
+  fprintf (stdout, "casinhf: %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = catanf (ca);
+  fprintf (stdout, "catanf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = catanhf (ca);
+  fprintf (stdout, "catanhf: %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = ccosf (ca);
+  fprintf (stdout, "ccosf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = ccoshf (ca);
+  fprintf (stdout, "ccoshf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = cexpf (ca);
+  fprintf (stdout, "cexpf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  f1 = cimagf (ca);
+  fprintf (stdout, "cimagf : %f\n", f1);
+
+  cc = clogf (ca);
+  fprintf (stdout, "clogf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = conjf (ca);
+  fprintf (stdout, "conjf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = cpowf (ca, cb);
+  fprintf (stdout, "cpowf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = cprojf (ca);
+  fprintf (stdout, "cprojf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  f1 = crealf (ca);
+  fprintf (stdout, "crealf : %f\n", f1);
+
+  cc = csinf (ca);
+  fprintf (stdout, "csinf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = csinhf (ca);
+  fprintf (stdout, "csinhf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = csqrtf (ca);
+  fprintf (stdout, "csqrtf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = ctanf (ca);
+  fprintf (stdout, "ctanf  : %f %fi\n", crealf (cc),
+          cimagf (cc));
+
+  cc = ctanhf (ca);
+  fprintf (stdout, "ctanhf : %f %fi\n", crealf (cc),
+          cimagf (cc));
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/docomplexl.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/docomplexl.c      Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,110 @@
</font><font color='#000088'>+/*
+ * 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 complex math routines.
+ */
+
+#include <complex.h>
+#include <stdio.h>
+
+void
+docomplexl (void)
+{
+#ifndef NO_LONG_DOUBLE
+  complex long double ca, cb, cc;
+  long double f1;
+
+  ca = 1.0 + 1.0 * I;
+  cb = 1.0 - 1.0 * I;
+
+  f1 = cabsl (ca);
+  fprintf (stdout, "cabsl  : %Lf\n", f1);
+
+  cc = cacosl (ca);
+  fprintf (stdout, "cacosl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = cacoshl (ca);
+  fprintf (stdout, "cacoshl: %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  f1 = cargl (ca);
+  fprintf (stdout, "cargl  : %Lf\n", f1);
+
+  cc = casinl (ca);
+  fprintf (stdout, "casinl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = casinhl (ca);
+  fprintf (stdout, "casinhl: %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = catanl (ca);
+  fprintf (stdout, "catanl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = catanhl (ca);
+  fprintf (stdout, "catanhl: %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = ccosl (ca);
+  fprintf (stdout, "ccosl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = ccoshl (ca);
+  fprintf (stdout, "ccoshl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = cexpl (ca);
+  fprintf (stdout, "cexpl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  f1 = cimagl (ca);
+  fprintf (stdout, "cimagl : %Lf\n", f1);
+
+  cc = clogl (ca);
+  fprintf (stdout, "clogl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = conjl (ca);
+  fprintf (stdout, "conjl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = cpowl (ca, cb);
+  fprintf (stdout, "cpowl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = cprojl (ca);
+  fprintf (stdout, "cprojl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  f1 = creall (ca);
+  fprintf (stdout, "creall : %Lf\n", f1);
+
+  cc = csinl (ca);
+  fprintf (stdout, "csinl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = csinhl (ca);
+  fprintf (stdout, "csinhl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = csqrtl (ca);
+  fprintf (stdout, "csqrtl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = ctanl (ca);
+  fprintf (stdout, "ctanl  : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+
+  cc = ctanhl (ca);
+  fprintf (stdout, "ctanhl : %Lf %Lfi\n", creall (cc),
+          cimagl (cc));
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/complex/init.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/complex/init.c    Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,67 @@
</font><font color='#000088'>+/*  Init
+ *
+ *  This routine is the initialization task for this test program.
+ *  It is called from init_exec and has the responsibility for creating
+ *  and starting the tasks that make up the test.  If the time of day
+ *  clock is required for the test, it should also be set to a known
+ *  value by this function.
+ *
+ *  Input parameters:  NONE
+ *
+ *  Output parameters:  NONE
+ *
+ *  COPYRIGHT (c) 1989-1999.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#if __rtems__
+#include <bsp.h> /* for device driver prototypes */
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+
+extern void docomplex(void);
+extern void docomplexf(void);
+#ifndef NO_LONG_DOUBLE
+extern void docomplexl(void);
+#endif
+
+#if __rtems__
+rtems_task Init(
+  rtems_task_argument ignored
+)
+#else
+int main( void )
+#endif
+{
+  printf( "*** COMPLEX MATH TEST ***\n" );
+
+  docomplex();
+  docomplexf();<span style="background-color: #FF0000">  </span>
+#ifndef NO_LONG_DOUBLE
+  docomplexl();
+#endif
+  printf( "*** END OF COMPLEX MATH TEST ***\n" );
+  exit( 0 );
+}
+
+#if __rtems__
+/* NOTICE: the clock driver is explicitly disabled */
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS            1
+#define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
+#endif
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/.cvsignore:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/.cvsignore   Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,2 @@
</font><font color='#000088'>+Makefile
+Makefile.in
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/Makefile.am:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/Makefile.am  Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+##
+##  $Id$
+##
+
+rtems_tests_PROGRAMS = math
+math_SOURCES = init.c domath.c domathf.c domathl.c
+EXTRA_DIST = domath.in
+
+# FIXME: Skip long double, not yet supported in newlib
+math_CPPFLAGS = $(AM_CPPFLAGS) -DNO_LONG_DOUBLE
+
+domath.c: $(srcdir)/domath.in
+       sed -e 's,[@]FTYPE[@],double,' \
+       -e 's,[@]FSUFFIX[@], ,g' \
+       -e 's,[@]FGUARD[@],NO_DOUBLE,' \
+       $(srcdir)/domath.in > $(srcdir)/domath.c
+
+domathf.c: $(srcdir)/domath.in
+       sed -e 's,[@]FTYPE[@],float,' \
+       -e 's,[@]FSUFFIX[@],f,g' \
+       -e 's,[@]FGUARD[@],NO_FLOAT,' \
+       $(srcdir)/domath.in > $(srcdir)/domathf.c
+
+domathl.c: $(srcdir)/domath.in
+       sed -e 's,[@]FTYPE[@],long double,' \
+       -e 's,[@]FSUFFIX[@],l,g' \
+       -e 's,%f,%Lf,g' \
+       -e 's,[@]FGUARD[@],NO_LONG_DOUBLE,' \
+       $(srcdir)/domath.in > $(srcdir)/domathl.c
+
+dist_rtems_tests_DATA = math.scn
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+math_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) -lm
+
+LINK_OBJS = $(math_OBJECTS) $(math_LDADD)
+LINK_LIBS = $(math_LDLIBS)
+
+math$(EXEEXT): $(math_OBJECTS) $(math_DEPENDENCIES)
+       @rm -f math$(EXEEXT)
+       $(make-exe)
+
+include $(top_srcdir)/../automake/local.am
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/domath.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/domath.c     Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,281 @@
</font><font color='#000088'>+/*
+ * 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
+domath  (void)
+{
+#ifndef NO_DOUBLE
+  double f1;
+  double f2;
+
+  int i1;
+
+  f1 = acos (0.0);
+  fprintf( stdout, "acos           : %f\n", f1);
+
+  f1 = acosh (0.0);
+  fprintf( stdout, "acosh          : %f\n", f1);
+
+  f1 = asin (1.0);
+  fprintf( stdout, "asin           : %f\n", f1);
+
+  f1 = asinh (1.0);
+  fprintf( stdout, "asinh          : %f\n", f1);
+
+  f1 = atan (M_PI_4);
+  fprintf( stdout, "atan           : %f\n", f1);
+
+  f1 = atan2 (2.3, 2.3);
+  fprintf( stdout, "atan2          : %f\n", f1);
+
+  f1 = atanh (1.0);
+  fprintf( stdout, "atanh          : %f\n", f1);
+
+  f1 = cbrt (27.0);
+  fprintf( stdout, "cbrt           : %f\n", f1);
+
+  f1 = ceil (3.5);
+  fprintf( stdout, "ceil           : %f\n", f1);
+
+  f1 = copysign (3.5, -2.5);
+  fprintf( stdout, "copysign       : %f\n", f1);
+
+  f1 = cos (M_PI_2);
+  fprintf( stdout, "cos            : %f\n", f1);
+
+  f1 = cosh (M_PI_2);
+  fprintf( stdout, "cosh           : %f\n", f1);
+
+  f1 = erf (42.0);
+  fprintf( stdout, "erf            : %f\n", f1);
+
+  f1 = erfc (42.0);
+  fprintf( stdout, "erfc           : %f\n", f1);
+
+  f1 = exp (0.42);
+  fprintf( stdout, "exp            : %f\n", f1);
+
+  f1 = exp2 (0.42);
+  fprintf( stdout, "exp2           : %f\n", f1);
+
+  f1 = expm1 (0.00042);
+  fprintf( stdout, "expm1          : %f\n", f1);
+
+  f1 = fabs (-1.123);
+  fprintf( stdout, "fabs           : %f\n", f1);
+
+  f1 = fdim (1.123, 2.123);
+  fprintf( stdout, "fdim           : %f\n", f1);
+
+  f1 = floor (0.5);
+  fprintf( stdout, "floor          : %f\n", f1);
+  f1 = floor (-0.5);
+  fprintf( stdout, "floor          : %f\n", f1);
+
+  f1 = fma (2.1, 2.2, 3.01);
+  fprintf( stdout, "fma            : %f\n", f1);
+
+  f1 = fmax (-0.42, 0.42);
+  fprintf( stdout, "fmax           : %f\n", f1);
+
+  f1 = fmin (-0.42, 0.42);
+  fprintf( stdout, "fmin           : %f\n", f1);
+
+  f1 = fmod (42.0, 3.0);
+  fprintf( stdout, "fmod           : %f\n", f1);
+
+  /* no type-specific variant */
+  i1 = fpclassify(1.0);
+  fprintf( stdout, "fpclassify     : %d\n", i1);
+
+  f1 = frexp (42.0, &i1);
+  fprintf( stdout, "frexp          : %f\n", f1);
+
+  f1 = hypot (42.0, 42.0);
+  fprintf( stdout, "hypot          : %f\n", f1);
+
+  i1 = ilogb (42.0);
+  fprintf( stdout, "ilogb          : %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 = j0 (1.2);
+  fprintf( stdout, "j0             : %f\n", f1);
+
+  f1 = j1 (1.2);
+  fprintf( stdout, "j1             : %f\n", f1);
+
+  f1 = jn (2,1.2);
+  fprintf( stdout, "jn             : %f\n", f1);
+
+  f1 = ldexp (1.2,3);
+  fprintf( stdout, "ldexp          : %f\n", f1);
+
+  f1 = lgamma (42.0);
+  fprintf( stdout, "lgamma         : %f\n", f1);
+
+  f1 = llrint (-0.5);
+  fprintf( stdout, "llrint         : %f\n", f1);
+  f1 = llrint (0.5);
+  fprintf( stdout, "llrint         : %f\n", f1);
+
+  f1 = llround (-0.5);
+  fprintf( stdout, "lround         : %f\n", f1);
+  f1 = llround (0.5);
+  fprintf( stdout, "lround         : %f\n", f1);
+
+  f1 = log (42.0);
+  fprintf( stdout, "log            : %f\n", f1);
+
+  f1 = log10 (42.0);
+  fprintf( stdout, "log10          : %f\n", f1);
+
+  f1 = log1p (42.0);
+  fprintf( stdout, "log1p          : %f\n", f1);
+
+  f1 = log2 (42.0);
+  fprintf( stdout, "log2           : %f\n", f1);
+
+  f1 = logb (42.0);
+  fprintf( stdout, "logb           : %f\n", f1);
+
+  f1 = lrint (-0.5);
+  fprintf( stdout, "lrint          : %f\n", f1);
+  f1 = lrint (0.5);
+  fprintf( stdout, "lrint          : %f\n", f1);
+
+  f1 = lround (-0.5);
+  fprintf( stdout, "lround         : %f\n", f1);
+  f1 = lround (0.5);
+  fprintf( stdout, "lround         : %f\n", f1);
+
+  f1 = modf (42.0,&f2);
+  fprintf( stdout, "lmodf          : %f\n", f1);
+
+  f1 = nan ("");
+  fprintf( stdout, "nan            : %f\n", f1);
+
+  f1 = nearbyint (1.5);
+  fprintf( stdout, "nearbyint      : %f\n", f1);
+
+  f1 = nextafter (1.5,2.0);
+  fprintf( stdout, "nextafter      : %f\n", f1);
+
+  f1 = pow (3.01, 2.0);
+  fprintf( stdout, "pow            : %f\n", f1);
+
+  f1 = remainder (3.01,2.0);
+  fprintf( stdout, "remainder      : %f\n", f1);
+
+  f1 = remquo (29.0,3.0,&i1);
+  fprintf( stdout, "remquo         : %f\n", f1);
+
+  f1 = rint (0.5);
+  fprintf( stdout, "rint           : %f\n", f1);
+  f1 = rint (-0.5);
+  fprintf( stdout, "rint           : %f\n", f1);
+
+  f1 = round (0.5);
+  fprintf( stdout, "round          : %f\n", f1);
+  f1 = round (-0.5);
+  fprintf( stdout, "round          : %f\n", f1);
+
+  f1 = scalbln (1.2,3);
+  fprintf( stdout, "scalbln        : %f\n", f1);
+
+  f1 = scalbn (1.2,3);
+  fprintf( stdout, "scalbn         : %f\n", f1);
+
+  /* no type-specific variant */
+  i1 = signbit(1.0);
+  fprintf( stdout, "signbit        : %i\n", i1);
+
+  f1 = sin (M_PI_4);
+  fprintf( stdout, "sin            : %f\n", f1);
+
+  f1 = sinh (M_PI_4);
+  fprintf( stdout, "sinh           : %f\n", f1);
+
+  f1 = sqrt (9.0);
+  fprintf( stdout, "sqrt           : %f\n", f1);
+
+  f1 = tan (M_PI_4);
+  fprintf( stdout, "tan            : %f\n", f1);
+
+  f1 = tanh (M_PI_4);
+  fprintf( stdout, "tanh           : %f\n", f1);
+
+  f1 = tgamma (2.1);
+  fprintf( stdout, "tanh           : %f\n", f1);
+
+  f1 = trunc (3.5);
+  fprintf( stdout, "trunc          : %f\n", f1);
+
+  f1 = y0 (1.2);
+  fprintf( stdout, "y0             : %f\n", f1);
+
+  f1 = y1 (1.2);
+  fprintf( stdout, "y1             : %f\n", f1);
+
+  f1 = yn (3,1.2);
+  fprintf( stdout, "yn             : %f\n", f1);
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/domath.in:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/domath.in    Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,281 @@
</font><font color='#000088'>+/*
+ * 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
+domath@FSUFFIX@ (void)
+{
+#ifndef @FGUARD@
+  @FTYPE@ f1;
+  @FTYPE@ f2;
+
+  int i1;
+
+  f1 = acos@FSUFFIX@(0.0);
+  fprintf( stdout, "acos@FSUFFIX@          : %f\n", f1);
+
+  f1 = acosh@FSUFFIX@(0.0);
+  fprintf( stdout, "acosh@FSUFFIX@         : %f\n", f1);
+
+  f1 = asin@FSUFFIX@(1.0);
+  fprintf( stdout, "asin@FSUFFIX@          : %f\n", f1);
+
+  f1 = asinh@FSUFFIX@(1.0);
+  fprintf( stdout, "asinh@FSUFFIX@         : %f\n", f1);
+
+  f1 = atan@FSUFFIX@(M_PI_4);
+  fprintf( stdout, "atan@FSUFFIX@          : %f\n", f1);
+
+  f1 = atan2@FSUFFIX@(2.3, 2.3);
+  fprintf( stdout, "atan2@FSUFFIX@         : %f\n", f1);
+
+  f1 = atanh@FSUFFIX@(1.0);
+  fprintf( stdout, "atanh@FSUFFIX@         : %f\n", f1);
+
+  f1 = cbrt@FSUFFIX@(27.0);
+  fprintf( stdout, "cbrt@FSUFFIX@          : %f\n", f1);
+
+  f1 = ceil@FSUFFIX@(3.5);
+  fprintf( stdout, "ceil@FSUFFIX@          : %f\n", f1);
+
+  f1 = copysign@FSUFFIX@(3.5, -2.5);
+  fprintf( stdout, "copysign@FSUFFIX@      : %f\n", f1);
+
+  f1 = cos@FSUFFIX@(M_PI_2);
+  fprintf( stdout, "cos@FSUFFIX@           : %f\n", f1);
+
+  f1 = cosh@FSUFFIX@(M_PI_2);
+  fprintf( stdout, "cosh@FSUFFIX@          : %f\n", f1);
+
+  f1 = erf@FSUFFIX@(42.0);
+  fprintf( stdout, "erf@FSUFFIX@           : %f\n", f1);
+
+  f1 = erfc@FSUFFIX@(42.0);
+  fprintf( stdout, "erfc@FSUFFIX@          : %f\n", f1);
+
+  f1 = exp@FSUFFIX@(0.42);
+  fprintf( stdout, "exp@FSUFFIX@           : %f\n", f1);
+
+  f1 = exp2@FSUFFIX@(0.42);
+  fprintf( stdout, "exp2@FSUFFIX@          : %f\n", f1);
+
+  f1 = expm1@FSUFFIX@(0.00042);
+  fprintf( stdout, "expm1@FSUFFIX@         : %f\n", f1);
+
+  f1 = fabs@FSUFFIX@(-1.123);
+  fprintf( stdout, "fabs@FSUFFIX@          : %f\n", f1);
+
+  f1 = fdim@FSUFFIX@(1.123, 2.123);
+  fprintf( stdout, "fdim@FSUFFIX@          : %f\n", f1);
+
+  f1 = floor@FSUFFIX@(0.5);
+  fprintf( stdout, "floor@FSUFFIX@         : %f\n", f1);
+  f1 = floor@FSUFFIX@(-0.5);
+  fprintf( stdout, "floor@FSUFFIX@         : %f\n", f1);
+
+  f1 = fma@FSUFFIX@(2.1, 2.2, 3.01);
+  fprintf( stdout, "fma@FSUFFIX@           : %f\n", f1);
+
+  f1 = fmax@FSUFFIX@(-0.42, 0.42);
+  fprintf( stdout, "fmax@FSUFFIX@          : %f\n", f1);
+
+  f1 = fmin@FSUFFIX@(-0.42, 0.42);
+  fprintf( stdout, "fmin@FSUFFIX@          : %f\n", f1);
+
+  f1 = fmod@FSUFFIX@(42.0, 3.0);
+  fprintf( stdout, "fmod@FSUFFIX@          : %f\n", f1);
+
+  /* no type-specific variant */
+  i1 = fpclassify(1.0);
+  fprintf( stdout, "fpclassify     : %d\n", i1);
+
+  f1 = frexp@FSUFFIX@(42.0, &i1);
+  fprintf( stdout, "frexp@FSUFFIX@         : %f\n", f1);
+
+  f1 = hypot@FSUFFIX@(42.0, 42.0);
+  fprintf( stdout, "hypot@FSUFFIX@         : %f\n", f1);
+
+  i1 = ilogb@FSUFFIX@(42.0);
+  fprintf( stdout, "ilogb@FSUFFIX@         : %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 = j0@FSUFFIX@(1.2);
+  fprintf( stdout, "j0@FSUFFIX@            : %f\n", f1);
+
+  f1 = j1@FSUFFIX@(1.2);
+  fprintf( stdout, "j1@FSUFFIX@            : %f\n", f1);
+
+  f1 = jn@FSUFFIX@(2,1.2);
+  fprintf( stdout, "jn@FSUFFIX@            : %f\n", f1);
+
+  f1 = ldexp@FSUFFIX@(1.2,3);
+  fprintf( stdout, "ldexp@FSUFFIX@         : %f\n", f1);
+
+  f1 = lgamma@FSUFFIX@(42.0);
+  fprintf( stdout, "lgamma@FSUFFIX@        : %f\n", f1);
+
+  f1 = llrint@FSUFFIX@(-0.5);
+  fprintf( stdout, "llrint@FSUFFIX@        : %f\n", f1);
+  f1 = llrint@FSUFFIX@(0.5);
+  fprintf( stdout, "llrint@FSUFFIX@        : %f\n", f1);
+
+  f1 = llround@FSUFFIX@(-0.5);
+  fprintf( stdout, "lround@FSUFFIX@        : %f\n", f1);
+  f1 = llround@FSUFFIX@(0.5);
+  fprintf( stdout, "lround@FSUFFIX@        : %f\n", f1);
+
+  f1 = log@FSUFFIX@(42.0);
+  fprintf( stdout, "log@FSUFFIX@           : %f\n", f1);
+
+  f1 = log10@FSUFFIX@(42.0);
+  fprintf( stdout, "log10@FSUFFIX@         : %f\n", f1);
+
+  f1 = log1p@FSUFFIX@(42.0);
+  fprintf( stdout, "log1p@FSUFFIX@         : %f\n", f1);
+
+  f1 = log2@FSUFFIX@(42.0);
+  fprintf( stdout, "log2@FSUFFIX@          : %f\n", f1);
+
+  f1 = logb@FSUFFIX@(42.0);
+  fprintf( stdout, "logb@FSUFFIX@          : %f\n", f1);
+
+  f1 = lrint@FSUFFIX@(-0.5);
+  fprintf( stdout, "lrint@FSUFFIX@         : %f\n", f1);
+  f1 = lrint@FSUFFIX@(0.5);
+  fprintf( stdout, "lrint@FSUFFIX@         : %f\n", f1);
+
+  f1 = lround@FSUFFIX@(-0.5);
+  fprintf( stdout, "lround@FSUFFIX@        : %f\n", f1);
+  f1 = lround@FSUFFIX@(0.5);
+  fprintf( stdout, "lround@FSUFFIX@        : %f\n", f1);
+
+  f1 = modf@FSUFFIX@(42.0,&f2);
+  fprintf( stdout, "lmodf@FSUFFIX@         : %f\n", f1);
+
+  f1 = nan@FSUFFIX@("");
+  fprintf( stdout, "nan@FSUFFIX@           : %f\n", f1);
+
+  f1 = nearbyint@FSUFFIX@(1.5);
+  fprintf( stdout, "nearbyint@FSUFFIX@     : %f\n", f1);
+
+  f1 = nextafter@FSUFFIX@(1.5,2.0);
+  fprintf( stdout, "nextafter@FSUFFIX@     : %f\n", f1);
+
+  f1 = pow@FSUFFIX@(3.01, 2.0);
+  fprintf( stdout, "pow@FSUFFIX@           : %f\n", f1);
+
+  f1 = remainder@FSUFFIX@(3.01,2.0);
+  fprintf( stdout, "remainder@FSUFFIX@     : %f\n", f1);
+
+  f1 = remquo@FSUFFIX@(29.0,3.0,&i1);
+  fprintf( stdout, "remquo@FSUFFIX@        : %f\n", f1);
+
+  f1 = rint@FSUFFIX@(0.5);
+  fprintf( stdout, "rint@FSUFFIX@          : %f\n", f1);
+  f1 = rint@FSUFFIX@(-0.5);
+  fprintf( stdout, "rint@FSUFFIX@          : %f\n", f1);
+
+  f1 = round@FSUFFIX@(0.5);
+  fprintf( stdout, "round@FSUFFIX@         : %f\n", f1);
+  f1 = round@FSUFFIX@(-0.5);
+  fprintf( stdout, "round@FSUFFIX@         : %f\n", f1);
+
+  f1 = scalbln@FSUFFIX@(1.2,3);
+  fprintf( stdout, "scalbln@FSUFFIX@       : %f\n", f1);
+
+  f1 = scalbn@FSUFFIX@(1.2,3);
+  fprintf( stdout, "scalbn@FSUFFIX@        : %f\n", f1);
+
+  /* no type-specific variant */
+  i1 = signbit(1.0);
+  fprintf( stdout, "signbit        : %i\n", i1);
+
+  f1 = sin@FSUFFIX@(M_PI_4);
+  fprintf( stdout, "sin@FSUFFIX@           : %f\n", f1);
+
+  f1 = sinh@FSUFFIX@(M_PI_4);
+  fprintf( stdout, "sinh@FSUFFIX@          : %f\n", f1);
+
+  f1 = sqrt@FSUFFIX@(9.0);
+  fprintf( stdout, "sqrt@FSUFFIX@          : %f\n", f1);
+
+  f1 = tan@FSUFFIX@(M_PI_4);
+  fprintf( stdout, "tan@FSUFFIX@           : %f\n", f1);
+
+  f1 = tanh@FSUFFIX@(M_PI_4);
+  fprintf( stdout, "tanh@FSUFFIX@          : %f\n", f1);
+
+  f1 = tgamma@FSUFFIX@(2.1);
+  fprintf( stdout, "tanh@FSUFFIX@          : %f\n", f1);
+
+  f1 = trunc@FSUFFIX@(3.5);
+  fprintf( stdout, "trunc@FSUFFIX@         : %f\n", f1);
+
+  f1 = y0@FSUFFIX@(1.2);
+  fprintf( stdout, "y0@FSUFFIX@            : %f\n", f1);
+
+  f1 = y1@FSUFFIX@(1.2);
+  fprintf( stdout, "y1@FSUFFIX@            : %f\n", f1);
+
+  f1 = yn@FSUFFIX@(3,1.2);
+  fprintf( stdout, "yn@FSUFFIX@            : %f\n", f1);
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/domathf.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/domathf.c    Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,281 @@
</font><font color='#000088'>+/*
+ * 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, "tanhf          : %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
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/domathl.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/domathl.c    Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,281 @@
</font><font color='#000088'>+/*
+ * 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
+domathl (void)
+{
+#ifndef NO_LONG_DOUBLE
+  long double f1;
+  long double f2;
+
+  int i1;
+
+  f1 = acosl(0.0);
+  fprintf( stdout, "acosl          : %Lf\n", f1);
+
+  f1 = acoshl(0.0);
+  fprintf( stdout, "acoshl         : %Lf\n", f1);
+
+  f1 = asinl(1.0);
+  fprintf( stdout, "asinl          : %Lf\n", f1);
+
+  f1 = asinhl(1.0);
+  fprintf( stdout, "asinhl         : %Lf\n", f1);
+
+  f1 = atanl(M_PI_4);
+  fprintf( stdout, "atanl          : %Lf\n", f1);
+
+  f1 = atan2l(2.3, 2.3);
+  fprintf( stdout, "atan2l         : %Lf\n", f1);
+
+  f1 = atanhl(1.0);
+  fprintf( stdout, "atanhl         : %Lf\n", f1);
+
+  f1 = cbrtl(27.0);
+  fprintf( stdout, "cbrtl          : %Lf\n", f1);
+
+  f1 = ceill(3.5);
+  fprintf( stdout, "ceill          : %Lf\n", f1);
+
+  f1 = copysignl(3.5, -2.5);
+  fprintf( stdout, "copysignl      : %Lf\n", f1);
+
+  f1 = cosl(M_PI_2);
+  fprintf( stdout, "cosl           : %Lf\n", f1);
+
+  f1 = coshl(M_PI_2);
+  fprintf( stdout, "coshl          : %Lf\n", f1);
+
+  f1 = erfl(42.0);
+  fprintf( stdout, "erfl           : %Lf\n", f1);
+
+  f1 = erfcl(42.0);
+  fprintf( stdout, "erfcl          : %Lf\n", f1);
+
+  f1 = expl(0.42);
+  fprintf( stdout, "expl           : %Lf\n", f1);
+
+  f1 = exp2l(0.42);
+  fprintf( stdout, "exp2l          : %Lf\n", f1);
+
+  f1 = expm1l(0.00042);
+  fprintf( stdout, "expm1l         : %Lf\n", f1);
+
+  f1 = fabsl(-1.123);
+  fprintf( stdout, "fabsl          : %Lf\n", f1);
+
+  f1 = fdiml(1.123, 2.123);
+  fprintf( stdout, "fdiml          : %Lf\n", f1);
+
+  f1 = floorl(0.5);
+  fprintf( stdout, "floorl         : %Lf\n", f1);
+  f1 = floorl(-0.5);
+  fprintf( stdout, "floorl         : %Lf\n", f1);
+
+  f1 = fmal(2.1, 2.2, 3.01);
+  fprintf( stdout, "fmal           : %Lf\n", f1);
+
+  f1 = fmaxl(-0.42, 0.42);
+  fprintf( stdout, "fmaxl          : %Lf\n", f1);
+
+  f1 = fminl(-0.42, 0.42);
+  fprintf( stdout, "fminl          : %Lf\n", f1);
+
+  f1 = fmodl(42.0, 3.0);
+  fprintf( stdout, "fmodl          : %Lf\n", f1);
+
+  /* no type-specific variant */
+  i1 = fpclassify(1.0);
+  fprintf( stdout, "fpclassify     : %d\n", i1);
+
+  f1 = frexpl(42.0, &i1);
+  fprintf( stdout, "frexpl         : %Lf\n", f1);
+
+  f1 = hypotl(42.0, 42.0);
+  fprintf( stdout, "hypotl         : %Lf\n", f1);
+
+  i1 = ilogbl(42.0);
+  fprintf( stdout, "ilogbl         : %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 = j0l(1.2);
+  fprintf( stdout, "j0l            : %Lf\n", f1);
+
+  f1 = j1l(1.2);
+  fprintf( stdout, "j1l            : %Lf\n", f1);
+
+  f1 = jnl(2,1.2);
+  fprintf( stdout, "jnl            : %Lf\n", f1);
+
+  f1 = ldexpl(1.2,3);
+  fprintf( stdout, "ldexpl         : %Lf\n", f1);
+
+  f1 = lgammal(42.0);
+  fprintf( stdout, "lgammal        : %Lf\n", f1);
+
+  f1 = llrintl(-0.5);
+  fprintf( stdout, "llrintl        : %Lf\n", f1);
+  f1 = llrintl(0.5);
+  fprintf( stdout, "llrintl        : %Lf\n", f1);
+
+  f1 = llroundl(-0.5);
+  fprintf( stdout, "lroundl        : %Lf\n", f1);
+  f1 = llroundl(0.5);
+  fprintf( stdout, "lroundl        : %Lf\n", f1);
+
+  f1 = logl(42.0);
+  fprintf( stdout, "logl           : %Lf\n", f1);
+
+  f1 = log10l(42.0);
+  fprintf( stdout, "log10l         : %Lf\n", f1);
+
+  f1 = log1pl(42.0);
+  fprintf( stdout, "log1pl         : %Lf\n", f1);
+
+  f1 = log2l(42.0);
+  fprintf( stdout, "log2l          : %Lf\n", f1);
+
+  f1 = logbl(42.0);
+  fprintf( stdout, "logbl          : %Lf\n", f1);
+
+  f1 = lrintl(-0.5);
+  fprintf( stdout, "lrintl         : %Lf\n", f1);
+  f1 = lrintl(0.5);
+  fprintf( stdout, "lrintl         : %Lf\n", f1);
+
+  f1 = lroundl(-0.5);
+  fprintf( stdout, "lroundl        : %Lf\n", f1);
+  f1 = lroundl(0.5);
+  fprintf( stdout, "lroundl        : %Lf\n", f1);
+
+  f1 = modfl(42.0,&f2);
+  fprintf( stdout, "lmodfl         : %Lf\n", f1);
+
+  f1 = nanl("");
+  fprintf( stdout, "nanl           : %Lf\n", f1);
+
+  f1 = nearbyintl(1.5);
+  fprintf( stdout, "nearbyintl     : %Lf\n", f1);
+
+  f1 = nextafterl(1.5,2.0);
+  fprintf( stdout, "nextafterl     : %Lf\n", f1);
+
+  f1 = powl(3.01, 2.0);
+  fprintf( stdout, "powl           : %Lf\n", f1);
+
+  f1 = remainderl(3.01,2.0);
+  fprintf( stdout, "remainderl     : %Lf\n", f1);
+
+  f1 = remquol(29.0,3.0,&i1);
+  fprintf( stdout, "remquol        : %Lf\n", f1);
+
+  f1 = rintl(0.5);
+  fprintf( stdout, "rintl          : %Lf\n", f1);
+  f1 = rintl(-0.5);
+  fprintf( stdout, "rintl          : %Lf\n", f1);
+
+  f1 = roundl(0.5);
+  fprintf( stdout, "roundl         : %Lf\n", f1);
+  f1 = roundl(-0.5);
+  fprintf( stdout, "roundl         : %Lf\n", f1);
+
+  f1 = scalblnl(1.2,3);
+  fprintf( stdout, "scalblnl       : %Lf\n", f1);
+
+  f1 = scalbnl(1.2,3);
+  fprintf( stdout, "scalbnl        : %Lf\n", f1);
+
+  /* no type-specific variant */
+  i1 = signbit(1.0);
+  fprintf( stdout, "signbit        : %i\n", i1);
+
+  f1 = sinl(M_PI_4);
+  fprintf( stdout, "sinl           : %Lf\n", f1);
+
+  f1 = sinhl(M_PI_4);
+  fprintf( stdout, "sinhl          : %Lf\n", f1);
+
+  f1 = sqrtl(9.0);
+  fprintf( stdout, "sqrtl          : %Lf\n", f1);
+
+  f1 = tanl(M_PI_4);
+  fprintf( stdout, "tanl           : %Lf\n", f1);
+
+  f1 = tanhl(M_PI_4);
+  fprintf( stdout, "tanhl          : %Lf\n", f1);
+
+  f1 = tgammal(2.1);
+  fprintf( stdout, "tanhl          : %Lf\n", f1);
+
+  f1 = truncl(3.5);
+  fprintf( stdout, "truncl         : %Lf\n", f1);
+
+  f1 = y0l(1.2);
+  fprintf( stdout, "y0l            : %Lf\n", f1);
+
+  f1 = y1l(1.2);
+  fprintf( stdout, "y1l            : %Lf\n", f1);
+
+  f1 = ynl(3,1.2);
+  fprintf( stdout, "ynl            : %Lf\n", f1);
+#endif
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/init.c:1.1
--- /dev/null   Tue Nov 30 08:11:10 2010
+++ rtems/testsuites/libtests/math/init.c       Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,64 @@
</font><font color='#000088'>+/*  Init
+ *
+ *  This routine is the initialization task for this test program.
+ *  It is called from init_exec and has the responsibility for creating
+ *  and starting the tasks that make up the test.  If the time of day
+ *  clock is required for the test, it should also be set to a known
+ *  value by this function.
+ *
+ *  Input parameters:  NONE
+ *
+ *  Output parameters:  NONE
+ *
+ *  COPYRIGHT (c) 1989-1999.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#if __rtems__
+#include <bsp.h> /* for device driver prototypes */
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+
+extern void domath(void);
+extern void domathf(void);
+extern void domathl(void);
+
+#if __rtems__
+rtems_task Init(
+  rtems_task_argument ignored
+)
+#else
+int main( void )
+#endif
+{
+  printf( "*** FLOAT MATH TEST ***\n" );
+
+  domath();
+  domathf();<span style="background-color: #FF0000">  </span>
+  domathl();
+
+  printf( "*** END OF FLOAT MATH TEST ***\n" );
+  exit( 0 );
+}
+
+#if __rtems__
+/* NOTICE: the clock driver is explicitly disabled */
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS            1
+#define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
+#endif
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/math/math.scn:1.1
--- /dev/null   Tue Nov 30 08:11:11 2010
+++ rtems/testsuites/libtests/math/math.scn     Tue Nov 30 07:48:35 2010
</font><font color='#997700'>@@ -0,0 +1,164 @@
</font><font color='#000088'>+*** FLOAT MATH TEST ***
+acos           : 1.570796
+acosh          : -nan
+asin           : 1.570796
+asinh          : 0.881374
+atan           : 0.665774
+atan2          : 0.785398
+atanh          : inf
+cbrt           : 3.000000
+ceil           : 4.000000
+copysign       : -3.500000
+cos            : 0.000000
+cosh           : 2.509178
+erf            : 1.000000
+erfc           : 0.000000
+exp            : 1.521962
+exp2           : 1.337928
+expm1          : 0.000420
+fabs           : 1.123000
+fdim           : 0.000000
+floor          : 0.000000
+floor          : -1.000000
+fma            : 7.630000
+fmax           : 0.420000
+fmin           : -0.420000
+fmod           : 0.000000
+fpclassify     : 4
+frexp          : 0.656250
+hypot          : 59.396970
+ilogb          : 5
+isfinite       : 1
+isgreater      : 0
+isgreaterequal : 0
+isinf          : 0
+isless         : 1
+islessequal    : 1
+islessgreater  : 1
+isnan          : 0
+isnormal       : 1
+isunordered    : 1
+j0             : 0.671133
+j1             : 0.498289
+jn             : 0.159349
+ldexp          : 9.600000
+lgamma         : 114.034212
+llrint         : 0.000000
+llrint         : 0.000000
+lround         : -1.000000
+lround         : 1.000000
+log            : 3.737670
+log10          : 1.623249
+log1p          : 3.761200
+log2           : 5.392317
+logb           : 5.000000
+lrint          : 0.000000
+lrint          : 0.000000
+lround         : -1.000000
+lround         : 1.000000
+lmodf          : 0.000000
+nan            : nan
+nearbyint      : 2.000000
+nextafter      : 1.500000
+pow            : 9.060100
+remainder      : -0.990000
+remquo         : -1.000000
+rint           : 0.000000
+rint           : -0.000000
+round          : 1.000000
+round          : -1.000000
+scalbln        : 9.600000
+scalbn         : 9.600000
+signbit        : 0
+sin            : 0.707107
+sinh           : 0.868671
+sqrt           : 3.000000
+tan            : 1.000000
+tanh           : 0.655794
+tanh           : 1.046486
+trunc          : 3.000000
+y0             : 0.228084
+y1             : -0.621136
+yn             : -3.589900
+acosf          : 1.570796
+acoshf         : -nan
+asinf          : 1.570796
+asinhf         : 0.881374
+atanf          : 0.665774
+atan2f         : 0.785398
+atanhf         : inf
+cbrtf          : 3.000000
+ceilf          : 4.000000
+copysignf      : -3.500000
+cosf           : -0.000000
+coshf          : 2.509179
+erff           : 1.000000
+erfcf          : 0.000000
+expf           : 1.521962
+exp2f          : 1.337928
+expm1f         : 0.000420
+fabsf          : 1.123000
+fdimf          : 0.000000
+floorf         : 0.000000
+floorf         : -1.000000
+fmaf           : 7.630000
+fmaxf          : 0.420000
+fminf          : -0.420000
+fmodf          : 0.000000
+fpclassify     : 4
+frexpf         : 0.656250
+hypotf         : 59.396969
+ilogbf         : 5
+isfinite       : 1
+isgreater      : 0
+isgreaterequal : 0
+isinf          : 0
+isless         : 1
+islessequal    : 1
+islessgreater  : 1
+isnan          : 0
+isnormal       : 1
+isunordered    : 1
+j0f            : 0.671133
+j1f            : 0.498289
+jnf            : 0.159349
+ldexpf         : 9.600000
+lgammaf        : 114.034218
+llrintf        : 0.000000
+llrintf        : 0.000000
+lroundf        : -1.000000
+lroundf        : 1.000000
+logf           : 3.737670
+log10f         : 1.623249
+log1pf         : 3.761200
+log2f          : 5.392317
+logbf          : 5.000000
+lrintf         : 0.000000
+lrintf         : 0.000000
+lroundf        : -1.000000
+lroundf        : 1.000000
+lmodff         : 0.000000
+nanf           : nan
+nearbyintf     : 2.000000
+nextafterf     : 1.500000
+powf           : 9.060100
+remainderf     : -0.990000
+remquof        : -1.000000
+rintf          : 0.000000
+rintf          : -0.000000
+roundf         : 1.000000
+roundf         : -1.000000
+scalblnf       : 9.600000
+scalbnf        : 9.600000
+signbit        : 0
+sinf           : 0.707107
+sinhf          : 0.868671
+sqrtf          : 3.000000
+tanf           : 1.000000
+tanhf          : 0.655794
+tanhf          : 1.046486
+truncf         : 3.000000
+y0f            : 0.228084
+y1f            : -0.621136
+ynf            : -3.589899
+*** END OF FLOAT MATH TEST ***
</font></pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>ralf</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-11-30 Ralf Corsépius <ralf.corsepius@rtems.org>

        * complex/Makefile.am, complex/init.c, complex/docomplex.c,
        complex/docomplexf.c, complex/complex.scn, complex/docomplex.in,
        complex/complex.doc, complex/docomplexl.c: New.
        * math/Makefile.am, math/init.c, math/domath.c,
        math/domathf.c, math/math.scn, math/domath.in,
        math/math.doc, math/domathl.c: New.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/ChangeLog.diff?r1=text&tr1=1.239&r2=text&tr2=1.240&diff_format=h">M</a></td><td width='1%'>1.240</td><td width='100%'>testsuites/libtests/ChangeLog</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/libtests/ChangeLog:1.239 rtems/testsuites/libtests/ChangeLog:1.240
--- rtems/testsuites/libtests/ChangeLog:1.239   Wed Sep  1 01:42:58 2010
+++ rtems/testsuites/libtests/ChangeLog Tue Nov 30 07:48:52 2010
</font><font color='#997700'>@@ -1,3 +1,12 @@
</font><font color='#000088'>+2010-11-30    Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * complex/Makefile.am, complex/init.c, complex/docomplex.c,<span style="background-color: #FF0000"> </span>
+       complex/docomplexf.c, complex/complex.scn, complex/docomplex.in,
+       complex/complex.doc, complex/docomplexl.c: New.
+       * math/Makefile.am, math/init.c, math/domath.c,<span style="background-color: #FF0000"> </span>
+       math/domathf.c, math/math.scn, math/domath.in,
+       math/math.doc, math/domathl.c: New.
+
</font> 2010-09-01        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * POSIX/Makefile.am: Add htonl.
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>ralf</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-11-30 Ralf Corsépius <ralf.corsepius@rtems.org>

        * Makefile.am: Add complex, math subdirs.
        * configure.ac: Add complex, math subdirs.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/ChangeLog.diff?r1=text&tr1=1.240&r2=text&tr2=1.241&diff_format=h">M</a></td><td width='1%'>1.241</td><td width='100%'>testsuites/libtests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/Makefile.am.diff?r1=text&tr1=1.48&r2=text&tr2=1.49&diff_format=h">M</a></td><td width='1%'>1.49</td><td width='100%'>testsuites/libtests/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/configure.ac.diff?r1=text&tr1=1.56&r2=text&tr2=1.57&diff_format=h">M</a></td><td width='1%'>1.57</td><td width='100%'>testsuites/libtests/configure.ac</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/libtests/ChangeLog:1.240 rtems/testsuites/libtests/ChangeLog:1.241
--- rtems/testsuites/libtests/ChangeLog:1.240   Tue Nov 30 07:48:52 2010
+++ rtems/testsuites/libtests/ChangeLog Tue Nov 30 07:55:09 2010
</font><font color='#997700'>@@ -1,5 +1,10 @@
</font> 2010-11-30        Ralf Corsépius <ralf.corsepius@rtems.org>
 
<font color='#000088'>+   * Makefile.am: Add complex, math subdirs.
+       * configure.ac: Add complex, math subdirs.
+
+2010-11-30     Ralf Corsépius <ralf.corsepius@rtems.org>
+
</font>   * complex/Makefile.am, complex/init.c, complex/docomplex.c,<span style="background-color: #FF0000"> </span>
        complex/docomplexf.c, complex/complex.scn, complex/docomplex.in,
        complex/complex.doc, complex/docomplexl.c: New.

<font color='#006600'>diff -u rtems/testsuites/libtests/Makefile.am:1.48 rtems/testsuites/libtests/Makefile.am:1.49
--- rtems/testsuites/libtests/Makefile.am:1.48  Mon Aug 23 03:32:51 2010
+++ rtems/testsuites/libtests/Makefile.am       Tue Nov 30 07:55:09 2010
</font><font color='#997700'>@@ -14,7 +14,8 @@
</font>     termios06 termios07 termios08 \
     rtems++ tztest block01 block02 block03 block04 block05 block06 block07 \
     block08 block09 block10 stringto01 \
<font color='#880000'>-    tar01 tar02 tar03
</font><font color='#000088'>+    tar01 tar02 tar03 \
+    math complex
</font> 
 include $(top_srcdir)/../automake/subdirs.am
 include $(top_srcdir)/../automake/local.am

<font color='#006600'>diff -u rtems/testsuites/libtests/configure.ac:1.56 rtems/testsuites/libtests/configure.ac:1.57
--- rtems/testsuites/libtests/configure.ac:1.56 Mon Aug 23 03:32:51 2010
+++ rtems/testsuites/libtests/configure.ac      Tue Nov 30 07:55:09 2010
</font><font color='#997700'>@@ -85,5 +85,7 @@
</font> termios08/Makefile
 tztest/Makefile
 POSIX/Makefile
<font color='#000088'>+math/Makefile
+complex/Makefile
</font> ])
 AC_OUTPUT
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>