summaryrefslogtreecommitdiff
path: root/gmpxx.h
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2021-06-20 15:21:23 +0200
committerMarc Glisse <marc.glisse@inria.fr>2021-06-20 15:21:23 +0200
commitc119edcc7a78e40560727d5e9505a392f956715a (patch)
tree1ec30a9938399c5ac76915149c88a19a2ad3c860 /gmpxx.h
parentcc198b538fcb2c3ccc8562a9bdb960644055b2b7 (diff)
downloadgmp-c119edcc7a78e40560727d5e9505a392f956715a.tar.gz
Add constructor mpq_class(mpz_class&&)
Surprisingly, the corresponding test was already present.
Diffstat (limited to 'gmpxx.h')
-rw-r--r--gmpxx.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gmpxx.h b/gmpxx.h
index 0342116ef..0d5c6e374 100644
--- a/gmpxx.h
+++ b/gmpxx.h
@@ -1795,6 +1795,12 @@ public:
#if __GMPXX_USE_CXX11
__gmp_expr(__gmp_expr &&q)
{ *mp = *q.mp; mpq_init(q.mp); }
+ __gmp_expr(mpz_class &&z)
+ {
+ *mpq_numref(mp) = *z.get_mpz_t();
+ mpz_init_set_ui(mpq_denref(mp), 1);
+ mpz_init(z.get_mpz_t());
+ }
#endif
template <class T>
__gmp_expr(const __gmp_expr<mpz_t, T> &expr)