aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/generated
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2006-10-13 19:08:37 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2006-10-13 19:08:37 +0000
commit4010308ce53f36930935a230441630c8f5e79b86 (patch)
treeceddc742dee64e48de195e4172c71053db2f476e /libgfortran/generated
parent1453564b3e4f12b7fd27a500880ba00adb0727f1 (diff)
downloadgcc-4010308ce53f36930935a230441630c8f5e79b86.zip
gcc-4010308ce53f36930935a230441630c8f5e79b86.tar.gz
gcc-4010308ce53f36930935a230441630c8f5e79b86.tar.bz2
spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable.
2006-10-13 Steven G. Kargl <kargl@gcc.gnu.org> * m4/spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable. * m4/rrspacing.m4: Ditto. * generated/spacing_r4.c: Regenerated. * generated/spacing_r8.c: Ditto. * generated/spacing_r10.c: Ditto. * generated/spacing_r16.c: Ditto. * generated/rrspacing_r4.c: Ditto. * generated/rrspacing_r8.c: Ditto. * generated/rrspacing_r10.c: Ditto. * generated/rrspacing_r16.c: Ditto. From-SVN: r117703
Diffstat (limited to 'libgfortran/generated')
-rw-r--r--libgfortran/generated/rrspacing_r10.c7
-rw-r--r--libgfortran/generated/rrspacing_r16.c7
-rw-r--r--libgfortran/generated/rrspacing_r4.c7
-rw-r--r--libgfortran/generated/rrspacing_r8.c7
-rw-r--r--libgfortran/generated/spacing_r10.c6
-rw-r--r--libgfortran/generated/spacing_r16.c6
-rw-r--r--libgfortran/generated/spacing_r4.c6
-rw-r--r--libgfortran/generated/spacing_r8.c6
8 files changed, 44 insertions, 8 deletions
diff --git a/libgfortran/generated/rrspacing_r10.c b/libgfortran/generated/rrspacing_r10.c
index 315fb1b..2950b71 100644
--- a/libgfortran/generated/rrspacing_r10.c
+++ b/libgfortran/generated/rrspacing_r10.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_10) && defined (HAVE_FABSL) && defined (HAVE_FREXPL) && defined (HAVE_LDEXPL)
+#if defined (HAVE_GFC_REAL_10) && defined (HAVE_FABSL) && defined (HAVE_FREXPL)
extern GFC_REAL_10 rrspacing_r10 (GFC_REAL_10 s, int p);
export_proto(rrspacing_r10);
@@ -47,7 +47,12 @@ rrspacing_r10 (GFC_REAL_10 s, int p)
if (x == 0.)
return 0.;
frexpl (s, &e);
+#if defined (HAVE_LDEXPL)
return ldexpl (x, p - e);
+#else
+ return scalbnl (x, p - e);
+#endif
+
}
#endif
diff --git a/libgfortran/generated/rrspacing_r16.c b/libgfortran/generated/rrspacing_r16.c
index d18a9c3..20225d4 100644
--- a/libgfortran/generated/rrspacing_r16.c
+++ b/libgfortran/generated/rrspacing_r16.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_16) && defined (HAVE_FABSL) && defined (HAVE_FREXPL) && defined (HAVE_LDEXPL)
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_FABSL) && defined (HAVE_FREXPL)
extern GFC_REAL_16 rrspacing_r16 (GFC_REAL_16 s, int p);
export_proto(rrspacing_r16);
@@ -47,7 +47,12 @@ rrspacing_r16 (GFC_REAL_16 s, int p)
if (x == 0.)
return 0.;
frexpl (s, &e);
+#if defined (HAVE_LDEXPL)
return ldexpl (x, p - e);
+#else
+ return scalbnl (x, p - e);
+#endif
+
}
#endif
diff --git a/libgfortran/generated/rrspacing_r4.c b/libgfortran/generated/rrspacing_r4.c
index 0c7d182..89be40b 100644
--- a/libgfortran/generated/rrspacing_r4.c
+++ b/libgfortran/generated/rrspacing_r4.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_4) && defined (HAVE_FABSF) && defined (HAVE_FREXPF) && defined (HAVE_LDEXPF)
+#if defined (HAVE_GFC_REAL_4) && defined (HAVE_FABSF) && defined (HAVE_FREXPF)
extern GFC_REAL_4 rrspacing_r4 (GFC_REAL_4 s, int p);
export_proto(rrspacing_r4);
@@ -47,7 +47,12 @@ rrspacing_r4 (GFC_REAL_4 s, int p)
if (x == 0.)
return 0.;
frexpf (s, &e);
+#if defined (HAVE_LDEXPF)
return ldexpf (x, p - e);
+#else
+ return scalbnf (x, p - e);
+#endif
+
}
#endif
diff --git a/libgfortran/generated/rrspacing_r8.c b/libgfortran/generated/rrspacing_r8.c
index 3969f66..9dc8738 100644
--- a/libgfortran/generated/rrspacing_r8.c
+++ b/libgfortran/generated/rrspacing_r8.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FABS) && defined (HAVE_FREXP) && defined (HAVE_LDEXP)
+#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FABS) && defined (HAVE_FREXP)
extern GFC_REAL_8 rrspacing_r8 (GFC_REAL_8 s, int p);
export_proto(rrspacing_r8);
@@ -47,7 +47,12 @@ rrspacing_r8 (GFC_REAL_8 s, int p)
if (x == 0.)
return 0.;
frexp (s, &e);
+#if defined (HAVE_LDEXP)
return ldexp (x, p - e);
+#else
+ return scalbn (x, p - e);
+#endif
+
}
#endif
diff --git a/libgfortran/generated/spacing_r10.c b/libgfortran/generated/spacing_r10.c
index fd11ab6..797920c 100644
--- a/libgfortran/generated/spacing_r10.c
+++ b/libgfortran/generated/spacing_r10.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_10) && defined (HAVE_FREXPL) && defined (HAVE_LDEXPL)
+#if defined (HAVE_GFC_REAL_10) && defined (HAVE_FREXPL)
extern GFC_REAL_10 spacing_r10 (GFC_REAL_10 s, int p, int emin, GFC_REAL_10 tiny);
export_proto(spacing_r10);
@@ -47,7 +47,11 @@ spacing_r10 (GFC_REAL_10 s, int p, int emin, GFC_REAL_10 tiny)
frexpl (s, &e);
e = e - p;
e = e > emin ? e : emin;
+#if defined (HAVE_LDEXPL)
return ldexpl (1., e);
+#else
+ return scalbnl (1., e);
+#endif
}
#endif
diff --git a/libgfortran/generated/spacing_r16.c b/libgfortran/generated/spacing_r16.c
index 333221a..c13e9b11 100644
--- a/libgfortran/generated/spacing_r16.c
+++ b/libgfortran/generated/spacing_r16.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_16) && defined (HAVE_FREXPL) && defined (HAVE_LDEXPL)
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_FREXPL)
extern GFC_REAL_16 spacing_r16 (GFC_REAL_16 s, int p, int emin, GFC_REAL_16 tiny);
export_proto(spacing_r16);
@@ -47,7 +47,11 @@ spacing_r16 (GFC_REAL_16 s, int p, int emin, GFC_REAL_16 tiny)
frexpl (s, &e);
e = e - p;
e = e > emin ? e : emin;
+#if defined (HAVE_LDEXPL)
return ldexpl (1., e);
+#else
+ return scalbnl (1., e);
+#endif
}
#endif
diff --git a/libgfortran/generated/spacing_r4.c b/libgfortran/generated/spacing_r4.c
index 41cc72e..1e09e11 100644
--- a/libgfortran/generated/spacing_r4.c
+++ b/libgfortran/generated/spacing_r4.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_4) && defined (HAVE_FREXPF) && defined (HAVE_LDEXPF)
+#if defined (HAVE_GFC_REAL_4) && defined (HAVE_FREXPF)
extern GFC_REAL_4 spacing_r4 (GFC_REAL_4 s, int p, int emin, GFC_REAL_4 tiny);
export_proto(spacing_r4);
@@ -47,7 +47,11 @@ spacing_r4 (GFC_REAL_4 s, int p, int emin, GFC_REAL_4 tiny)
frexpf (s, &e);
e = e - p;
e = e > emin ? e : emin;
+#if defined (HAVE_LDEXPF)
return ldexpf (1., e);
+#else
+ return scalbnf (1., e);
+#endif
}
#endif
diff --git a/libgfortran/generated/spacing_r8.c b/libgfortran/generated/spacing_r8.c
index 0f92521..cde5d96 100644
--- a/libgfortran/generated/spacing_r8.c
+++ b/libgfortran/generated/spacing_r8.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FREXP) && defined (HAVE_LDEXP)
+#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FREXP)
extern GFC_REAL_8 spacing_r8 (GFC_REAL_8 s, int p, int emin, GFC_REAL_8 tiny);
export_proto(spacing_r8);
@@ -47,7 +47,11 @@ spacing_r8 (GFC_REAL_8 s, int p, int emin, GFC_REAL_8 tiny)
frexp (s, &e);
e = e - p;
e = e > emin ? e : emin;
+#if defined (HAVE_LDEXP)
return ldexp (1., e);
+#else
+ return scalbn (1., e);
+#endif
}
#endif