[Gmp-commit] /var/hg/gmp: mini-gmp: Add knob MINI_GMP_ENABLE_FLOAT.
mercurial at gmplib.org
mercurial at gmplib.org
Wed Sep 24 15:37:01 CEST 2025
details: /var/hg/gmp/rev/b54d1f94b4ee
changeset: 18489:b54d1f94b4ee
user: Niels Möller <nisse at lysator.liu.se>
date: Wed Sep 24 15:34:54 2025 +0200
description:
mini-gmp: Add knob MINI_GMP_ENABLE_FLOAT.
Defined to 1 by default. If defined to 0 when building mini-gmp.c and
mini-mpq.c, functions using floating point numbers, e.g., mpz_set_d,
are excluded.
diffstat:
ChangeLog | 5 +++++
bootstrap.c | 2 +-
mini-gmp/ChangeLog | 10 ++++++++++
mini-gmp/mini-gmp.c | 8 +++++++-
mini-gmp/mini-mpq.c | 7 ++++++-
5 files changed, 29 insertions(+), 3 deletions(-)
diffs (104 lines):
diff -r 1dc7d5dabc8d -r b54d1f94b4ee ChangeLog
--- a/ChangeLog Fri Sep 19 17:18:39 2025 +0200
+++ b/ChangeLog Wed Sep 24 15:34:54 2025 +0200
@@ -1,3 +1,8 @@
+2025-09-24 Niels Möller <nisse at lysator.liu.se>
+
+ * bootstrap.c (MINI_GMP_ENABLE_FLOAT): Define to 0. Replaces...
+ (MINI_GMP_DONT_USE_FLOAT_H): Deleted.
+
2025-09-19 Marc Glisse <marc.glisse at inria.fr>
* acinclude.m4 (alloca array): Remove broken test.
diff -r 1dc7d5dabc8d -r b54d1f94b4ee bootstrap.c
--- a/bootstrap.c Fri Sep 19 17:18:39 2025 +0200
+++ b/bootstrap.c Wed Sep 24 15:34:54 2025 +0200
@@ -29,7 +29,7 @@
see https://www.gnu.org/licenses/. */
-#define MINI_GMP_DONT_USE_FLOAT_H 1
+#define MINI_GMP_ENABLE_FLOAT 0
#include "mini-gmp/mini-gmp.c"
#define MIN(l,o) ((l) < (o) ? (l) : (o))
diff -r 1dc7d5dabc8d -r b54d1f94b4ee mini-gmp/ChangeLog
--- a/mini-gmp/ChangeLog Fri Sep 19 17:18:39 2025 +0200
+++ b/mini-gmp/ChangeLog Wed Sep 24 15:34:54 2025 +0200
@@ -1,3 +1,13 @@
+2025-09-24 Niels Möller <nisse at lysator.liu.se>
+
+ * mini-gmp.c (MINI_GMP_ENABLE_FLOAT): New knob, to disable
+ floating point functions, default to 1. Replaces
+ MINI_GMP_DONT_USE_FLOAT_H.
+ (mpz_set_d, mpz_init_set_d, mpz_get_d, mpz_cmpabs_d, mpz_cmp_d):
+ Make conditional on MINI_GMP_ENABLE_FLOAT.
+ * mini-mpq.c (MINI_GMP_ENABLE_FLOAT): Analogous change.
+ (mpq_set_d, mpq_get_d): Make conditional on MINI_GMP_ENABLE_FLOAT.
+
2025-08-27 Niels Möller <nisse at lysator.liu.se>
* mini-gmp.c (mpz_import): Return early when count == 0, to avoid
diff -r 1dc7d5dabc8d -r b54d1f94b4ee mini-gmp/mini-gmp.c
--- a/mini-gmp/mini-gmp.c Fri Sep 19 17:18:39 2025 +0200
+++ b/mini-gmp/mini-gmp.c Wed Sep 24 15:34:54 2025 +0200
@@ -51,7 +51,11 @@
#include "mini-gmp.h"
-#if !defined(MINI_GMP_DONT_USE_FLOAT_H)
+#ifndef MINI_GMP_ENABLE_FLOAT
+#define MINI_GMP_ENABLE_FLOAT 1
+#endif
+
+#if MINI_GMP_ENABLE_FLOAT
#include <float.h>
#endif
@@ -1705,6 +1709,7 @@
}
+#if MINI_GMP_ENABLE_FLOAT
/* Conversions and comparison to double. */
void
mpz_set_d (mpz_t r, double x)
@@ -1861,6 +1866,7 @@
return mpz_cmpabs_d (x, d);
}
}
+#endif /* MINI_GMP_ENABLE_FLOAT */
/* MPZ comparisons and the like. */
diff -r 1dc7d5dabc8d -r b54d1f94b4ee mini-gmp/mini-mpq.c
--- a/mini-gmp/mini-mpq.c Fri Sep 19 17:18:39 2025 +0200
+++ b/mini-gmp/mini-mpq.c Wed Sep 24 15:34:54 2025 +0200
@@ -41,6 +41,10 @@
#include "mini-mpq.h"
+#ifndef MINI_GMP_ENABLE_FLOAT
+#define MINI_GMP_ENABLE_FLOAT 1
+#endif
+
#ifndef GMP_LIMB_HIGHBIT
/* Define macros and static functions already defined by mini-gmp.c */
#define GMP_LIMB_BITS (sizeof(mp_limb_t) * CHAR_BIT)
@@ -420,6 +424,7 @@
}
+#if MINI_GMP_ENABLE_FLOAT
/* MPQ to/from double. */
void
mpq_set_d (mpq_t r, double x)
@@ -472,7 +477,7 @@
return ret;
}
-
+#endif /* MINI_GMP_ENABLE_FLOAT */
/* MPQ and strings/streams. */
char *
More information about the gmp-commit
mailing list