66 lines
2.4 KiB
Diff
66 lines
2.4 KiB
Diff
|
From ead5f4da759465cf6fc2ceab7c431d3550a3323f Mon Sep 17 00:00:00 2001
|
||
|
From: Timo Paulssen <timonator@perpetuum-immobile.de>
|
||
|
Date: Tue, 15 Jan 2019 12:35:56 +0100
|
||
|
Subject: [PATCH] Fix Name Collision With Existing LibTomMath Function
|
||
|
|
||
|
fixes #1032
|
||
|
|
||
|
Upstream: https://github.com/MoarVM/MoarVM/commit/f7204a3ee5199dd70f26d6fe133008cc86c63bbe
|
||
|
(backported mp_get_double() as other functions weren't yet used)
|
||
|
|
||
|
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
|
||
|
---
|
||
|
src/math/bigintops.c | 12 ++++++------
|
||
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/src/math/bigintops.c b/src/math/bigintops.c
|
||
|
index 2275593..8ab7ed6 100644
|
||
|
--- a/src/math/bigintops.c
|
||
|
+++ b/src/math/bigintops.c
|
||
|
@@ -45,7 +45,7 @@ int MVM_bigint_mp_set_uint64(mp_int * a, MVMuint64 b) {
|
||
|
return MP_OKAY;
|
||
|
}
|
||
|
|
||
|
-static MVMnum64 mp_get_double(mp_int *a) {
|
||
|
+static MVMnum64 MVM_mp_get_double(mp_int *a) {
|
||
|
MVMnum64 d = 0.0;
|
||
|
MVMnum64 sign = SIGN(a) == MP_NEG ? -1.0 : 1.0;
|
||
|
int i;
|
||
|
@@ -680,8 +680,8 @@ MVMObject * MVM_bigint_pow(MVMThreadContext *tc, MVMObject *a, MVMObject *b,
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
- MVMnum64 f_base = mp_get_double(base);
|
||
|
- MVMnum64 f_exp = mp_get_double(exponent);
|
||
|
+ MVMnum64 f_base = MVM_mp_get_double(base);
|
||
|
+ MVMnum64 f_exp = MVM_mp_get_double(exponent);
|
||
|
r = MVM_repr_box_num(tc, num_type, pow(f_base, f_exp));
|
||
|
}
|
||
|
clear_temp_bigints(tmp, 2);
|
||
|
@@ -880,7 +880,7 @@ MVMnum64 MVM_bigint_to_num(MVMThreadContext *tc, MVMObject *a) {
|
||
|
|
||
|
if (MVM_BIGINT_IS_BIG(ba)) {
|
||
|
mp_int *ia = ba->u.bigint;
|
||
|
- return mp_get_double(ia);
|
||
|
+ return MVM_mp_get_double(ia);
|
||
|
} else {
|
||
|
return (double)ba->u.smallint.value;
|
||
|
}
|
||
|
@@ -913,11 +913,11 @@ MVMnum64 MVM_bigint_div_num(MVMThreadContext *tc, MVMObject *a, MVMObject *b) {
|
||
|
mp_init(&reduced_b);
|
||
|
mp_div_2d(ia, max_size - 1023, &reduced_a, NULL);
|
||
|
mp_div_2d(ib, max_size - 1023, &reduced_b, NULL);
|
||
|
- c = mp_get_double(&reduced_a) / mp_get_double(&reduced_b);
|
||
|
+ c = MVM_mp_get_double(&reduced_a) / MVM_mp_get_double(&reduced_b);
|
||
|
mp_clear(&reduced_a);
|
||
|
mp_clear(&reduced_b);
|
||
|
} else {
|
||
|
- c = mp_get_double(ia) / mp_get_double(ib);
|
||
|
+ c = MVM_mp_get_double(ia) / MVM_mp_get_double(ib);
|
||
|
}
|
||
|
clear_temp_bigints(tmp, 2);
|
||
|
} else {
|
||
|
--
|
||
|
1.9.1
|
||
|
|