def _test(chat=None): if chat: print "Unit tests for gmpy2 (mpq functionality)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print "Repeating tests, with caching disabled" _g.set_cache(0, 128) sav = sys.stdout class _Dummy: def write(self, *whatever): pass try: sys.stdout = _Dummy() doctest.testmod(thismod, report=0) finally: sys.stdout = sav if chat: print print "Overall results for mpq:" return doctest.master.summarize(chat)
def _test(chat=None): python_version = sys.version_info[:3] if chat: print "Unit tests for gmpy2 (decimal interoperation)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) if not _d: if chat: print "Can't test, since can't import decimal" return 0, 0 thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) if chat: print print "Overall results for dec:" return doctest.master.summarize(chat)
def _test(chat=None): if chat: print("Unit tests for gmpy2 (mpq functionality)") print(" on Python %s" % sys.version) print("Testing gmpy2 {0}".format(_g.version())) print(" Mutliple-precision library: {0}".format(_g.mp_version())) print(" Floating-point library: {0}".format(_g.mpfr_version())) print(" Complex library: {0}".format(_g.mpc_version())) print(" Caching Values: (Number) {0}".format(_g.get_cache()[0])) print(" Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1])) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print("Repeating tests, with caching disabled") _g.set_cache(0,128) sav = sys.stdout class _Dummy: encoding = None def write(self,*whatever): pass try: sys.stdout = _Dummy() doctest.testmod(thismod, report=0) finally: sys.stdout = sav if chat: print() print("Overall results for mpq:") return doctest.master.summarize(chat)
def _test(chat=None): if chat: print("Unit tests for gmpy2 (mpfr functionality)") print(" on Python %s" % sys.version) print("Testing gmpy2 {0}".format(_g.version())) print(" Mutliple-precision library: {0}".format(_g.mp_version())) print(" Floating-point library: {0}".format(_g.mpfr_version())) print(" Complex library: {0}".format(_g.mpc_version())) print(" Caching Values: (Number) {0}".format(_g.get_cache()[0])) print(" Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1])) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print("Repeating tests, with caching disabled") _g.set_cache(0,128) sav = sys.stdout class _Dummy: encoding = None def write(self,*whatever): pass try: sys.stdout = _Dummy() doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) finally: sys.stdout = sav if chat: print() print("Overall results for mpfr:") return doctest.master.summarize(chat)
def _test(chat=None): if chat: print "Unit tests for gmpy2 (mpfr functionality)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print "Repeating tests, with caching disabled" _g.set_cache(0,128) sav = sys.stdout class _Dummy: def write(self,*whatever): pass try: sys.stdout = _Dummy() doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) finally: sys.stdout = sav if chat: print print "Overall results for mpfr:" return doctest.master.summarize(chat)
def _test(chat=None): if chat: print "Unit tests for gmpy2 (extra cover)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print print "Overall results for cvr:" return doctest.master.summarize(chat)
def _test(chat=None): if chat: print "Unit tests for gmpy2 (extra cover)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) if chat: print print "Overall results for cvr:" return doctest.master.summarize(chat)
def _test(chat=None): if chat: print("Unit tests for gmpy2 (extra cover)") print(" on Python %s" % sys.version) print("Testing gmpy2 {0}".format(_g.version())) print(" Mutliple-precision library: {0}".format(_g.mp_version())) print(" Floating-point library: {0}".format(_g.mpfr_version())) print(" Complex library: {0}".format(_g.mpc_version())) print(" Caching Values: (Number) {0}".format(_g.get_cache()[0])) print(" Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1])) print(__test__.keys()) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print() print("Overall results for cvr:") return doctest.master.summarize(chat)
def _test(chat=None): if chat: print("Unit tests for gmpy2 (decimal interoperation)") print(" on Python %s" % sys.version) print("Testing gmpy2 {0}".format(_g.version())) print(" Mutliple-precision library: {0}".format(_g.mp_version())) print(" Floating-point library: {0}".format(_g.mpfr_version())) print(" Complex library: {0}".format(_g.mpc_version())) print(" Caching Values: (Number) {0}".format(_g.get_cache()[0])) print(" Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1])) if not _d: if chat: print("Can't test, since can't import decimal") return 0, 0 thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0) if chat: print() print("Overall results for dec:") return doctest.master.summarize(chat)
def _test(chat=None): if chat: print("Unit tests for gmpy2 (extra cover)") print(" on Python %s" % sys.version) print("Testing gmpy2 {0}".format(_g.version())) print(" Mutliple-precision library: {0}".format(_g.mp_version())) print(" Floating-point library: {0}".format(_g.mpfr_version())) print(" Complex library: {0}".format(_g.mpc_version())) print(" Caching Values: (Number) {0}".format(_g.get_cache()[0])) print(" Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1])) print(__test__.keys()) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) if chat: print() print("Overall results for cvr:") return doctest.master.summarize(chat)
def _test(chat=None): try: float('nan') except ValueError: if "special" in __test__: del(__test__["special"]) if chat: print "Unit tests for gmpy2 (mpz functionality)" print " on Python %s" % sys.version print "Testing gmpy2 {0}".format(_g.version()) print " Mutliple-precision library: {0}".format(_g.mp_version()) print " Floating-point library: {0}".format(_g.mpfr_version()) print " Complex library: {0}".format(_g.mpc_version()) print " Caching Values: (Number) {0}".format(_g.get_cache()[0]) print " Caching Values: (Size, limbs) {0}".format(_g.get_cache()[1]) thismod = sys.modules.get(__name__) doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) if chat: print "Repeating tests, with caching disabled" _g.set_cache(0,128) sav = sys.stdout class _Dummy: def write(self,*whatever): pass try: sys.stdout = _Dummy() doctest.testmod(thismod, report=0, optionflags=doctest.IGNORE_EXCEPTION_DETAIL) finally: sys.stdout = sav if chat: print print "Overall results for mpz:" return doctest.master.summarize(chat)
# Change repeat to the number of times to repeat each test. Combined with a # debug build, this can help identify memory leaks. if debug: try: repeat = abs(int(sys.argv[1])) except: repeat = 1 else: repeat = 1 print() print("Unit tests for gmpy2 {0} with Python {1}".format( gmpy2.version(), sys.version.split()[0])) print(" Mutliple-precision library: {0}".format(gmpy2.mp_version())) print(" Floating-point library: {0}".format(gmpy2.mpfr_version())) print(" Complex library: {0}".format(gmpy2.mpc_version())) print(" Caching Values: (Cache size) {0}".format(gmpy2.get_cache()[0])) print(" Caching Values: (Size in limbs) {0}".format(gmpy2.get_cache()[1])) print() if sys.version.startswith('3.1'): print( "Due to differences in formatting of exceptions and Python 3.x, there") print( "will be test failures for exception handling when the tests are run") print( "with Python 3.1. The doctest module in Python 3.2 and later does not") print("have this issue.") print() input("Press ENTER to continue.. ")
debug = False # Change repeat to the number of times to repeat each test. Combined with a # debug build, this can help identify memory leaks. if debug: try: repeat = abs(int(sys.argv[1])) except: repeat = 1 else: repeat = 1 print() print("Unit tests for gmpy2 {0} with Python {1}".format(gmpy2.version(), sys.version.split()[0])) print(" Mutliple-precision library: {0}".format(gmpy2.mp_version())) print(" Floating-point library: {0}".format(gmpy2.mpfr_version())) print(" Complex library: {0}".format(gmpy2.mpc_version())) print(" Caching Values: (Cache size) {0}".format(gmpy2.get_cache()[0])) print(" Caching Values: (Size in limbs) {0}".format(gmpy2.get_cache()[1])) print() if sys.version.startswith('3.1'): print("Due to differences in formatting of exceptions and Python 3.x, there") print("will be test failures for exception handling when the tests are run") print("with Python 3.1. The doctest module in Python 3.2 and later does not") print("have this issue.") print() input("Press ENTER to continue.. ") print() mpz_doctests = ["test_mpz_create.txt", "test_mpz.txt", "test_mpz_io.txt",
## along with FP_Test_Generator. If not, see ## ## <http://www.gnu.org/licenses/>. ## ## ## ############################################################################## from math import log2 from mpf.floats import MPF, RM_RNE, RM_RNA, RM_RTP, RM_RTN, RM_RTZ from mpf.rationals import Rational import gmpy2 from validation import Unsupported NAME = "%s (via gmpy2 %s)" % (gmpy2.mpfr_version(), gmpy2.version()) MPF_TO_MPFR_RM = {RM_RNE : gmpy2.RoundToNearest, RM_RTP : gmpy2.RoundUp, RM_RTN : gmpy2.RoundDown, RM_RTZ : gmpy2.RoundToZero} # MPFR in general does not support RM_RNA. # # You might be tempted to assume RM_RNA is RoundAwayZero, but this is # not correct. That rounding mode is really the inverse of # RoundToZero, i.e. it always does this and not just at half-points. def mpf_to_mpfr(f): assert isinstance(f, MPF)
if not mpc_version_110 and SKIP_MPC_LESS_THAN_110 in example.options: example.options[SKIP] = True if debug and SKIP_IN_DEBUG_MODE in example.options: example.options[SKIP] = True return examples parser = Gmpy2DocTestParser() print() print("Unit tests for gmpy2 {0} with Python {1}".format( gmpy2.version(), sys.version.split()[0])) print(" Mutliple-precision library: {0}".format(gmpy2.mp_version())) print(" Floating-point library: {0}".format(gmpy2.mpfr_version())) print(" Complex library: {0}".format(gmpy2.mpc_version())) print(" Caching Values: (Cache size) {0}".format(gmpy2.get_cache()[0])) print(" Caching Values: (Size in limbs) {0}".format(gmpy2.get_cache()[1])) print() if sys.version.startswith('3.1.'): print( "Due to differences in formatting of exceptions and Python 3.x, there") print( "will be test failures for exception handling when the tests are run") print( "with Python 3.1. The doctest module in Python 3.2 and later does not") print("have this issue.") print() input("Press ENTER to continue.. ")