Skip to content

Commit

Permalink
+1
Browse files Browse the repository at this point in the history
  • Loading branch information
skirpichev committed Nov 21, 2023
1 parent b20b7a7 commit b0bc4ae
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 11 deletions.
38 changes: 37 additions & 1 deletion test/test_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,13 +157,49 @@ def test_local_context():


def test_context_repr():
assert repr(get_context()) == \
ctx = get_context()
assert repr(ctx) == \
"""context(precision=53, real_prec=Default, imag_prec=Default,\n\
round=RoundToNearest, real_round=Default, imag_round=Default,\n\
emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\
trap_underflow=False, underflow=False,\n trap_overflow=False,\
overflow=False,\n trap_inexact=False, inexact=False,\n\
trap_invalid=False, invalid=False,\n trap_erange=False,\
erange=False,\n trap_divzero=False, divzero=False,\n\
allow_complex=False,\n rational_division=False,\n\
allow_release_gil=False)"""

ctx.real_prec = 100
ctx.imag_prec = 200
assert repr(ctx) == \
"""context(precision=53, real_prec=100, imag_prec=200,\n\
round=RoundToNearest, real_round=Default, imag_round=Default,\n\
emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\
trap_underflow=False, underflow=False,\n trap_overflow=False,\
overflow=False,\n trap_inexact=False, inexact=False,\n\
trap_invalid=False, invalid=False,\n trap_erange=False,\
erange=False,\n trap_divzero=False, divzero=False,\n\
allow_complex=False,\n rational_division=False,\n\
allow_release_gil=False)"""
ctx.trap_invalid = True
assert repr(ctx) == \
"""context(precision=53, real_prec=100, imag_prec=200,\n\
round=RoundToNearest, real_round=Default, imag_round=Default,\n\
emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\
trap_underflow=False, underflow=False,\n trap_overflow=False,\
overflow=False,\n trap_inexact=False, inexact=False,\n\
trap_invalid=True, invalid=False,\n trap_erange=False,\
erange=False,\n trap_divzero=False, divzero=False,\n\
allow_complex=False,\n rational_division=False,\n\
allow_release_gil=False)"""
pytest.raises(gmpy2.InvalidOperationError, lambda: mpfr('nan') % 123)
assert repr(ctx) == \
"""context(precision=53, real_prec=100, imag_prec=200,\n\
round=RoundToNearest, real_round=Default, imag_round=Default,\n\
emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\
trap_underflow=False, underflow=False,\n trap_overflow=False,\
overflow=False,\n trap_inexact=False, inexact=False,\n\
trap_invalid=True, invalid=True,\n trap_erange=False,\
erange=False,\n trap_divzero=False, divzero=False,\n\
allow_complex=False,\n rational_division=False,\n\
allow_release_gil=False)"""
25 changes: 15 additions & 10 deletions test/test_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@
from gmpy2 import (acos, acosh, asin, asinh, atan, atan2, atanh, c_div,
c_divmod, c_mod, can_round, check_range, context, copy_sign,
cos, cosh, cot, coth, csc, csch, degrees, f2q, f_div,
f_divmod, f_mod, fac, fma, fmma, fmms, fms, from_binary,
get_context, get_emax_max, get_emin_min, get_exp, ieee, inf,
is_bpsw_prp, is_euler_prp, is_extra_strong_lucas_prp,
is_fermat_prp, is_fibonacci_prp, is_finite, is_infinite,
is_lucas_prp, is_nan, is_selfridge_prp, is_strong_bpsw_prp,
is_strong_lucas_prp, is_strong_prp, is_strong_selfridge_prp,
is_zero, maxnum, minnum, mpc, mpfr, mpfr_from_old_binary,
mpq, mpq_from_old_binary, mpz, mpz_from_old_binary, nan,
norm, phase, polar, powmod, powmod_sec, proj, radians, rect,
root, root_of_unity, rootn, sec, sech, set_context, set_exp,
f_divmod, f_mod, fac, fma, fmma, fmms, fms, free_cache,
from_binary, get_context, get_emax_max, get_emin_min,
get_exp, ieee, inf, is_bpsw_prp, is_euler_prp,
is_extra_strong_lucas_prp, is_fermat_prp, is_fibonacci_prp,
is_finite, is_infinite, is_lucas_prp, is_nan,
is_selfridge_prp, is_strong_bpsw_prp, is_strong_lucas_prp,
is_strong_prp, is_strong_selfridge_prp, is_zero, maxnum,
minnum, mpc, mpfr, mpfr_from_old_binary, mpq,
mpq_from_old_binary, mpz, mpz_from_old_binary, nan, norm,
phase, polar, powmod, powmod_sec, proj, radians, rect, root,
root_of_unity, rootn, sec, sech, set_context, set_exp,
set_sign, sign, sin, sin_cos, sinh, sinh_cosh, t_div,
t_divmod, t_mod, tan, tanh, zero)

Expand Down Expand Up @@ -923,3 +924,7 @@ def test_t_mod():

def test_get_max_precision():
assert gmpy2.get_max_precision() > 53


def test_free_cache():
assert free_cache() is None

0 comments on commit b0bc4ae

Please sign in to comment.