summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-05-24 21:39:53 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-05-24 21:39:53 +0000
commita36244b753e9b2747b70a6f37a7bcd86eaa61bcb (patch)
treed73f214fc3b31ff05dec205d9a5295567e34ac7c /perl.h
parent2d9f38380dc851bc1703b949879f3a47e731a03f (diff)
downloadperl-a36244b753e9b2747b70a6f37a7bcd86eaa61bcb.tar.gz
In some (rare) platforms (such as UNICOS) using the native
atof is still better. p4raw-id: //depot/perl@16771
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/perl.h b/perl.h
index 09be747ace..43678eee82 100644
--- a/perl.h
+++ b/perl.h
@@ -1428,8 +1428,30 @@ int isnan(double d);
# endif
#endif
-#define Perl_atof(s) Perl_my_atof(s)
-#define Perl_atof2(s, np) Perl_my_atof2(s, np)
+/* The default is to use Perl's own atof() implementation (in numeric.c).
+ * Usually that is the one to use but for some platforms (e.g. UNICOS)
+ * it is however best to use the native implementation of atof.
+ * You can experiment with using your native one by -DUSE_PERL_ATOF=0.
+ * Some good tests to try out with either setting are t/base/num.t,
+ * t/op/numconvert.t, and t/op/pack.t. */
+
+#ifndef USE_PERL_ATOF
+# ifndef _UNICOS
+# define USE_PERL_ATOF
+# endif
+#else
+# if USE_PERL_ATOF == 0
+# undef USE_PERL_ATOF
+# endif
+#endif
+
+#ifdef USE_PERL_ATOF
+# define Perl_atof(s) Perl_my_atof(s)
+# define Perl_atof2(s, n) Perl_my_atof2(aTHX_ (s), &(n))
+#else
+# define Perl_atof(s) (NV)atof(s)
+# define Perl_atof2(s, n) ((n) = atof(s))
+#endif
/* Previously these definitions used hardcoded figures.
* It is hoped these formula are more portable, although