test_long_future.py
来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 56 行
PY
56 行
from __future__ import division# When true division is the default, get rid of this and add it to# test_long.py instead. In the meantime, it's too obscure to try to# trick just part of test_long into using future division.from test_support import TestFailed, verify, verbosedef test_true_division(): if verbose: print "long true division" huge = 1L << 40000 mhuge = -huge verify(huge / huge == 1.0) verify(mhuge / mhuge == 1.0) verify(huge / mhuge == -1.0) verify(mhuge / huge == -1.0) verify(1 / huge == 0.0) verify(1L / huge == 0.0) verify(1 / mhuge == 0.0) verify(1L / mhuge == 0.0) verify((666 * huge + (huge >> 1)) / huge == 666.5) verify((666 * mhuge + (mhuge >> 1)) / mhuge == 666.5) verify((666 * huge + (huge >> 1)) / mhuge == -666.5) verify((666 * mhuge + (mhuge >> 1)) / huge == -666.5) verify(huge / (huge << 1) == 0.5) verify((1000000 * huge) / huge == 1000000) namespace = {'huge': huge, 'mhuge': mhuge} for overflow in ["float(huge)", "float(mhuge)", "huge / 1", "huge / 2L", "huge / -1", "huge / -2L", "mhuge / 100", "mhuge / 100L"]: try: eval(overflow, namespace) except OverflowError: pass else: raise TestFailed("expected OverflowError from %r" % overflow) for underflow in ["1 / huge", "2L / huge", "-1 / huge", "-2L / huge", "100 / mhuge", "100L / mhuge"]: result = eval(underflow, namespace) if result != 0.0: raise TestFailed("expected underflow to 0 from %r" % underflow) for zero in ["huge / 0", "huge / 0L", "mhuge / 0", "mhuge / 0L"]: try: eval(zero, namespace) except ZeroDivisionError: pass else: raise TestFailed("expected ZeroDivisionError from %r" % zero)test_true_division()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?