summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embed.fnc4
-rw-r--r--embed.h10
-rw-r--r--numeric.c2
-rw-r--r--proto.h4
4 files changed, 19 insertions, 1 deletions
diff --git a/embed.fnc b/embed.fnc
index 8e61254fc4..4547e1fa63 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1301,6 +1301,10 @@ s |COP* |closest_cop |COP *cop|OP *o
s |SV* |mess_alloc
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+sn |NV|mulexp10 |NV value|I32 exponent
+#endif
+
START_EXTERN_C
Apd |void |sv_setsv_flags |SV* dsv|SV* ssv|I32 flags
diff --git a/embed.h b/embed.h
index 325217b888..489a552d5b 100644
--- a/embed.h
+++ b/embed.h
@@ -2030,6 +2030,11 @@
#define mess_alloc S_mess_alloc
#endif
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mulexp10 S_mulexp10
+#endif
+#endif
#define sv_setsv_flags Perl_sv_setsv_flags
#define sv_catpvn_flags Perl_sv_catpvn_flags
#define sv_catsv_flags Perl_sv_catsv_flags
@@ -4496,6 +4501,11 @@
#define mess_alloc() S_mess_alloc(aTHX)
#endif
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mulexp10 S_mulexp10
+#endif
+#endif
#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
diff --git a/numeric.c b/numeric.c
index a2d57d627b..6232f8e74c 100644
--- a/numeric.c
+++ b/numeric.c
@@ -718,7 +718,7 @@ Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
return 0;
}
-NV
+STATIC NV
S_mulexp10(NV value, I32 exponent)
{
NV result = 1.0;
diff --git a/proto.h b/proto.h
index b8fe9780ac..2421889daa 100644
--- a/proto.h
+++ b/proto.h
@@ -1328,6 +1328,10 @@ STATIC COP* S_closest_cop(pTHX_ COP *cop, OP *o);
STATIC SV* S_mess_alloc(pTHX);
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+STATIC NV S_mulexp10(NV value, I32 exponent);
+#endif
+
START_EXTERN_C
PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags);