aboutsummaryrefslogtreecommitdiff
path: root/py/mpz.h
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-03-23 01:52:36 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-03-23 01:59:11 +0200
commit57207b88184f005616de1af4af5e9e9632a4503a (patch)
treedac9b0d716621aababad41e9990788a541d968e8 /py/mpz.h
parentfd232c3ef7d318f47b8d5a32366b96f7375fa407 (diff)
objint_mpz: Quick&dirty implementation of bitwise operations.
Made solely to unbreak int-long.py test which in turn uncovered thinko with implementation of inplace ops. On mpz level, bitwise ops implemented only for same-sign numbers, and are not efficient (unconditional calling of mpn_cmp() is apparently superfluous).
Diffstat (limited to 'py/mpz.h')
-rw-r--r--py/mpz.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/py/mpz.h b/py/mpz.h
index afd46cfde..777889322 100644
--- a/py/mpz.h
+++ b/py/mpz.h
@@ -59,6 +59,9 @@ void mpz_add_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
void mpz_sub_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
void mpz_mul_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
void mpz_pow_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
+void mpz_and_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
+void mpz_or_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
+void mpz_xor_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs);
mpz_t *mpz_gcd(const mpz_t *z1, const mpz_t *z2);
mpz_t *mpz_lcm(const mpz_t *z1, const mpz_t *z2);