summaryrefslogtreecommitdiffstatshomepage
path: root/py/mpz.h
diff options
context:
space:
mode:
authorDavid Steinberg <david.steinberg.dev@gmail.com>2015-01-02 12:39:22 +0000
committerDamien George <damien.p.george@gmail.com>2015-01-02 22:31:41 +0000
commit6e0b6d02dbe238e6e3d675b51e44b2ac798ddd20 (patch)
treee9d05c0e7b27da54ee3af4fd27ebd7e227c3bf08 /py/mpz.h
parentffc96a901a13f6f114368ad50a1d7189c0826822 (diff)
downloadmicropython-6e0b6d02dbe238e6e3d675b51e44b2ac798ddd20.tar.gz
micropython-6e0b6d02dbe238e6e3d675b51e44b2ac798ddd20.zip
py: Fix float to int conversion for large exponents.
Diffstat (limited to 'py/mpz.h')
-rw-r--r--py/mpz.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/py/mpz.h b/py/mpz.h
index e1d71bf4ae..d2b6fad5c6 100644
--- a/py/mpz.h
+++ b/py/mpz.h
@@ -85,6 +85,9 @@ void mpz_deinit(mpz_t *z);
mpz_t *mpz_zero(void);
mpz_t *mpz_from_int(mp_int_t i);
mpz_t *mpz_from_ll(long long i, bool is_signed);
+#if MICROPY_PY_BUILTINS_FLOAT
+mpz_t *mpz_from_float(mp_float_t i);
+#endif
mpz_t *mpz_from_str(const char *str, mp_uint_t len, bool neg, mp_uint_t base);
void mpz_free(mpz_t *z);
@@ -93,6 +96,9 @@ mpz_t *mpz_clone(const mpz_t *src);
void mpz_set(mpz_t *dest, const mpz_t *src);
void mpz_set_from_int(mpz_t *z, mp_int_t src);
void mpz_set_from_ll(mpz_t *z, long long i, bool is_signed);
+#if MICROPY_PY_BUILTINS_FLOAT
+void mpz_set_from_float(mpz_t *z, mp_float_t src);
+#endif
mp_uint_t mpz_set_from_str(mpz_t *z, const char *str, mp_uint_t len, bool neg, mp_uint_t base);
bool mpz_is_zero(const mpz_t *z);