scene.org File Archive

File download

<root>­/­parties­/­2018­/­thegathering18­/­fast_game_jam/taemasu_by_team_raakul.zip

File size:
44 397 040 bytes (42.34M)
File date:
2018-04-01 22:33:41
Download count:
all-time: 98

Preview

  • background4.png 91.52K
  • earthbeam.png 823B
  • enemy_earth.png 1.20K
  • enemy_fire.png 1.28K
  • enemy_water.png 1.24K
  • enemy_wind.png 1.23K
  • firebeam.png 712B
  • gameover.png 59.98K
  • healthbar.png 130B
  • lib/ dir
  • lib/_bz2.pyd 76.65K
  • lib/_ctypes.pyd 100.15K
  • lib/_decimal.pyd 211.65K
  • lib/_hashlib.pyd 1.07M
  • lib/_lzma.pyd 179.65K
  • lib/_multiprocessing.pyd 25.15K
  • lib/_socket.pyd 60.65K
  • lib/_ssl.pyd 1.39M
  • lib/_testcapi.pyd 74.65K
  • lib/collections/ dir
  • lib/collections/__init__.pyc 44.79K
  • lib/collections/abc.pyc 230B
  • lib/concurrent/ dir
  • lib/concurrent/__init__.pyc 171B
  • lib/concurrent/futures/ dir
  • lib/concurrent/futures/__init__.pyc 687B
  • lib/concurrent/futures/_base.pyc 20.17K
  • lib/concurrent/futures/process.pyc 15.50K
  • lib/concurrent/futures/thread.pyc 3.87K
  • lib/ctypes/ dir
  • lib/ctypes/__init__.pyc 15.73K
  • lib/ctypes/_endian.pyc 1.92K
  • lib/ctypes/macholib/ dir
  • lib/ctypes/macholib/__init__.pyc 338B
  • lib/ctypes/macholib/dyld.pyc 4.28K
  • lib/ctypes/macholib/dylib.pyc 1.92K
  • lib/ctypes/macholib/fetch_macholib 86B
  • lib/ctypes/macholib/fetch_macholib.bat 75B
  • lib/ctypes/macholib/framework.pyc 2.19K
  • lib/ctypes/macholib/README.ctypes 302B
  • lib/ctypes/test/ dir
  • lib/ctypes/util.pyc 7.10K
  • lib/ctypes/wintypes.pyc 5.02K
  • lib/curses/ dir
  • lib/curses/__init__.pyc 1.79K
  • lib/curses/has_key.pyc 4.19K
  • lib/distutils/ dir
  • lib/distutils/__init__.pyc 423B
  • lib/distutils/_msvccompiler.pyc 13.25K
  • lib/distutils/archive_util.pyc 6.27K
  • lib/distutils/ccompiler.pyc 32.61K
  • lib/distutils/cmd.pyc 14.68K
  • lib/distutils/command/ dir
  • lib/distutils/command/__init__.pyc 580B
  • lib/distutils/command/bdist.pyc 3.74K
  • lib/distutils/command/bdist_rpm.pyc 12.81K
  • lib/distutils/command/build.pyc 3.92K
  • lib/distutils/command/build_clib.pyc 4.90K
  • lib/distutils/command/build_ext.pyc 16.10K
  • lib/distutils/command/build_py.pyc 10.26K
  • lib/distutils/command/build_scripts.pyc 4.28K
  • lib/distutils/command/command_template 666B
  • lib/distutils/command/config.pyc 10.12K
  • lib/distutils/command/install.pyc 13.50K
  • lib/distutils/command/install_data.pyc 2.31K
  • lib/distutils/command/install_headers.pyc 1.73K
  • lib/distutils/command/install_scripts.pyc 2.18K
  • lib/distutils/command/sdist.pyc 12.71K
  • lib/distutils/command/wininst-10.0-amd64.exe 217.00K
  • lib/distutils/command/wininst-10.0.exe 186.50K
  • lib/distutils/command/wininst-14.0-amd64.exe 574.00K
  • lib/distutils/command/wininst-14.0.exe 447.50K
  • lib/distutils/command/wininst-6.0.exe 60.00K
  • lib/distutils/command/wininst-7.1.exe 64.00K
  • lib/distutils/command/wininst-8.0.exe 60.00K
  • lib/distutils/command/wininst-9.0-amd64.exe 219.00K
  • lib/distutils/command/wininst-9.0.exe 191.50K
  • lib/distutils/config.pyc 3.45K
  • lib/distutils/core.pyc 6.69K
  • lib/distutils/cygwinccompiler.pyc 8.35K
  • lib/distutils/debug.pyc 233B
  • lib/distutils/dep_util.pyc 2.68K
  • lib/distutils/dir_util.pyc 5.71K
  • lib/distutils/dist.pyc 33.38K
  • lib/distutils/errors.pyc 5.39K
  • lib/distutils/extension.pyc 6.83K
  • lib/distutils/fancy_getopt.pyc 10.45K
  • lib/distutils/file_util.pyc 5.80K
  • lib/distutils/filelist.pyc 9.68K
  • lib/distutils/log.pyc 2.25K
  • lib/distutils/msvc9compiler.pyc 17.08K
  • lib/distutils/msvccompiler.pyc 14.27K
  • lib/distutils/README 308B
  • lib/distutils/spawn.pyc 4.90K
  • lib/distutils/sysconfig.pyc 11.64K
  • lib/distutils/tests/ dir
  • lib/distutils/tests/Setup.sample 2.26K
  • lib/distutils/text_file.pyc 8.30K
  • lib/distutils/unixccompiler.pyc 6.42K
  • lib/distutils/util.pyc 15.21K
  • lib/distutils/version.pyc 7.23K
  • lib/distutils/versionpredicate.pyc 5.01K
  • lib/email/ dir
  • lib/email/__init__.pyc 1.68K
  • lib/email/_encoded_words.pyc 5.56K
  • lib/email/_header_value_parser.pyc 74.17K
  • lib/email/_parseaddr.pyc 12.19K
  • lib/email/_policybase.pyc 14.53K
  • lib/email/architecture.rst 9.55K
  • lib/email/base64mime.pyc 3.19K
  • lib/email/charset.pyc 11.29K
  • lib/email/contentmanager.pyc 7.16K
  • lib/email/encoders.pyc 1.65K
  • lib/email/errors.pyc 5.86K
  • lib/email/feedparser.pyc 10.44K
  • lib/email/generator.pyc 12.27K
  • lib/email/header.pyc 16.14K
  • lib/email/headerregistry.pyc 20.83K
  • lib/email/iterators.pyc 1.91K
  • lib/email/message.pyc 37.15K
  • lib/email/mime/ dir
  • lib/email/parser.pyc 5.64K
  • lib/email/policy.pyc 9.44K
  • lib/email/quoprimime.pyc 7.55K
  • lib/email/utils.pyc 9.69K
  • lib/encodings/ dir
  • lib/encodings/__init__.pyc 3.88K
  • lib/encodings/aliases.pyc 6.17K
  • lib/encodings/ascii.pyc 1.86K
  • lib/encodings/base64_codec.pyc 2.39K
  • lib/encodings/big5.pyc 1.43K
  • lib/encodings/big5hkscs.pyc 1.44K
  • lib/encodings/bz2_codec.pyc 3.23K
  • lib/encodings/charmap.pyc 2.89K
  • lib/encodings/cp037.pyc 2.40K
  • lib/encodings/cp1006.pyc 2.47K
  • lib/encodings/cp1026.pyc 2.40K
  • lib/encodings/cp1125.pyc 7.96K
  • lib/encodings/cp1140.pyc 2.39K
  • lib/encodings/cp1250.pyc 2.42K
  • lib/encodings/cp1251.pyc 2.42K
  • lib/encodings/cp1252.pyc 2.42K
  • lib/encodings/cp1253.pyc 2.44K
  • lib/encodings/cp1254.pyc 2.42K
  • lib/encodings/cp1255.pyc 2.44K
  • lib/encodings/cp1256.pyc 2.42K
  • lib/encodings/cp1257.pyc 2.43K
  • lib/encodings/cp1258.pyc 2.43K
  • lib/encodings/cp273.pyc 2.38K
  • lib/encodings/cp424.pyc 2.43K
  • lib/encodings/cp437.pyc 7.68K
  • lib/encodings/cp500.pyc 2.40K
  • lib/encodings/cp65001.pyc 1.67K
  • lib/encodings/cp720.pyc 2.49K
  • lib/encodings/cp737.pyc 8.00K
  • lib/encodings/cp775.pyc 7.71K
  • lib/encodings/cp850.pyc 7.35K
  • lib/encodings/cp852.pyc 7.72K
  • lib/encodings/cp855.pyc 7.97K
  • lib/encodings/cp856.pyc 2.46K
  • lib/encodings/cp857.pyc 7.33K
  • lib/encodings/cp858.pyc 7.32K
  • lib/encodings/cp860.pyc 7.66K
  • lib/encodings/cp861.pyc 7.68K
  • lib/encodings/cp862.pyc 7.86K
  • lib/encodings/cp863.pyc 7.68K
  • lib/encodings/cp864.pyc 7.82K
  • lib/encodings/cp865.pyc 7.68K
  • lib/encodings/cp866.pyc 8.00K
  • lib/encodings/cp869.pyc 7.70K
  • lib/encodings/cp874.pyc 2.52K
  • lib/encodings/cp875.pyc 2.39K
  • lib/encodings/cp932.pyc 1.44K
  • lib/encodings/cp949.pyc 1.44K
  • lib/encodings/cp950.pyc 1.44K
  • lib/encodings/euc_jis_2004.pyc 1.45K
  • lib/encodings/euc_jisx0213.pyc 1.45K
  • lib/encodings/euc_jp.pyc 1.44K
  • lib/encodings/euc_kr.pyc 1.44K
  • lib/encodings/gb18030.pyc 1.44K
  • lib/encodings/gb2312.pyc 1.44K
  • lib/encodings/gbk.pyc 1.43K
  • lib/encodings/hex_codec.pyc 2.38K
  • lib/encodings/hp_roman8.pyc 2.59K
  • lib/encodings/hz.pyc 1.43K
  • lib/encodings/idna.pyc 5.68K
  • lib/encodings/iso2022_jp.pyc 1.45K
  • lib/encodings/iso2022_jp_1.pyc 1.46K
  • lib/encodings/iso2022_jp_2.pyc 1.46K
  • lib/encodings/iso2022_jp_2004.pyc 1.46K
  • lib/encodings/iso2022_jp_3.pyc 1.46K
  • lib/encodings/iso2022_jp_ext.pyc 1.46K
  • lib/encodings/iso2022_kr.pyc 1.45K
  • lib/encodings/iso8859_1.pyc 2.40K
  • lib/encodings/iso8859_10.pyc 2.40K
  • lib/encodings/iso8859_11.pyc 2.49K
  • lib/encodings/iso8859_13.pyc 2.40K
  • lib/encodings/iso8859_14.pyc 2.42K
  • lib/encodings/iso8859_15.pyc 2.40K
  • lib/encodings/iso8859_16.pyc 2.40K
  • lib/encodings/iso8859_2.pyc 2.40K
  • lib/encodings/iso8859_3.pyc 2.40K
  • lib/encodings/iso8859_4.pyc 2.40K
  • lib/encodings/iso8859_5.pyc 2.40K
  • lib/encodings/iso8859_6.pyc 2.44K
  • lib/encodings/iso8859_7.pyc 2.40K
  • lib/encodings/iso8859_8.pyc 2.43K
  • lib/encodings/iso8859_9.pyc 2.40K
  • lib/encodings/johab.pyc 1.44K
  • lib/encodings/koi8_r.pyc 2.45K
  • lib/encodings/koi8_t.pyc 2.36K
  • lib/encodings/koi8_u.pyc 2.43K
  • lib/encodings/kz1048.pyc 2.41K
  • lib/encodings/latin_1.pyc 1.88K
  • lib/encodings/mac_arabic.pyc 7.58K
  • lib/encodings/mac_centeuro.pyc 2.43K
  • lib/encodings/mac_croatian.pyc 2.44K
  • lib/encodings/mac_cyrillic.pyc 2.43K
  • lib/encodings/mac_farsi.pyc 2.38K
  • lib/encodings/mac_greek.pyc 2.42K
  • lib/encodings/mac_iceland.pyc 2.43K
  • lib/encodings/mac_latin2.pyc 2.57K
  • lib/encodings/mac_roman.pyc 2.43K
  • lib/encodings/mac_romanian.pyc 2.44K
  • lib/encodings/mac_turkish.pyc 2.44K
  • lib/encodings/mbcs.pyc 1.68K
  • lib/encodings/oem.pyc 1.50K
  • lib/encodings/palmos.pyc 2.42K
  • lib/encodings/ptcp154.pyc 2.51K
  • lib/encodings/punycode.pyc 6.34K
  • lib/encodings/quopri_codec.pyc 2.41K
  • lib/encodings/raw_unicode_escape.pyc 1.75K
  • lib/encodings/rot_13.pyc 2.96K
  • lib/encodings/shift_jis.pyc 1.44K
  • lib/encodings/shift_jis_2004.pyc 1.45K
  • lib/encodings/shift_jisx0213.pyc 1.45K
  • lib/encodings/tis_620.pyc 2.48K
  • lib/encodings/undefined.pyc 2.14K
  • lib/encodings/unicode_escape.pyc 1.73K
  • lib/encodings/unicode_internal.pyc 1.74K
  • lib/encodings/utf_16.pyc 4.74K
  • lib/encodings/utf_16_be.pyc 1.62K
  • lib/encodings/utf_16_le.pyc 1.62K
  • lib/encodings/utf_32.pyc 4.64K
  • lib/encodings/utf_32_be.pyc 1.52K
  • lib/encodings/utf_32_le.pyc 1.52K
  • lib/encodings/utf_7.pyc 1.54K
  • lib/encodings/utf_8.pyc 1.60K
  • lib/encodings/utf_8_sig.pyc 4.45K
  • lib/encodings/uu_codec.pyc 3.18K
  • lib/encodings/zlib_codec.pyc 3.07K
  • lib/html/ dir
  • lib/html/__init__.pyc 3.34K
  • lib/html/entities.pyc 49.31K
  • lib/http/ dir
  • lib/http/__init__.pyc 6.42K
  • lib/http/client.pyc 33.58K
  • lib/http/cookiejar.pyc 52.69K
  • lib/http/server.pyc 31.51K
  • lib/importlib/ dir
  • lib/importlib/__init__.pyc 3.56K
  • lib/importlib/_bootstrap.pyc 28.48K
  • lib/importlib/_bootstrap_external.pyc 38.04K
  • lib/importlib/abc.pyc 11.07K
  • lib/importlib/machinery.pyc 997B
  • lib/importlib/util.pyc 8.74K
  • lib/json/ dir
  • lib/json/__init__.pyc 12.39K
  • lib/json/decoder.pyc 9.77K
  • lib/json/encoder.pyc 11.04K
  • lib/json/scanner.pyc 1.97K
  • lib/lib/ dir
  • lib/lib/__init__.pyc 124B
  • lib/lib/enemy.pyc 5.45K
  • lib/lib/item.pyc 1.09K
  • lib/lib/map.pyc 1.56K
  • lib/lib/player.pyc 8.54K
  • lib/lib/priority_queue.pyc 1.10K
  • lib/lib2to3/ dir
  • lib/lib2to3/__init__.pyc 168B
  • lib/lib2to3/btm_matcher.pyc 4.86K
  • lib/lib2to3/btm_utils.pyc 6.03K
  • lib/lib2to3/fixer_util.pyc 11.80K
  • lib/lib2to3/fixes/ dir
  • lib/lib2to3/Grammar.txt 7.27K
  • lib/lib2to3/Grammar3.6.2.candidate.2.pickle 31.35K
  • lib/lib2to3/Grammar3.6.2.final.0.pickle 31.35K
  • lib/lib2to3/Grammar3.6.3.candidate.1.pickle 31.35K
  • lib/lib2to3/Grammar3.6.3.final.0.pickle 31.35K
  • lib/lib2to3/Grammar3.6.4.candidate.1.pickle 31.35K
  • lib/lib2to3/patcomp.pyc 5.57K
  • lib/lib2to3/PatternGrammar.txt 821B
  • lib/lib2to3/PatternGrammar3.6.2.candidate.2.pickle 2.04K
  • lib/lib2to3/PatternGrammar3.6.2.final.0.pickle 2.04K
  • lib/lib2to3/PatternGrammar3.6.3.candidate.1.pickle 2.04K
  • lib/lib2to3/PatternGrammar3.6.3.final.0.pickle 2.04K
  • lib/lib2to3/PatternGrammar3.6.4.candidate.1.pickle 2.04K
  • lib/lib2to3/pgen2/ dir
  • lib/lib2to3/pgen2/__init__.pyc 204B
  • lib/lib2to3/pgen2/driver.pyc 4.27K
  • lib/lib2to3/pgen2/grammar.pyc 6.74K
  • lib/lib2to3/pgen2/literals.pyc 1.54K
  • lib/lib2to3/pgen2/parse.pyc 6.22K
  • lib/lib2to3/pgen2/pgen.pyc 9.60K
  • lib/lib2to3/pgen2/token.pyc 1.85K
  • lib/lib2to3/pgen2/tokenize.pyc 15.07K
  • lib/lib2to3/pygram.pyc 1.17K
  • lib/lib2to3/pytree.pyc 24.59K
  • lib/lib2to3/refactor.pyc 20.35K
  • lib/lib2to3/tests/ dir
  • lib/lib2to3/tests/data/ dir
  • lib/lib2to3/tests/data/fixers/ dir
  • lib/lib2to3/tests/data/fixers/myfixes/ dir
  • lib/lib2to3/tests/data/README 410B
  • lib/library.zip 0.97M
  • lib/logging/ dir
  • lib/logging/__init__.pyc 58.91K
  • lib/logging/handlers.pyc 42.28K
  • lib/multiprocessing/ dir
  • lib/multiprocessing/__init__.pyc 552B
  • lib/multiprocessing/connection.pyc 24.25K
  • lib/multiprocessing/context.pyc 12.83K
  • lib/multiprocessing/dummy/ dir
  • lib/multiprocessing/dummy/__init__.pyc 3.67K
  • lib/multiprocessing/dummy/connection.pyc 2.48K
  • lib/multiprocessing/forkserver.pyc 6.66K
  • lib/multiprocessing/heap.pyc 5.98K
  • lib/multiprocessing/managers.pyc 32.57K
  • lib/multiprocessing/pool.pyc 20.38K
  • lib/multiprocessing/popen_fork.pyc 2.24K
  • lib/multiprocessing/popen_forkserver.pyc 2.32K
  • lib/multiprocessing/popen_spawn_posix.pyc 2.10K
  • lib/multiprocessing/popen_spawn_win32.pyc 2.74K
  • lib/multiprocessing/process.pyc 8.00K
  • lib/multiprocessing/queues.pyc 8.77K
  • lib/multiprocessing/reduction.pyc 7.81K
  • lib/multiprocessing/resource_sharer.pyc 5.08K
  • lib/multiprocessing/semaphore_tracker.pyc 3.63K
  • lib/multiprocessing/sharedctypes.pyc 6.76K
  • lib/multiprocessing/spawn.pyc 6.34K
  • lib/multiprocessing/synchronize.pyc 11.00K
  • lib/multiprocessing/util.pyc 9.38K
  • lib/numpy/ dir
  • lib/numpy/.libs/ dir
  • lib/numpy/.libs/libopenblas.UWVN3XTD2LSS7SFIFK6TIQ5GONFDBJKU.gfortran-win32.dll 26.01M
  • lib/numpy/__config__.pyc 1.35K
  • lib/numpy/__init__.pyc 5.48K
  • lib/numpy/_distributor_init.pyc 528B
  • lib/numpy/_globals.pyc 2.20K
  • lib/numpy/_import_tools.pyc 9.59K
  • lib/numpy/add_newdocs.pyc 201.41K
  • lib/numpy/compat/ dir
  • lib/numpy/compat/__init__.pyc 725B
  • lib/numpy/compat/_inspect.pyc 7.53K
  • lib/numpy/compat/py3k.pyc 4.29K
  • lib/numpy/compat/setup.pyc 590B
  • lib/numpy/conftest.pyc 1.45K
  • lib/numpy/core/ dir
  • lib/numpy/core/__init__.pyc 2.37K
  • lib/numpy/core/_dummy.cp36-win32.pyd 8.50K
  • lib/numpy/core/_internal.pyc 18.03K
  • lib/numpy/core/_methods.pyc 3.57K
  • lib/numpy/core/arrayprint.pyc 47.80K
  • lib/numpy/core/cversions.pyc 655B
  • lib/numpy/core/defchararray.pyc 65.72K
  • lib/numpy/core/einsumfunc.pyc 29.57K
  • lib/numpy/core/fromnumeric.pyc 97.38K
  • lib/numpy/core/function_base.pyc 10.79K
  • lib/numpy/core/generate_numpy_api.pyc 6.31K
  • lib/numpy/core/getlimits.pyc 13.82K
  • lib/numpy/core/include/ dir
  • lib/numpy/core/include/numpy/ dir
  • lib/numpy/core/include/numpy/__multiarray_api.h 61.12K
  • lib/numpy/core/include/numpy/__ufunc_api.h 11.70K
  • lib/numpy/core/include/numpy/_neighborhood_iterator_imp.h 1.82K
  • lib/numpy/core/include/numpy/_numpyconfig.h 891B
  • lib/numpy/core/include/numpy/arrayobject.h 164B
  • lib/numpy/core/include/numpy/arrayscalars.h 3.43K
  • lib/numpy/core/include/numpy/halffloat.h 1.83K
  • lib/numpy/core/include/numpy/multiarray_api.txt 56.94K
  • lib/numpy/core/include/numpy/ndarrayobject.h 10.64K
  • lib/numpy/core/include/numpy/ndarraytypes.h 62.80K
  • lib/numpy/core/include/numpy/noprefix.h 6.63K
  • lib/numpy/core/include/numpy/npy_1_7_deprecated_api.h 4.50K
  • lib/numpy/core/include/numpy/npy_3kcompat.h 12.03K
  • lib/numpy/core/include/numpy/npy_common.h 36.76K
  • lib/numpy/core/include/numpy/npy_cpu.h 2.92K
  • lib/numpy/core/include/numpy/npy_endian.h 2.23K
  • lib/numpy/core/include/numpy/npy_interrupt.h 3.36K
  • lib/numpy/core/include/numpy/npy_math.h 18.09K
  • lib/numpy/core/include/numpy/npy_no_deprecated_api.h 567B
  • lib/numpy/core/include/numpy/npy_os.h 817B
  • lib/numpy/core/include/numpy/numpyconfig.h 1.14K
  • lib/numpy/core/include/numpy/old_defines.h 6.16K
  • lib/numpy/core/include/numpy/oldnumeric.h 708B
  • lib/numpy/core/include/numpy/ufunc_api.txt 6.30K
  • lib/numpy/core/include/numpy/ufuncobject.h 12.23K
  • lib/numpy/core/include/numpy/utils.h 628B
  • lib/numpy/core/info.pyc 4.81K
  • lib/numpy/core/lib/ dir
  • lib/numpy/core/lib/npy-pkg-config/ dir
  • lib/numpy/core/lib/npy-pkg-config/mlib.ini 151B
  • lib/numpy/core/lib/npy-pkg-config/npymath.ini 380B
  • lib/numpy/core/lib/npymath.lib 76.46K
  • lib/numpy/core/libopenblas.UWVN3XTD2LSS7SFIFK6TIQ5GONFDBJKU.gfortran-win32.dll 26.01M
  • lib/numpy/core/machar.pyc 7.55K
  • lib/numpy/core/memmap.pyc 9.95K
  • lib/numpy/core/multiarray.cp36-win32.pyd 1.18M
  • lib/numpy/core/multiarray_tests.cp36-win32.pyd 75.50K
  • lib/numpy/core/numeric.pyc 81.29K
  • lib/numpy/core/numerictypes.pyc 23.60K
  • lib/numpy/core/operand_flag_tests.cp36-win32.pyd 11.00K
  • lib/numpy/core/python36.dll 3.15M
  • lib/numpy/core/records.pyc 22.31K
  • lib/numpy/core/setup.pyc 21.85K
  • lib/numpy/core/setup_common.pyc 10.13K
  • lib/numpy/core/shape_base.pyc 18.14K
  • lib/numpy/core/struct_ufunc_test.cp36-win32.pyd 11.00K
  • lib/numpy/core/test_rational.cp36-win32.pyd 39.00K
  • lib/numpy/core/tests/ dir
  • lib/numpy/core/tests/__init__.pyc 191B
  • lib/numpy/core/tests/data/ dir
  • lib/numpy/core/tests/data/astype_copy.pkl 716B
  • lib/numpy/core/tests/data/recarray_from_file.fits 8.44K
  • lib/numpy/core/tests/test_abc.pyc 2.49K
  • lib/numpy/core/tests/test_api.pyc 11.63K
  • lib/numpy/core/tests/test_arrayprint.pyc 29.44K
  • lib/numpy/core/tests/test_datetime.pyc 49.85K
  • lib/numpy/core/tests/test_defchararray.pyc 28.93K
  • lib/numpy/core/tests/test_deprecations.pyc 21.16K
  • lib/numpy/core/tests/test_dtype.pyc 25.45K
  • lib/numpy/core/tests/test_einsum.pyc 26.98K
  • lib/numpy/core/tests/test_errstate.pyc 1.89K
  • lib/numpy/core/tests/test_extint128.pyc 6.74K
  • lib/numpy/core/tests/test_function_base.pyc 13.18K
  • lib/numpy/core/tests/test_getlimits.pyc 5.70K
  • lib/numpy/core/tests/test_half.pyc 14.01K
  • lib/numpy/core/tests/test_indexerrors.pyc 7.61K
  • lib/numpy/core/tests/test_indexing.pyc 43.34K
  • lib/numpy/core/tests/test_item_selection.pyc 3.46K
  • lib/numpy/core/tests/test_longdouble.pyc 7.33K
  • lib/numpy/core/tests/test_machar.pyc 1.53K
  • lib/numpy/core/tests/test_mem_overlap.pyc 26.62K
  • lib/numpy/core/tests/test_memmap.pyc 7.43K
  • lib/numpy/core/tests/test_multiarray.pyc 243.08K
  • lib/numpy/core/tests/test_nditer.pyc 71.80K
  • lib/numpy/core/tests/test_numeric.pyc 92.88K
  • lib/numpy/core/tests/test_numerictypes.pyc 15.30K
  • lib/numpy/core/tests/test_print.pyc 7.48K
  • lib/numpy/core/tests/test_records.pyc 16.22K
  • lib/numpy/core/tests/test_regression.pyc 85.75K
  • lib/numpy/core/tests/test_scalar_ctors.pyc 2.60K
  • lib/numpy/core/tests/test_scalarinherit.pyc 2.97K
  • lib/numpy/core/tests/test_scalarmath.pyc 22.62K
  • lib/numpy/core/tests/test_scalarprint.pyc 7.29K
  • lib/numpy/core/tests/test_shape_base.pyc 18.73K
  • lib/numpy/core/tests/test_ufunc.pyc 45.51K
  • lib/numpy/core/tests/test_umath.pyc 95.40K
  • lib/numpy/core/tests/test_umath_complex.pyc 14.74K
  • lib/numpy/core/tests/test_unicode.pyc 13.01K
  • lib/numpy/core/umath.cp36-win32.pyd 632.50K
  • lib/numpy/core/umath_tests.cp36-win32.pyd 17.00K
  • lib/numpy/core/VCRUNTIME140.dll 81.82K
  • lib/numpy/ctypeslib.pyc 11.85K
  • lib/numpy/distutils/ dir
  • lib/numpy/distutils/__config__.pyc 1.36K
  • lib/numpy/distutils/__init__.pyc 1.06K
  • lib/numpy/distutils/__version__.pyc 391B
  • lib/numpy/distutils/ccompiler.pyc 19.69K
  • lib/numpy/distutils/command/ dir
  • lib/numpy/distutils/command/__init__.pyc 1.13K
  • lib/numpy/distutils/command/autodist.pyc 2.22K
  • lib/numpy/distutils/command/bdist_rpm.pyc 958B
  • lib/numpy/distutils/command/build.pyc 1.91K
  • lib/numpy/distutils/command/build_clib.pyc 7.42K
  • lib/numpy/distutils/command/build_ext.pyc 12.05K
  • lib/numpy/distutils/command/build_py.pyc 1.44K
  • lib/numpy/distutils/command/build_scripts.pyc 1.74K
  • lib/numpy/distutils/command/build_src.pyc 18.17K
  • lib/numpy/distutils/command/config.pyc 12.02K
  • lib/numpy/distutils/command/config_compiler.pyc 4.19K
  • lib/numpy/distutils/command/develop.pyc 981B
  • lib/numpy/distutils/command/egg_info.pyc 1.18K
  • lib/numpy/distutils/command/install.pyc 2.13K
  • lib/numpy/distutils/command/install_clib.pyc 1.69K
  • lib/numpy/distutils/command/install_data.pyc 1.00K
  • lib/numpy/distutils/command/install_headers.pyc 1.05K
  • lib/numpy/distutils/command/sdist.pyc 1.04K
  • lib/numpy/distutils/compat.pyc 526B
  • lib/numpy/distutils/conv_template.pyc 8.02K
  • lib/numpy/distutils/core.pyc 4.71K
  • lib/numpy/distutils/cpuinfo.pyc 32.94K
  • lib/numpy/distutils/environment.pyc 2.69K
  • lib/numpy/distutils/exec_command.pyc 7.81K
  • lib/numpy/distutils/extension.pyc 2.10K
  • lib/numpy/distutils/fcompiler/ dir
  • lib/numpy/distutils/fcompiler/__init__.pyc 27.80K
  • lib/numpy/distutils/fcompiler/absoft.pyc 4.47K
  • lib/numpy/distutils/fcompiler/compaq.pyc 4.27K
  • lib/numpy/distutils/fcompiler/g95.pyc 1.58K
  • lib/numpy/distutils/fcompiler/gnu.pyc 12.54K
  • lib/numpy/distutils/fcompiler/hpux.pyc 1.85K
  • lib/numpy/distutils/fcompiler/ibm.pyc 3.35K
  • lib/numpy/distutils/fcompiler/intel.pyc 6.95K
  • lib/numpy/distutils/fcompiler/lahey.pyc 1.88K
  • lib/numpy/distutils/fcompiler/mips.pyc 2.23K
  • lib/numpy/distutils/fcompiler/nag.pyc 3.06K
  • lib/numpy/distutils/fcompiler/none.pyc 1.06K
  • lib/numpy/distutils/fcompiler/pathf95.pyc 1.45K
  • lib/numpy/distutils/fcompiler/pg.pyc 4.64K
  • lib/numpy/distutils/fcompiler/sun.pyc 2.09K
  • lib/numpy/distutils/fcompiler/vast.pyc 1.89K
  • lib/numpy/distutils/from_template.pyc 6.87K
  • lib/numpy/distutils/info.pyc 382B
  • lib/numpy/distutils/intelccompiler.pyc 4.05K
  • lib/numpy/distutils/lib2def.pyc 3.27K
  • lib/numpy/distutils/line_endings.pyc 2.11K
  • lib/numpy/distutils/log.pyc 2.46K
  • lib/numpy/distutils/mingw/ dir
  • lib/numpy/distutils/mingw/gfortran_vs2003_hack.c 74B
  • lib/numpy/distutils/mingw32ccompiler.pyc 14.12K
  • lib/numpy/distutils/misc_util.pyc 65.56K
  • lib/numpy/distutils/msvc9compiler.pyc 2.24K
  • lib/numpy/distutils/msvccompiler.pyc 1.99K
  • lib/numpy/distutils/npy_pkg_config.pyc 12.26K
  • lib/numpy/distutils/numpy_distribution.pyc 896B
  • lib/numpy/distutils/pathccompiler.pyc 1.01K
  • lib/numpy/distutils/setup.pyc 795B
  • lib/numpy/distutils/system_info.pyc 68.48K
  • lib/numpy/distutils/tests/ dir
  • lib/numpy/distutils/tests/__init__.pyc 196B
  • lib/numpy/distutils/tests/test_exec_command.pyc 6.47K
  • lib/numpy/distutils/tests/test_fcompiler_gnu.pyc 2.94K
  • lib/numpy/distutils/tests/test_fcompiler_intel.pyc 1.78K
  • lib/numpy/distutils/tests/test_fcompiler_nagfor.pyc 1.45K
  • lib/numpy/distutils/tests/test_misc_util.pyc 3.65K
  • lib/numpy/distutils/tests/test_npy_pkg_config.pyc 2.98K
  • lib/numpy/distutils/tests/test_system_info.pyc 6.51K
  • lib/numpy/distutils/unixccompiler.pyc 3.35K
  • lib/numpy/doc/ dir
  • lib/numpy/doc/__init__.pyc 900B
  • lib/numpy/doc/basics.pyc 7.95K
  • lib/numpy/doc/broadcasting.pyc 5.66K
  • lib/numpy/doc/byteswapping.pyc 5.44K
  • lib/numpy/doc/constants.pyc 7.64K
  • lib/numpy/doc/creation.pyc 5.59K
  • lib/numpy/doc/glossary.pyc 12.30K
  • lib/numpy/doc/indexing.pyc 15.52K
  • lib/numpy/doc/internals.pyc 9.66K
  • lib/numpy/doc/misc.pyc 6.27K
  • lib/numpy/doc/structured_arrays.pyc 24.10K
  • lib/numpy/doc/subclassing.pyc 28.11K
  • lib/numpy/doc/ufuncs.pyc 5.52K
  • lib/numpy/dual.pyc 1.84K
  • lib/numpy/f2py/ dir
  • lib/numpy/f2py/__init__.pyc 2.05K
  • lib/numpy/f2py/__main__.pyc 836B
  • lib/numpy/f2py/__version__.pyc 462B
  • lib/numpy/f2py/auxfuncs.pyc 21.85K
  • lib/numpy/f2py/capi_maps.pyc 17.65K
  • lib/numpy/f2py/cb_rules.pyc 15.19K
  • lib/numpy/f2py/cfuncs.pyc 37.53K
  • lib/numpy/f2py/common_rules.pyc 4.65K
  • lib/numpy/f2py/crackfortran.pyc 74.42K
  • lib/numpy/f2py/diagnose.pyc 3.73K
  • lib/numpy/f2py/f2py2e.pyc 18.89K
  • lib/numpy/f2py/f2py_testing.pyc 1.49K
  • lib/numpy/f2py/f90mod_rules.pyc 7.27K
  • lib/numpy/f2py/func2subr.pyc 6.66K
  • lib/numpy/f2py/info.pyc 356B
  • lib/numpy/f2py/rules.pyc 33.45K
  • lib/numpy/f2py/setup.pyc 3.75K
  • lib/numpy/f2py/src/ dir
  • lib/numpy/f2py/src/fortranobject.c 34.97K
  • lib/numpy/f2py/src/fortranobject.h 4.82K
  • lib/numpy/f2py/tests/ dir
  • lib/numpy/f2py/tests/__init__.pyc 191B
  • lib/numpy/f2py/tests/src/ dir
  • lib/numpy/f2py/tests/src/array_from_pyobj/ dir
  • lib/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c 8.59K
  • lib/numpy/f2py/tests/src/assumed_shape/ dir
  • lib/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap 29B
  • lib/numpy/f2py/tests/src/assumed_shape/foo_free.f90 460B
  • lib/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 499B
  • lib/numpy/f2py/tests/src/assumed_shape/foo_use.f90 269B
  • lib/numpy/f2py/tests/src/assumed_shape/precision.f90 130B
  • lib/numpy/f2py/tests/src/common/ dir
  • lib/numpy/f2py/tests/src/common/block.f 224B
  • lib/numpy/f2py/tests/src/kind/ dir
  • lib/numpy/f2py/tests/src/kind/foo.f90 347B
  • lib/numpy/f2py/tests/src/mixed/ dir
  • lib/numpy/f2py/tests/src/mixed/foo.f 85B
  • lib/numpy/f2py/tests/src/mixed/foo_fixed.f90 179B
  • lib/numpy/f2py/tests/src/mixed/foo_free.f90 139B
  • lib/numpy/f2py/tests/src/parameter/ dir
  • lib/numpy/f2py/tests/src/parameter/constant_both.f90 1.89K
  • lib/numpy/f2py/tests/src/parameter/constant_compound.f90 469B
  • lib/numpy/f2py/tests/src/parameter/constant_integer.f90 612B
  • lib/numpy/f2py/tests/src/parameter/constant_non_compound.f90 609B
  • lib/numpy/f2py/tests/src/parameter/constant_real.f90 610B
  • lib/numpy/f2py/tests/src/regression/ dir
  • lib/numpy/f2py/tests/src/regression/inout.f90 277B
  • lib/numpy/f2py/tests/src/size/ dir
  • lib/numpy/f2py/tests/src/size/foo.f90 815B
  • lib/numpy/f2py/tests/src/string/ dir
  • lib/numpy/f2py/tests/src/string/char.f90 618B
  • lib/numpy/f2py/tests/test_array_from_pyobj.pyc 18.48K
  • lib/numpy/f2py/tests/test_assumed_shape.pyc 1.31K
  • lib/numpy/f2py/tests/test_block_docstring.pyc 1.10K
  • lib/numpy/f2py/tests/test_callback.pyc 5.20K
  • lib/numpy/f2py/tests/test_common.pyc 1.31K
  • lib/numpy/f2py/tests/test_kind.pyc 1.41K
  • lib/numpy/f2py/tests/test_mixed.pyc 1.47K
  • lib/numpy/f2py/tests/test_parameter.pyc 4.13K
  • lib/numpy/f2py/tests/test_regression.pyc 1.20K
  • lib/numpy/f2py/tests/test_return_character.pyc 4.32K
  • lib/numpy/f2py/tests/test_return_complex.pyc 5.21K
  • lib/numpy/f2py/tests/test_return_integer.pyc 5.02K
  • lib/numpy/f2py/tests/test_return_logical.pyc 5.41K
  • lib/numpy/f2py/tests/test_return_real.pyc 5.98K
  • lib/numpy/f2py/tests/test_size.pyc 1.85K
  • lib/numpy/f2py/tests/test_string.pyc 1.19K
  • lib/numpy/f2py/tests/util.pyc 7.62K
  • lib/numpy/f2py/use_rules.pyc 3.09K
  • lib/numpy/fft/ dir
  • lib/numpy/fft/__init__.pyc 445B
  • lib/numpy/fft/fftpack.pyc 44.39K
  • lib/numpy/fft/fftpack_lite.cp36-win32.pyd 43.00K
  • lib/numpy/fft/helper.pyc 9.48K
  • lib/numpy/fft/info.pyc 7.24K
  • lib/numpy/fft/python36.dll 3.15M
  • lib/numpy/fft/setup.pyc 712B
  • lib/numpy/fft/tests/ dir
  • lib/numpy/fft/tests/__init__.pyc 190B
  • lib/numpy/fft/tests/test_fftpack.pyc 8.22K
  • lib/numpy/fft/tests/test_helper.pyc 4.95K
  • lib/numpy/fft/VCRUNTIME140.dll 81.82K
  • lib/numpy/lib/ dir
  • lib/numpy/lib/__init__.pyc 1.17K
  • lib/numpy/lib/_datasource.pyc 22.00K
  • lib/numpy/lib/_iotools.pyc 26.45K
  • lib/numpy/lib/_version.pyc 4.78K
  • lib/numpy/lib/arraypad.pyc 41.03K
  • lib/numpy/lib/arraysetops.pyc 18.24K
  • lib/numpy/lib/arrayterator.pyc 7.05K
  • lib/numpy/lib/financial.pyc 22.67K
  • lib/numpy/lib/format.pyc 22.74K
  • lib/numpy/lib/function_base.pyc 140.95K
  • lib/numpy/lib/index_tricks.pyc 23.78K
  • lib/numpy/lib/info.pyc 6.68K
  • lib/numpy/lib/mixins.pyc 7.23K
  • lib/numpy/lib/nanfunctions.pyc 45.83K
  • lib/numpy/lib/npyio.pyc 62.51K
  • lib/numpy/lib/polynomial.pyc 35.23K
  • lib/numpy/lib/recfunctions.pyc 31.72K
  • lib/numpy/lib/scimath.pyc 14.55K
  • lib/numpy/lib/setup.pyc 617B
  • lib/numpy/lib/shape_base.pyc 26.26K
  • lib/numpy/lib/stride_tricks.pyc 7.74K
  • lib/numpy/lib/tests/ dir
  • lib/numpy/lib/tests/__init__.pyc 190B
  • lib/numpy/lib/tests/data/ dir
  • lib/numpy/lib/tests/data/py2-objarr.npy 258B
  • lib/numpy/lib/tests/data/py2-objarr.npz 366B
  • lib/numpy/lib/tests/data/py3-objarr.npy 341B
  • lib/numpy/lib/tests/data/py3-objarr.npz 449B
  • lib/numpy/lib/tests/data/python3.npy 96B
  • lib/numpy/lib/tests/data/win64python2.npy 96B
  • lib/numpy/lib/tests/test__datasource.pyc 12.26K
  • lib/numpy/lib/tests/test__iotools.pyc 11.46K
  • lib/numpy/lib/tests/test__version.pyc 2.57K
  • lib/numpy/lib/tests/test_arraypad.pyc 48.40K
  • lib/numpy/lib/tests/test_arraysetops.pyc 13.87K
  • lib/numpy/lib/tests/test_arrayterator.pyc 1.81K
  • lib/numpy/lib/tests/test_financial.pyc 12.57K
  • lib/numpy/lib/tests/test_format.pyc 13.38K
  • lib/numpy/lib/tests/test_function_base.pyc 122.80K
  • lib/numpy/lib/tests/test_index_tricks.pyc 13.98K
  • lib/numpy/lib/tests/test_io.pyc 85.95K
  • lib/numpy/lib/tests/test_mixins.pyc 7.05K
  • lib/numpy/lib/tests/test_nanfunctions.pyc 31.71K
  • lib/numpy/lib/tests/test_packbits.pyc 8.21K
  • lib/numpy/lib/tests/test_polynomial.pyc 6.18K
  • lib/numpy/lib/tests/test_recfunctions.pyc 33.33K
  • lib/numpy/lib/tests/test_regression.pyc 10.67K
  • lib/numpy/lib/tests/test_shape_base.pyc 22.64K
  • lib/numpy/lib/tests/test_stride_tricks.pyc 12.58K
  • lib/numpy/lib/tests/test_twodim_base.pyc 15.84K
  • lib/numpy/lib/tests/test_type_check.pyc 18.27K
  • lib/numpy/lib/tests/test_ufunclike.pyc 3.62K
  • lib/numpy/lib/tests/test_utils.pyc 2.44K
  • lib/numpy/lib/twodim_base.pyc 25.99K
  • lib/numpy/lib/type_check.pyc 15.77K
  • lib/numpy/lib/ufunclike.pyc 5.74K
  • lib/numpy/lib/user_array.pyc 11.25K
  • lib/numpy/lib/utils.pyc 27.33K
  • lib/numpy/LICENSE.txt 47.47K
  • lib/numpy/linalg/ dir
  • lib/numpy/linalg/__init__.pyc 2.47K
  • lib/numpy/linalg/_umath_linalg.cp36-win32.pyd 84.50K
  • lib/numpy/linalg/info.pyc 1.39K
  • lib/numpy/linalg/lapack_lite.cp36-win32.pyd 15.00K
  • lib/numpy/linalg/libopenblas.UWVN3XTD2LSS7SFIFK6TIQ5GONFDBJKU.gfortran-win32.dll 26.01M
  • lib/numpy/linalg/linalg.pyc 71.68K
  • lib/numpy/linalg/python36.dll 3.15M
  • lib/numpy/linalg/setup.pyc 1.66K
  • lib/numpy/linalg/tests/ dir
  • lib/numpy/linalg/tests/__init__.pyc 193B
  • lib/numpy/linalg/tests/test_build.pyc 2.47K
  • lib/numpy/linalg/tests/test_deprecations.pyc 989B
  • lib/numpy/linalg/tests/test_linalg.pyc 54.85K
  • lib/numpy/linalg/tests/test_regression.pyc 5.08K
  • lib/numpy/linalg/VCRUNTIME140.dll 81.82K
  • lib/numpy/ma/ dir
  • lib/numpy/ma/__init__.pyc 1.62K
  • lib/numpy/ma/bench.pyc 3.81K
  • lib/numpy/ma/core.pyc 204.88K
  • lib/numpy/ma/extras.pyc 48.51K
  • lib/numpy/ma/mrecords.pyc 22.08K
  • lib/numpy/ma/setup.pyc 644B
  • lib/numpy/ma/tests/ dir
  • lib/numpy/ma/tests/__init__.pyc 189B
  • lib/numpy/ma/tests/test_core.pyc 158.41K
  • lib/numpy/ma/tests/test_deprecations.pyc 2.70K
  • lib/numpy/ma/tests/test_extras.pyc 49.26K
  • lib/numpy/ma/tests/test_mrecords.pyc 15.71K
  • lib/numpy/ma/tests/test_old_ma.pyc 28.06K
  • lib/numpy/ma/tests/test_regression.pyc 3.54K
  • lib/numpy/ma/tests/test_subclassing.pyc 12.63K
  • lib/numpy/ma/testutils.pyc 8.16K
  • lib/numpy/ma/timer_comparison.pyc 11.15K
  • lib/numpy/ma/version.pyc 691B
  • lib/numpy/matlib.pyc 10.02K
  • lib/numpy/matrixlib/ dir
  • lib/numpy/matrixlib/__init__.pyc 497B
  • lib/numpy/matrixlib/defmatrix.pyc 31.75K
  • lib/numpy/matrixlib/setup.pyc 672B
  • lib/numpy/matrixlib/tests/ dir
  • lib/numpy/matrixlib/tests/__init__.pyc 196B
  • lib/numpy/matrixlib/tests/test_defmatrix.pyc 17.17K
  • lib/numpy/matrixlib/tests/test_multiarray.pyc 1.17K
  • lib/numpy/matrixlib/tests/test_numeric.pyc 1.08K
  • lib/numpy/matrixlib/tests/test_regression.pyc 1.86K
  • lib/numpy/polynomial/ dir
  • lib/numpy/polynomial/__init__.pyc 1.39K
  • lib/numpy/polynomial/_polybase.pyc 30.27K
  • lib/numpy/polynomial/chebyshev.pyc 64.81K
  • lib/numpy/polynomial/hermite.pyc 55.58K
  • lib/numpy/polynomial/hermite_e.pyc 55.60K
  • lib/numpy/polynomial/laguerre.pyc 53.96K
  • lib/numpy/polynomial/legendre.pyc 54.89K
  • lib/numpy/polynomial/polynomial.pyc 50.67K
  • lib/numpy/polynomial/polyutils.pyc 12.30K
  • lib/numpy/polynomial/setup.pyc 631B
  • lib/numpy/polynomial/tests/ dir
  • lib/numpy/polynomial/tests/__init__.pyc 197B
  • lib/numpy/polynomial/tests/test_chebyshev.pyc 20.08K
  • lib/numpy/polynomial/tests/test_classes.pyc 15.79K
  • lib/numpy/polynomial/tests/test_hermite.pyc 17.47K
  • lib/numpy/polynomial/tests/test_hermite_e.pyc 17.51K
  • lib/numpy/polynomial/tests/test_laguerre.pyc 16.95K
  • lib/numpy/polynomial/tests/test_legendre.pyc 17.39K
  • lib/numpy/polynomial/tests/test_polynomial.pyc 17.29K
  • lib/numpy/polynomial/tests/test_polyutils.pyc 3.18K
  • lib/numpy/polynomial/tests/test_printing.pyc 3.55K
  • lib/numpy/random/ dir
  • lib/numpy/random/__init__.pyc 5.62K
  • lib/numpy/random/info.pyc 5.21K
  • lib/numpy/random/mtrand.cp36-win32.pyd 657.00K
  • lib/numpy/random/python36.dll 3.15M
  • lib/numpy/random/randomkit.h 6.64K
  • lib/numpy/random/setup.pyc 2.03K
  • lib/numpy/random/tests/ dir
  • lib/numpy/random/tests/__init__.pyc 193B
  • lib/numpy/random/tests/test_random.pyc 53.82K
  • lib/numpy/random/tests/test_regression.pyc 4.94K
  • lib/numpy/random/VCRUNTIME140.dll 81.82K
  • lib/numpy/setup.pyc 911B
  • lib/numpy/testing/ dir
  • lib/numpy/testing/__init__.pyc 739B
  • lib/numpy/testing/decorators.pyc 329B
  • lib/numpy/testing/nose_tools/ dir
  • lib/numpy/testing/nose_tools/__init__.pyc 199B
  • lib/numpy/testing/nose_tools/decorators.pyc 8.76K
  • lib/numpy/testing/nose_tools/noseclasses.pyc 9.71K
  • lib/numpy/testing/nose_tools/nosetester.pyc 15.12K
  • lib/numpy/testing/nose_tools/parameterized.pyc 16.29K
  • lib/numpy/testing/nose_tools/utils.pyc 62.08K
  • lib/numpy/testing/noseclasses.pyc 332B
  • lib/numpy/testing/nosetester.pyc 457B
  • lib/numpy/testing/print_coercion_tables.pyc 2.47K
  • lib/numpy/testing/setup.pyc 849B
  • lib/numpy/testing/tests/ dir
  • lib/numpy/testing/tests/__init__.pyc 194B
  • lib/numpy/testing/tests/test_decorators.pyc 6.10K
  • lib/numpy/testing/tests/test_doctesting.pyc 1.69K
  • lib/numpy/testing/tests/test_utils.pyc 46.54K
  • lib/numpy/testing/utils.pyc 1.02K
  • lib/numpy/tests/ dir
  • lib/numpy/tests/__init__.pyc 186B
  • lib/numpy/tests/test_ctypeslib.pyc 4.08K
  • lib/numpy/tests/test_matlib.pyc 2.35K
  • lib/numpy/tests/test_numpy_version.pyc 789B
  • lib/numpy/tests/test_reloading.pyc 990B
  • lib/numpy/tests/test_scripts.pyc 2.79K
  • lib/numpy/tests/test_warnings.pyc 2.91K
  • lib/numpy/version.pyc 328B
  • lib/pkg_resources/ dir
  • lib/pkg_resources/__init__.pyc 93.12K
  • lib/pkg_resources/_vendor/ dir
  • lib/pkg_resources/_vendor/packaging/ dir
  • lib/pkg_resources/extern/ dir
  • lib/pkg_resources/extern/__init__.pyc 2.37K
  • lib/pydoc_data/ dir
  • lib/pydoc_data/__init__.pyc 171B
  • lib/pydoc_data/_pydoc.css 102B
  • lib/pydoc_data/topics.pyc 387.40K
  • lib/pyexpat.pyd 160.65K
  • lib/pygame/ dir
  • lib/pygame/__init__.pyc 8.00K
  • lib/pygame/_camera_opencv_highgui.pyc 2.57K
  • lib/pygame/_camera_vidcapture.pyc 3.88K
  • lib/pygame/_dummybackend.pyc 1.31K
  • lib/pygame/_freetype.cp36-win32.pyd 65.50K
  • lib/pygame/_numpysndarray.pyc 2.04K
  • lib/pygame/_numpysurfarray.pyc 12.15K
  • lib/pygame/base.cp36-win32.pyd 24.00K
  • lib/pygame/bufferproxy.cp36-win32.pyd 15.00K
  • lib/pygame/camera.pyc 2.74K
  • lib/pygame/cdrom.cp36-win32.pyd 18.00K
  • lib/pygame/color.cp36-win32.pyd 25.00K
  • lib/pygame/colordict.pyc 25.96K
  • lib/pygame/compat.pyc 2.49K
  • lib/pygame/constants.cp36-win32.pyd 17.50K
  • lib/pygame/cursors.pyc 7.85K
  • lib/pygame/display.cp36-win32.pyd 23.50K
  • lib/pygame/docs/ dir
  • lib/pygame/docs/__init__.pyc 356B
  • lib/pygame/docs/__main__.pyc 841B
  • lib/pygame/docs/logos.html 1.54K
  • lib/pygame/docs/pygame_logo.gif 24.53K
  • lib/pygame/docs/pygame_powered.gif 9.93K
  • lib/pygame/docs/pygame_small.gif 10.04K
  • lib/pygame/docs/pygame_tiny.gif 5.36K
  • lib/pygame/docs/ref/ dir
  • lib/pygame/docs/ref/docscomments.json 435.16K
  • lib/pygame/draw.cp36-win32.pyd 32.50K
  • lib/pygame/event.cp36-win32.pyd 22.00K
  • lib/pygame/examples/ dir
  • lib/pygame/examples/__init__.pyc 190B
  • lib/pygame/examples/aacircle.pyc 1.02K
  • lib/pygame/examples/aliens.pyc 8.16K
  • lib/pygame/examples/arraydemo.pyc 2.77K
  • lib/pygame/examples/blend_fill.pyc 2.20K
  • lib/pygame/examples/blit_blends.pyc 3.46K
  • lib/pygame/examples/camera.pyc 2.06K
  • lib/pygame/examples/chimp.pyc 5.79K
  • lib/pygame/examples/cursors.pyc 2.64K
  • lib/pygame/examples/data/ dir
  • lib/pygame/examples/data/alien1.gif 3.74K
  • lib/pygame/examples/data/alien1.jpg 3.03K
  • lib/pygame/examples/data/alien1.png 3.44K
  • lib/pygame/examples/data/alien2.gif 3.74K
  • lib/pygame/examples/data/alien2.png 3.44K
  • lib/pygame/examples/data/alien3.gif 3.74K
  • lib/pygame/examples/data/alien3.png 3.44K
  • lib/pygame/examples/data/arraydemo.bmp 75.05K
  • lib/pygame/examples/data/asprite.bmp 578B
  • lib/pygame/examples/data/background.gif 8.92K
  • lib/pygame/examples/data/blue.mpg 6.00K
  • lib/pygame/examples/data/bomb.gif 1.13K
  • lib/pygame/examples/data/boom.wav 12.27K
  • lib/pygame/examples/data/brick.png 170B
  • lib/pygame/examples/data/car_door.wav 3.82K
  • lib/pygame/examples/data/chimp.bmp 5.37K
  • lib/pygame/examples/data/city.png 143B
  • lib/pygame/examples/data/danger.gif 2.70K
  • lib/pygame/examples/data/explosion1.gif 6.36K
  • lib/pygame/examples/data/fist.bmp 4.28K
  • lib/pygame/examples/data/house_lo.mp3 113.59K
  • lib/pygame/examples/data/house_lo.ogg 30.60K
  • lib/pygame/examples/data/house_lo.wav 76.62K
  • lib/pygame/examples/data/liquid.bmp 11.46K
  • lib/pygame/examples/data/midikeys.png 19.21K
  • lib/pygame/examples/data/oldplayer.gif 1.05K
  • lib/pygame/examples/data/player1.gif 3.39K
  • lib/pygame/examples/data/punch.wav 4.08K
  • lib/pygame/examples/data/sans.ttf 129.97K
  • lib/pygame/examples/data/secosmic_lo.wav 18.26K
  • lib/pygame/examples/data/shot.gif 129B
  • lib/pygame/examples/data/static.png 1.17K
  • lib/pygame/examples/data/whiff.wav 5.71K
  • lib/pygame/examples/data/yuv_1.pgm 634.51K
  • lib/pygame/examples/eventlist.pyc 3.50K
  • lib/pygame/examples/fastevents.pyc 2.23K
  • lib/pygame/examples/fonty.pyc 2.01K
  • lib/pygame/examples/freetype_misc.pyc 2.63K
  • lib/pygame/examples/glcube.pyc 2.84K
  • lib/pygame/examples/headless_no_windows_needed.pyc 1.39K
  • lib/pygame/examples/liquid.pyc 1.79K
  • lib/pygame/examples/macosx/ dir
  • lib/pygame/examples/macosx/aliens_app_example/ dir
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/ dir
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/aliens.icns 7.07K
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/ dir
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/_MainMenu_EOArchive_English.java 5.66K
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/classes.nib 306B
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/info.nib 566B
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/JavaCompiling.plist 278B
  • lib/pygame/examples/macosx/aliens_app_example/English.lproj/MainMenu.nib/keyedobjects.nib 9.22K
  • lib/pygame/examples/macosx/aliens_app_example/README.txt 432B
  • lib/pygame/examples/mask.pyc 5.32K
  • lib/pygame/examples/midi.pyc 19.48K
  • lib/pygame/examples/moveit.pyc 1.97K
  • lib/pygame/examples/oldalien.pyc 6.42K
  • lib/pygame/examples/overlay.pyc 1.51K
  • lib/pygame/examples/pixelarray.pyc 2.25K
  • lib/pygame/examples/playmus.pyc 3.79K
  • lib/pygame/examples/prevent_display_stretching.pyc 2.14K
  • lib/pygame/examples/scaletest.pyc 3.08K
  • lib/pygame/examples/scrap_clipboard.pyc 2.34K
  • lib/pygame/examples/scroll.pyc 4.37K
  • lib/pygame/examples/sound.pyc 1.34K
  • lib/pygame/examples/sound_array_demos.pyc 4.76K
  • lib/pygame/examples/stars.pyc 2.55K
  • lib/pygame/examples/testsprite.pyc 4.54K
  • lib/pygame/examples/vgrade.pyc 3.24K
  • lib/pygame/fastevent.cp36-win32.pyd 15.00K
  • lib/pygame/font.cp36-win32.pyd 18.00K
  • lib/pygame/freesansbold.ttf 96.29K
  • lib/pygame/freetype.pyc 2.65K
  • lib/pygame/ftfont.pyc 6.51K
  • lib/pygame/gfxdraw.cp36-win32.pyd 49.00K
  • lib/pygame/gp2x/ dir
  • lib/pygame/gp2x/__init__.pyc 456B
  • lib/pygame/gp2x/constants.pyc 641B
  • lib/pygame/gp2x/locals.pyc 222B
  • lib/pygame/image.cp36-win32.pyd 24.00K
  • lib/pygame/imageext.cp36-win32.pyd 16.50K
  • lib/pygame/install.html 7.89K
  • lib/pygame/joystick.cp36-win32.pyd 15.50K
  • lib/pygame/key.cp36-win32.pyd 11.50K
  • lib/pygame/LGPL 25.81K
  • lib/pygame/libfreetype-6.dll 590.00K
  • lib/pygame/libgcc_s_sjlj-1.dll 97.50K
  • lib/pygame/libjpeg-8.dll 244.50K
  • lib/pygame/libmpg123-0.dll 315.00K
  • lib/pygame/libogg-0.dll 32.00K
  • lib/pygame/libpng16-16.dll 233.50K
  • lib/pygame/libstdc++-6.dll 915.50K
  • lib/pygame/libtiff-5.dll 478.00K
  • lib/pygame/libvorbis-0.dll 170.50K
  • lib/pygame/libvorbisfile-3.dll 39.50K
  • lib/pygame/libwebp-5.dll 441.50K
  • lib/pygame/locals.pyc 407B
  • lib/pygame/macosx.pyc 1.07K
  • lib/pygame/mask.cp36-win32.pyd 36.00K
  • lib/pygame/math.cp36-win32.pyd 50.50K
  • lib/pygame/midi.pyc 19.65K
  • lib/pygame/mixer.cp36-win32.pyd 28.50K
  • lib/pygame/mixer_music.cp36-win32.pyd 15.50K
  • lib/pygame/mouse.cp36-win32.pyd 12.50K
  • lib/pygame/newbuffer.cp36-win32.pyd 17.00K
  • lib/pygame/overlay.cp36-win32.pyd 11.00K
  • lib/pygame/pixelarray.cp36-win32.pyd 33.00K
  • lib/pygame/pixelcopy.cp36-win32.pyd 22.50K
  • lib/pygame/pkgdata.pyc 2.38K
  • lib/pygame/portmidi.dll 32.50K
  • lib/pygame/pygame.ico 142.11K
  • lib/pygame/pygame_icon.bmp 630B
  • lib/pygame/pygame_icon.icns 52.37K
  • lib/pygame/pygame_icon.svg 15.00K
  • lib/pygame/pygame_icon.tiff 60.16K
  • lib/pygame/pypm.cp36-win32.pyd 55.00K
  • lib/pygame/python36.dll 3.15M
  • lib/pygame/readme.html 12.59K
  • lib/pygame/rect.cp36-win32.pyd 25.50K
  • lib/pygame/rwobject.cp36-win32.pyd 14.50K
  • lib/pygame/scrap.cp36-win32.pyd 15.00K
  • lib/pygame/SDL.dll 379.00K
  • lib/pygame/SDL_image.dll 57.50K
  • lib/pygame/SDL_mixer.dll 629.50K
  • lib/pygame/SDL_ttf.dll 30.50K
  • lib/pygame/sndarray.pyc 2.96K
  • lib/pygame/sprite.pyc 45.00K
  • lib/pygame/surface.cp36-win32.pyd 224.50K
  • lib/pygame/surfarray.pyc 9.99K
  • lib/pygame/surflock.cp36-win32.pyd 10.50K
  • lib/pygame/sysfont.pyc 7.85K
  • lib/pygame/tests/ dir
  • lib/pygame/tests/__init__.pyc 1.33K
  • lib/pygame/tests/__main__.pyc 2.67K
  • lib/pygame/tests/base_test.pyc 16.66K
  • lib/pygame/tests/blit_test.pyc 2.28K
  • lib/pygame/tests/bufferproxy_test.pyc 12.93K
  • lib/pygame/tests/camera_test.pyc 756B
  • lib/pygame/tests/cdrom_tags.pyc 215B
  • lib/pygame/tests/cdrom_test.pyc 4.93K
  • lib/pygame/tests/color_test.pyc 32.20K
  • lib/pygame/tests/compat_test.pyc 4.45K
  • lib/pygame/tests/cursors_test.pyc 1.51K
  • lib/pygame/tests/display_test.pyc 4.62K
  • lib/pygame/tests/draw_test.pyc 5.05K
  • lib/pygame/tests/event_test.pyc 6.29K
  • lib/pygame/tests/fastevent_test.pyc 3.00K
  • lib/pygame/tests/fixtures/ dir
  • lib/pygame/tests/fixtures/fonts/ dir
  • lib/pygame/tests/fixtures/fonts/A_PyGameMono-8.png 92B
  • lib/pygame/tests/fixtures/fonts/PyGameMono-18-100dpi.bdf 1.90K
  • lib/pygame/tests/fixtures/fonts/PyGameMono-18-75dpi.bdf 1.61K
  • lib/pygame/tests/fixtures/fonts/PyGameMono-8.bdf 1.33K
  • lib/pygame/tests/fixtures/fonts/PyGameMono.otf 3.05K
  • lib/pygame/tests/fixtures/fonts/test_fixed.otf 57.09K
  • lib/pygame/tests/fixtures/fonts/test_sans.ttf 129.97K
  • lib/pygame/tests/fixtures/fonts/u13079_PyGameMono-8.png 89B
  • lib/pygame/tests/fixtures/xbm_cursors/ dir
  • lib/pygame/tests/fixtures/xbm_cursors/white_sizing.xbm 366B
  • lib/pygame/tests/fixtures/xbm_cursors/white_sizing_mask.xbm 391B
  • lib/pygame/tests/font_tags.pyc 357B
  • lib/pygame/tests/font_test.pyc 14.86K
  • lib/pygame/tests/freetype_tags.pyc 381B
  • lib/pygame/tests/freetype_test.pyc 32.92K
  • lib/pygame/tests/ftfont_tags.pyc 377B
  • lib/pygame/tests/ftfont_test.pyc 837B
  • lib/pygame/tests/gfxdraw_test.pyc 19.27K
  • lib/pygame/tests/image__save_gl_surface_test.pyc 1.47K
  • lib/pygame/tests/image_tags.pyc 332B
  • lib/pygame/tests/image_test.pyc 12.04K
  • lib/pygame/tests/imageext_tags.pyc 338B
  • lib/pygame/tests/imageext_test.pyc 3.13K
  • lib/pygame/tests/joystick_test.pyc 1.57K
  • lib/pygame/tests/key_test.pyc 1.89K
  • lib/pygame/tests/mask_test.pyc 11.55K
  • lib/pygame/tests/math_test.pyc 59.11K
  • lib/pygame/tests/midi_tags.pyc 214B
  • lib/pygame/tests/midi_test.pyc 5.94K
  • lib/pygame/tests/mixer_music_tags.pyc 344B
  • lib/pygame/tests/mixer_music_test.pyc 3.62K
  • lib/pygame/tests/mixer_tags.pyc 332B
  • lib/pygame/tests/mixer_test.pyc 17.87K
  • lib/pygame/tests/mouse_test.pyc 1.90K
  • lib/pygame/tests/overlay_test.pyc 1.15K
  • lib/pygame/tests/pixelarray_test.pyc 35.40K
  • lib/pygame/tests/pixelcopy_test.pyc 19.30K
  • lib/pygame/tests/rect_test.pyc 23.04K
  • lib/pygame/tests/run_tests__tests/ dir
  • lib/pygame/tests/run_tests__tests/__init__.pyc 204B
  • lib/pygame/tests/run_tests__tests/all_ok/ dir
  • lib/pygame/tests/run_tests__tests/all_ok/__init__.pyc 211B
  • lib/pygame/tests/run_tests__tests/all_ok/fake_2_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/all_ok/fake_3_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/all_ok/fake_4_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/all_ok/fake_5_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/all_ok/fake_6_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/all_ok/no_assertions__ret_code_of_1__test.pyc 1.53K
  • lib/pygame/tests/run_tests__tests/all_ok/zero_tests_test.pyc 763B
  • lib/pygame/tests/run_tests__tests/everything/ dir
  • lib/pygame/tests/run_tests__tests/everything/__init__.pyc 215B
  • lib/pygame/tests/run_tests__tests/everything/fake_2_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/everything/incomplete_todo_test.pyc 1.62K
  • lib/pygame/tests/run_tests__tests/everything/magic_tag_test.pyc 1.48K
  • lib/pygame/tests/run_tests__tests/everything/sleep_test.pyc 0.99K
  • lib/pygame/tests/run_tests__tests/exclude/ dir
  • lib/pygame/tests/run_tests__tests/exclude/__init__.pyc 212B
  • lib/pygame/tests/run_tests__tests/exclude/fake_2_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/exclude/invisible_tag_test.pyc 1.63K
  • lib/pygame/tests/run_tests__tests/exclude/magic_tag_test.pyc 1.47K
  • lib/pygame/tests/run_tests__tests/failures1/ dir
  • lib/pygame/tests/run_tests__tests/failures1/__init__.pyc 214B
  • lib/pygame/tests/run_tests__tests/failures1/fake_2_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/failures1/fake_3_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/failures1/fake_4_test.pyc 1.62K
  • lib/pygame/tests/run_tests__tests/incomplete/ dir
  • lib/pygame/tests/run_tests__tests/incomplete/__init__.pyc 215B
  • lib/pygame/tests/run_tests__tests/incomplete/fake_2_test.pyc 1.61K
  • lib/pygame/tests/run_tests__tests/incomplete/fake_3_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/incomplete_todo/ dir
  • lib/pygame/tests/run_tests__tests/incomplete_todo/__init__.pyc 220B
  • lib/pygame/tests/run_tests__tests/incomplete_todo/fake_2_test.pyc 1.62K
  • lib/pygame/tests/run_tests__tests/incomplete_todo/fake_3_test.pyc 1.60K
  • lib/pygame/tests/run_tests__tests/infinite_loop/ dir
  • lib/pygame/tests/run_tests__tests/infinite_loop/__init__.pyc 218B
  • lib/pygame/tests/run_tests__tests/infinite_loop/fake_1_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/infinite_loop/fake_2_test.pyc 1.60K
  • lib/pygame/tests/run_tests__tests/print_stderr/ dir
  • lib/pygame/tests/run_tests__tests/print_stderr/__init__.pyc 217B
  • lib/pygame/tests/run_tests__tests/print_stderr/fake_2_test.pyc 1.60K
  • lib/pygame/tests/run_tests__tests/print_stderr/fake_3_test.pyc 1.66K
  • lib/pygame/tests/run_tests__tests/print_stderr/fake_4_test.pyc 1.62K
  • lib/pygame/tests/run_tests__tests/print_stdout/ dir
  • lib/pygame/tests/run_tests__tests/print_stdout/__init__.pyc 217B
  • lib/pygame/tests/run_tests__tests/print_stdout/fake_2_test.pyc 1.60K
  • lib/pygame/tests/run_tests__tests/print_stdout/fake_3_test.pyc 1.71K
  • lib/pygame/tests/run_tests__tests/print_stdout/fake_4_test.pyc 1.62K
  • lib/pygame/tests/run_tests__tests/run_tests__test.pyc 3.33K
  • lib/pygame/tests/run_tests__tests/timeout/ dir
  • lib/pygame/tests/run_tests__tests/timeout/__init__.pyc 212B
  • lib/pygame/tests/run_tests__tests/timeout/fake_2_test.pyc 1.59K
  • lib/pygame/tests/run_tests__tests/timeout/sleep_test.pyc 0.99K
  • lib/pygame/tests/rwobject_test.pyc 4.69K
  • lib/pygame/tests/scrap_tags.pyc 470B
  • lib/pygame/tests/scrap_test.pyc 5.68K
  • lib/pygame/tests/sndarray_tags.pyc 397B
  • lib/pygame/tests/sndarray_test.pyc 5.85K
  • lib/pygame/tests/sprite_test.pyc 30.53K
  • lib/pygame/tests/surface_test.pyc 63.85K
  • lib/pygame/tests/surfarray_tags.pyc 438B
  • lib/pygame/tests/surfarray_test.pyc 19.06K
  • lib/pygame/tests/surflock_test.pyc 3.09K
  • lib/pygame/tests/sysfont_test.pyc 1.52K
  • lib/pygame/tests/test_test_.pyc 197B
  • lib/pygame/tests/test_utils/ dir
  • lib/pygame/tests/test_utils/__init__.pyc 5.49K
  • lib/pygame/tests/test_utils/arrinter.pyc 13.54K
  • lib/pygame/tests/test_utils/async_sub.pyc 7.64K
  • lib/pygame/tests/test_utils/buftools.pyc 18.27K
  • lib/pygame/tests/test_utils/endian.pyc 684B
  • lib/pygame/tests/test_utils/png.pyc 123.27K
  • lib/pygame/tests/test_utils/run_tests.pyc 8.56K
  • lib/pygame/tests/test_utils/test_machinery.pyc 2.71K
  • lib/pygame/tests/test_utils/test_runner.pyc 5.27K
  • lib/pygame/tests/threads_test.pyc 5.24K
  • lib/pygame/tests/time_test.pyc 2.37K
  • lib/pygame/tests/transform_test.pyc 13.65K
  • lib/pygame/threads/ dir
  • lib/pygame/threads/__init__.pyc 6.62K
  • lib/pygame/threads/Py25Queue.pyc 6.73K
  • lib/pygame/time.cp36-win32.pyd 13.50K
  • lib/pygame/transform.cp36-win32.pyd 43.00K
  • lib/pygame/VCRUNTIME140.dll 81.82K
  • lib/pygame/version.pyc 684B
  • lib/pygame/zlib1.dll 97.00K
  • lib/select.pyd 23.15K
  • lib/setuptools/ dir
  • lib/setuptools/__init__.pyc 5.56K
  • lib/setuptools/archive_util.pyc 5.04K
  • lib/setuptools/cli-32.exe 64.00K
  • lib/setuptools/cli-64.exe 73.00K
  • lib/setuptools/cli.exe 64.00K
  • lib/setuptools/command/ dir
  • lib/setuptools/command/__init__.pyc 715B
  • lib/setuptools/command/bdist_egg.pyc 13.35K
  • lib/setuptools/command/bdist_rpm.pyc 1.74K
  • lib/setuptools/command/develop.pyc 5.75K
  • lib/setuptools/command/easy_install.pyc 62.49K
  • lib/setuptools/command/egg_info.pyc 20.57K
  • lib/setuptools/command/install.pyc 3.88K
  • lib/setuptools/command/install_scripts.pyc 2.23K
  • lib/setuptools/command/launcher manifest.xml 628B
  • lib/setuptools/command/py36compat.pyc 4.52K
  • lib/setuptools/command/sdist.pyc 5.97K
  • lib/setuptools/command/setopt.pyc 4.50K
  • lib/setuptools/depends.pyc 5.69K
  • lib/setuptools/dist.pyc 31.42K
  • lib/setuptools/extension.pyc 1.93K
  • lib/setuptools/extern/ dir
  • lib/setuptools/extern/__init__.pyc 336B
  • lib/setuptools/glob.pyc 3.76K
  • lib/setuptools/gui-32.exe 64.00K
  • lib/setuptools/gui-64.exe 73.50K
  • lib/setuptools/gui.exe 64.00K
  • lib/setuptools/monkey.pyc 4.42K
  • lib/setuptools/package_index.pyc 31.73K
  • lib/setuptools/py26compat.pyc 1.04K
  • lib/setuptools/py27compat.pyc 615B
  • lib/setuptools/py31compat.pyc 1.85K
  • lib/setuptools/sandbox.pyc 15.17K
  • lib/setuptools/script (dev).tmpl 201B
  • lib/setuptools/script.tmpl 138B
  • lib/setuptools/ssl_support.pyc 6.21K
  • lib/setuptools/unicode_utils.pyc 1.14K
  • lib/setuptools/version.pyc 326B
  • lib/setuptools/windows_support.pyc 0.99K
  • lib/test/ dir
  • lib/test/__init__.pyc 165B
  • lib/test/__main__.pyc 218B
  • lib/test/allsans.pem 2.16K
  • lib/test/audiodata/ dir
  • lib/test/audiodata/pluck-alaw.aifc 6.75K
  • lib/test/audiodata/pluck-pcm16.aiff 13.19K
  • lib/test/audiodata/pluck-pcm16.au 12.94K
  • lib/test/audiodata/pluck-pcm16.wav 13.06K
  • lib/test/audiodata/pluck-pcm24.aiff 19.65K
  • lib/test/audiodata/pluck-pcm24.au 19.40K
  • lib/test/audiodata/pluck-pcm24.wav 19.52K
  • lib/test/audiodata/pluck-pcm32.aiff 26.11K
  • lib/test/audiodata/pluck-pcm32.au 25.86K
  • lib/test/audiodata/pluck-pcm32.wav 25.97K
  • lib/test/audiodata/pluck-pcm8.aiff 6.73K
  • lib/test/audiodata/pluck-pcm8.au 6.48K
  • lib/test/audiodata/pluck-pcm8.wav 6.60K
  • lib/test/audiodata/pluck-ulaw.aifc 6.75K
  • lib/test/audiodata/pluck-ulaw.au 6.48K
  • lib/test/audiotest.au 27.48K
  • lib/test/badcert.pem 1.92K
  • lib/test/badkey.pem 2.15K
  • lib/test/capath/ dir
  • lib/test/capath/4e1295a3.0 828B
  • lib/test/capath/5ed36f99.0 2.55K
  • lib/test/capath/6e88d7b8.0 828B
  • lib/test/capath/99d0fa06.0 2.55K
  • lib/test/capath/b1930218.0 1.24K
  • lib/test/capath/ceff1710.0 1.24K
  • lib/test/cfgparser.1 70B
  • lib/test/cfgparser.2 19.54K
  • lib/test/cfgparser.3 1.62K
  • lib/test/cjkencodings/ dir
  • lib/test/cjkencodings/big5-utf8.txt 564B
  • lib/test/cjkencodings/big5.txt 432B
  • lib/test/cjkencodings/big5hkscs-utf8.txt 32B
  • lib/test/cjkencodings/big5hkscs.txt 23B
  • lib/test/cjkencodings/cp949-utf8.txt 478B
  • lib/test/cjkencodings/cp949.txt 346B
  • lib/test/cjkencodings/euc_jisx0213-utf8.txt 1.12K
  • lib/test/cjkencodings/euc_jisx0213.txt 793B
  • lib/test/cjkencodings/euc_jp-utf8.txt 1.07K
  • lib/test/cjkencodings/euc_jp.txt 760B
  • lib/test/cjkencodings/euc_kr-utf8.txt 586B
  • lib/test/cjkencodings/euc_kr.txt 456B
  • lib/test/cjkencodings/gb18030-utf8.txt 1.10K
  • lib/test/cjkencodings/gb18030.txt 864B
  • lib/test/cjkencodings/gb2312-utf8.txt 480B
  • lib/test/cjkencodings/gb2312.txt 324B
  • lib/test/cjkencodings/gbk-utf8.txt 1.02K
  • lib/test/cjkencodings/gbk.txt 755B
  • lib/test/cjkencodings/hz-utf8.txt 89B
  • lib/test/cjkencodings/hz.txt 83B
  • lib/test/cjkencodings/iso2022_jp-utf8.txt 1.07K
  • lib/test/cjkencodings/iso2022_jp.txt 868B
  • lib/test/cjkencodings/iso2022_kr-utf8.txt 563B
  • lib/test/cjkencodings/iso2022_kr.txt 502B
  • lib/test/cjkencodings/johab-utf8.txt 478B
  • lib/test/cjkencodings/johab.txt 346B
  • lib/test/cjkencodings/shift_jis-utf8.txt 1.07K
  • lib/test/cjkencodings/shift_jis.txt 760B
  • lib/test/cjkencodings/shift_jisx0213-utf8.txt 1.12K
  • lib/test/cjkencodings/shift_jisx0213.txt 789B
  • lib/test/cmath_testcases.txt 143.50K
  • lib/test/crashers/ dir
  • lib/test/crashers/README 1.02K
  • lib/test/data/ dir
  • lib/test/data/README 131B
  • lib/test/decimaltestdata/ dir
  • lib/test/decimaltestdata/abs.decTest 6.14K
  • lib/test/decimaltestdata/add.decTest 137.05K
  • lib/test/decimaltestdata/and.decTest 15.98K
  • lib/test/decimaltestdata/base.decTest 59.92K
  • lib/test/decimaltestdata/clamp.decTest 10.75K
  • lib/test/decimaltestdata/class.decTest 6.23K
  • lib/test/decimaltestdata/compare.decTest 28.93K
  • lib/test/decimaltestdata/comparetotal.decTest 33.62K
  • lib/test/decimaltestdata/comparetotmag.decTest 35.28K
  • lib/test/decimaltestdata/copy.decTest 3.30K
  • lib/test/decimaltestdata/copyabs.decTest 3.40K
  • lib/test/decimaltestdata/copynegate.decTest 3.59K
  • lib/test/decimaltestdata/copysign.decTest 7.21K
  • lib/test/decimaltestdata/ddAbs.decTest 4.79K
  • lib/test/decimaltestdata/ddAdd.decTest 76.26K
  • lib/test/decimaltestdata/ddAnd.decTest 18.18K
  • lib/test/decimaltestdata/ddBase.decTest 53.18K
  • lib/test/decimaltestdata/ddCanonical.decTest 18.46K
  • lib/test/decimaltestdata/ddClass.decTest 3.82K
  • lib/test/decimaltestdata/ddCompare.decTest 29.57K
  • lib/test/decimaltestdata/ddCompareSig.decTest 27.74K
  • lib/test/decimaltestdata/ddCompareTotal.decTest 29.92K
  • lib/test/decimaltestdata/ddCompareTotalMag.decTest 31.66K
  • lib/test/decimaltestdata/ddCopy.decTest 3.54K
  • lib/test/decimaltestdata/ddCopyAbs.decTest 3.64K
  • lib/test/decimaltestdata/ddCopyNegate.decTest 3.79K
  • lib/test/decimaltestdata/ddCopySign.decTest 7.45K
  • lib/test/decimaltestdata/ddDivide.decTest 47.01K
  • lib/test/decimaltestdata/ddDivideInt.decTest 19.12K
  • lib/test/decimaltestdata/ddEncode.decTest 24.11K
  • lib/test/decimaltestdata/ddFMA.decTest 99.79K
  • lib/test/decimaltestdata/ddInvert.decTest 10.12K
  • lib/test/decimaltestdata/ddLogB.decTest 6.09K
  • lib/test/decimaltestdata/ddMax.decTest 12.03K
  • lib/test/decimaltestdata/ddMaxMag.decTest 12.44K
  • lib/test/decimaltestdata/ddMin.decTest 11.69K
  • lib/test/decimaltestdata/ddMinMag.decTest 11.35K
  • lib/test/decimaltestdata/ddMinus.decTest 3.70K
  • lib/test/decimaltestdata/ddMultiply.decTest 28.62K
  • lib/test/decimaltestdata/ddNextMinus.decTest 6.67K
  • lib/test/decimaltestdata/ddNextPlus.decTest 6.57K
  • lib/test/decimaltestdata/ddNextToward.decTest 24.40K
  • lib/test/decimaltestdata/ddOr.decTest 15.65K
  • lib/test/decimaltestdata/ddPlus.decTest 3.66K
  • lib/test/decimaltestdata/ddQuantize.decTest 41.50K
  • lib/test/decimaltestdata/ddReduce.decTest 7.29K
  • lib/test/decimaltestdata/ddRemainder.decTest 26.35K
  • lib/test/decimaltestdata/ddRemainderNear.decTest 29.55K
  • lib/test/decimaltestdata/ddRotate.decTest 13.75K
  • lib/test/decimaltestdata/ddSameQuantum.decTest 17.13K
  • lib/test/decimaltestdata/ddScaleB.decTest 12.49K
  • lib/test/decimaltestdata/ddShift.decTest 13.10K
  • lib/test/decimaltestdata/ddSubtract.decTest 34.57K
  • lib/test/decimaltestdata/ddToIntegral.decTest 11.91K
  • lib/test/decimaltestdata/ddXor.decTest 17.29K
  • lib/test/decimaltestdata/decDouble.decTest 2.16K
  • lib/test/decimaltestdata/decQuad.decTest 2.16K
  • lib/test/decimaltestdata/decSingle.decTest 1.42K
  • lib/test/decimaltestdata/divide.decTest 36.92K
  • lib/test/decimaltestdata/divideint.decTest 19.96K
  • lib/test/decimaltestdata/dqAbs.decTest 5.15K
  • lib/test/decimaltestdata/dqAdd.decTest 87.11K
  • lib/test/decimaltestdata/dqAnd.decTest 28.44K
  • lib/test/decimaltestdata/dqBase.decTest 57.57K
  • lib/test/decimaltestdata/dqCanonical.decTest 26.68K
  • lib/test/decimaltestdata/dqClass.decTest 3.93K
  • lib/test/decimaltestdata/dqCompare.decTest 32.35K
  • lib/test/decimaltestdata/dqCompareSig.decTest 29.00K
  • lib/test/decimaltestdata/dqCompareTotal.decTest 30.12K
  • lib/test/decimaltestdata/dqCompareTotalMag.decTest 31.86K
  • lib/test/decimaltestdata/dqCopy.decTest 3.89K
  • lib/test/decimaltestdata/dqCopyAbs.decTest 4.00K
  • lib/test/decimaltestdata/dqCopyNegate.decTest 4.15K
  • lib/test/decimaltestdata/dqCopySign.decTest 8.04K
  • lib/test/decimaltestdata/dqDivide.decTest 53.81K
  • lib/test/decimaltestdata/dqDivideInt.decTest 19.36K
  • lib/test/decimaltestdata/dqEncode.decTest 30.69K
  • lib/test/decimaltestdata/dqFMA.decTest 126.94K
  • lib/test/decimaltestdata/dqInvert.decTest 15.75K
  • lib/test/decimaltestdata/dqLogB.decTest 6.23K
  • lib/test/decimaltestdata/dqMax.decTest 12.06K
  • lib/test/decimaltestdata/dqMaxMag.decTest 12.49K
  • lib/test/decimaltestdata/dqMin.decTest 11.72K
  • lib/test/decimaltestdata/dqMinMag.decTest 11.38K
  • lib/test/decimaltestdata/dqMinus.decTest 4.06K
  • lib/test/decimaltestdata/dqMultiply.decTest 31.73K
  • lib/test/decimaltestdata/dqNextMinus.decTest 8.45K
  • lib/test/decimaltestdata/dqNextPlus.decTest 8.33K
  • lib/test/decimaltestdata/dqNextToward.decTest 29.03K
  • lib/test/decimaltestdata/dqOr.decTest 29.90K
  • lib/test/decimaltestdata/dqPlus.decTest 4.02K
  • lib/test/decimaltestdata/dqQuantize.decTest 42.08K
  • lib/test/decimaltestdata/dqReduce.decTest 7.64K
  • lib/test/decimaltestdata/dqRemainder.decTest 26.92K
  • lib/test/decimaltestdata/dqRemainderNear.decTest 30.56K
  • lib/test/decimaltestdata/dqRotate.decTest 20.49K
  • lib/test/decimaltestdata/dqSameQuantum.decTest 17.72K
  • lib/test/decimaltestdata/dqScaleB.decTest 15.68K
  • lib/test/decimaltestdata/dqShift.decTest 18.98K
  • lib/test/decimaltestdata/dqSubtract.decTest 40.95K
  • lib/test/decimaltestdata/dqToIntegral.decTest 11.94K
  • lib/test/decimaltestdata/dqXor.decTest 27.60K
  • lib/test/decimaltestdata/dsBase.decTest 48.40K
  • lib/test/decimaltestdata/dsEncode.decTest 15.51K
  • lib/test/decimaltestdata/exp.decTest 38.52K
  • lib/test/decimaltestdata/extra.decTest 90.34K
  • lib/test/decimaltestdata/fma.decTest 190.75K
  • lib/test/decimaltestdata/inexact.decTest 10.25K
  • lib/test/decimaltestdata/invert.decTest 8.09K
  • lib/test/decimaltestdata/ln.decTest 34.69K
  • lib/test/decimaltestdata/log10.decTest 31.93K
  • lib/test/decimaltestdata/logb.decTest 7.15K
  • lib/test/decimaltestdata/max.decTest 15.60K
  • lib/test/decimaltestdata/maxmag.decTest 16.95K
  • lib/test/decimaltestdata/min.decTest 15.32K
  • lib/test/decimaltestdata/minmag.decTest 15.08K
  • lib/test/decimaltestdata/minus.decTest 7.25K
  • lib/test/decimaltestdata/multiply.decTest 37.42K
  • lib/test/decimaltestdata/nextminus.decTest 6.78K
  • lib/test/decimaltestdata/nextplus.decTest 6.76K
  • lib/test/decimaltestdata/nexttoward.decTest 24.63K
  • lib/test/decimaltestdata/or.decTest 15.49K
  • lib/test/decimaltestdata/plus.decTest 7.70K
  • lib/test/decimaltestdata/power.decTest 92.75K
  • lib/test/decimaltestdata/powersqrt.decTest 154.94K
  • lib/test/decimaltestdata/quantize.decTest 46.17K
  • lib/test/decimaltestdata/randomBound32.decTest 297.37K
  • lib/test/decimaltestdata/randoms.decTest 284.25K
  • lib/test/decimaltestdata/reduce.decTest 9.10K
  • lib/test/decimaltestdata/remainder.decTest 26.49K
  • lib/test/decimaltestdata/remainderNear.decTest 24.43K
  • lib/test/decimaltestdata/rescale.decTest 34.43K
  • lib/test/decimaltestdata/rotate.decTest 11.61K
  • lib/test/decimaltestdata/rounding.decTest 62.28K
  • lib/test/decimaltestdata/samequantum.decTest 15.82K
  • lib/test/decimaltestdata/scaleb.decTest 9.68K
  • lib/test/decimaltestdata/shift.decTest 11.40K
  • lib/test/decimaltestdata/squareroot.decTest 187.95K
  • lib/test/decimaltestdata/subtract.decTest 43.27K
  • lib/test/decimaltestdata/testall.decTest 2.67K
  • lib/test/decimaltestdata/tointegral.decTest 8.66K
  • lib/test/decimaltestdata/tointegralx.decTest 11.58K
  • lib/test/decimaltestdata/xor.decTest 15.95K
  • lib/test/dh1024.pem 307B
  • lib/test/dtracedata/ dir
  • lib/test/dtracedata/assert_usable.d 60B
  • lib/test/dtracedata/assert_usable.stp 59B
  • lib/test/dtracedata/call_stack.d 690B
  • lib/test/dtracedata/call_stack.d.expected 815B
  • lib/test/dtracedata/call_stack.stp 848B
  • lib/test/dtracedata/call_stack.stp.expected 620B
  • lib/test/dtracedata/gc.d 315B
  • lib/test/dtracedata/gc.d.expected 92B
  • lib/test/dtracedata/gc.stp 470B
  • lib/test/dtracedata/gc.stp.expected 100B
  • lib/test/dtracedata/line.d 186B
  • lib/test/dtracedata/line.d.expected 526B
  • lib/test/eintrdata/ dir
  • lib/test/empty.vbs 70B
  • lib/test/encoded_modules/ dir
  • lib/test/exception_hierarchy.txt 1.84K
  • lib/test/floating_points.txt 16.92K
  • lib/test/formatfloat_testcases.txt 7.80K
  • lib/test/ieee754.txt 3.39K
  • lib/test/imghdrdata/ dir
  • lib/test/imghdrdata/python.bmp 1.13K
  • lib/test/imghdrdata/python.exr 2.57K
  • lib/test/imghdrdata/python.gif 610B
  • lib/test/imghdrdata/python.jpg 543B
  • lib/test/imghdrdata/python.pbm 41B
  • lib/test/imghdrdata/python.pgm 269B
  • lib/test/imghdrdata/python.png 1.00K
  • lib/test/imghdrdata/python.ppm 781B
  • lib/test/imghdrdata/python.ras 1.03K
  • lib/test/imghdrdata/python.sgi 1.92K
  • lib/test/imghdrdata/python.tiff 1.29K
  • lib/test/imghdrdata/python.webp 432B
  • lib/test/imghdrdata/python.xbm 288B
  • lib/test/keycert.passwd.pem 1.82K
  • lib/test/keycert.pem 1.77K
  • lib/test/keycert2.pem 1.78K
  • lib/test/keycert3.pem 4.03K
  • lib/test/keycert4.pem 4.03K
  • lib/test/leakers/ dir
  • lib/test/leakers/README.txt 1.10K
  • lib/test/libregrtest/ dir
  • lib/test/libregrtest/__init__.pyc 357B
  • lib/test/libregrtest/cmdline.pyc 13.20K
  • lib/test/libregrtest/main.pyc 13.54K
  • lib/test/libregrtest/refleak.pyc 6.29K
  • lib/test/libregrtest/runtest.pyc 5.66K
  • lib/test/libregrtest/runtest_mp.pyc 6.18K
  • lib/test/libregrtest/save_env.pyc 13.02K
  • lib/test/libregrtest/setup.pyc 2.69K
  • lib/test/mailcap.txt 1.28K
  • lib/test/math_testcases.txt 23.80K
  • lib/test/mime.types 48.78K
  • lib/test/nokia.pem 1.91K
  • lib/test/nullbytecert.pem 5.40K
  • lib/test/nullcert.pem 0B
  • lib/test/pstats.pck 65.05K
  • lib/test/pycacert.pem 4.28K
  • lib/test/pycakey.pem 1.69K
  • lib/test/randv2_32.pck 7.34K
  • lib/test/randv2_64.pck 7.19K
  • lib/test/randv3.pck 7.82K
  • lib/test/revocation.crl 636B
  • lib/test/selfsigned_pythontestdotnet.pem 972B
  • lib/test/sgml_input.html 8.31K
  • lib/test/Sine-1000Hz-300ms.aif 60.25K
  • lib/test/sndhdrdata/ dir
  • lib/test/sndhdrdata/README 202B
  • lib/test/sndhdrdata/sndhdr.8svx 110B
  • lib/test/sndhdrdata/sndhdr.aifc 106B
  • lib/test/sndhdrdata/sndhdr.aiff 108B
  • lib/test/sndhdrdata/sndhdr.au 64B
  • lib/test/sndhdrdata/sndhdr.hcom 256B
  • lib/test/sndhdrdata/sndhdr.sndt 129B
  • lib/test/sndhdrdata/sndhdr.voc 63B
  • lib/test/sndhdrdata/sndhdr.wav 64B
  • lib/test/ssl_cert.pem 882B
  • lib/test/ssl_key.passwd.pem 981B
  • lib/test/ssl_key.pem 932B
  • lib/test/subprocessdata/ dir
  • lib/test/support/ dir
  • lib/test/support/__init__.pyc 73.51K
  • lib/test/test_asyncio/ dir
  • lib/test/test_asyncio/keycert3.pem 4.03K
  • lib/test/test_asyncio/pycacert.pem 4.28K
  • lib/test/test_asyncio/ssl_cert.pem 882B
  • lib/test/test_asyncio/ssl_key.pem 932B
  • lib/test/test_difflib_expect.html 101.36K
  • lib/test/test_doctest.txt 317B
  • lib/test/test_doctest2.txt 406B
  • lib/test/test_doctest3.txt 87B
  • lib/test/test_doctest4.txt 255B
  • lib/test/test_email/ dir
  • lib/test/test_email/data/ dir
  • lib/test/test_email/data/audiotest.au 27.48K
  • lib/test/test_email/data/msg_01.txt 459B
  • lib/test/test_email/data/msg_02.txt 2.75K
  • lib/test/test_email/data/msg_03.txt 366B
  • lib/test/test_email/data/msg_04.txt 961B
  • lib/test/test_email/data/msg_05.txt 558B
  • lib/test/test_email/data/msg_06.txt 1.02K
  • lib/test/test_email/data/msg_07.txt 5.10K
  • lib/test/test_email/data/msg_08.txt 454B
  • lib/test/test_email/data/msg_09.txt 432B
  • lib/test/test_email/data/msg_10.txt 884B
  • lib/test/test_email/data/msg_11.txt 142B
  • lib/test/test_email/data/msg_12.txt 644B
  • lib/test/test_email/data/msg_12a.txt 646B
  • lib/test/test_email/data/msg_13.txt 5.24K
  • lib/test/test_email/data/msg_14.txt 641B
  • lib/test/test_email/data/msg_15.txt 1.28K
  • lib/test/test_email/data/msg_16.txt 5.08K
  • lib/test/test_email/data/msg_17.txt 330B
  • lib/test/test_email/data/msg_18.txt 230B
  • lib/test/test_email/data/msg_19.txt 757B
  • lib/test/test_email/data/msg_20.txt 507B
  • lib/test/test_email/data/msg_21.txt 376B
  • lib/test/test_email/data/msg_22.txt 1.85K
  • lib/test/test_email/data/msg_23.txt 139B
  • lib/test/test_email/data/msg_24.txt 157B
  • lib/test/test_email/data/msg_25.txt 5.00K
  • lib/test/test_email/data/msg_26.txt 2.05K
  • lib/test/test_email/data/msg_27.txt 578B
  • lib/test/test_email/data/msg_28.txt 380B
  • lib/test/test_email/data/msg_29.txt 583B
  • lib/test/test_email/data/msg_30.txt 322B
  • lib/test/test_email/data/msg_31.txt 200B
  • lib/test/test_email/data/msg_32.txt 418B
  • lib/test/test_email/data/msg_33.txt 750B
  • lib/test/test_email/data/msg_34.txt 300B
  • lib/test/test_email/data/msg_35.txt 136B
  • lib/test/test_email/data/msg_36.txt 816B
  • lib/test/test_email/data/msg_37.txt 209B
  • lib/test/test_email/data/msg_38.txt 2.49K
  • lib/test/test_email/data/msg_39.txt 1.91K
  • lib/test/test_email/data/msg_40.txt 197B
  • lib/test/test_email/data/msg_41.txt 185B
  • lib/test/test_email/data/msg_42.txt 313B
  • lib/test/test_email/data/msg_43.txt 8.95K
  • lib/test/test_email/data/msg_44.txt 895B
  • lib/test/test_email/data/msg_45.txt 965B
  • lib/test/test_email/data/msg_46.txt 816B
  • lib/test/test_email/data/PyBanner048.gif 954B
  • lib/test/test_import/ dir
  • lib/test/test_import/data/ dir
  • lib/test/test_import/data/circular_imports/ dir
  • lib/test/test_import/data/circular_imports/subpkg/ dir
  • lib/test/test_import/data/package/ dir
  • lib/test/test_import/data/package2/ dir
  • lib/test/test_importlib/ dir
  • lib/test/test_importlib/builtin/ dir
  • lib/test/test_importlib/extension/ dir
  • lib/test/test_importlib/frozen/ dir
  • lib/test/test_importlib/import_/ dir
  • lib/test/test_importlib/namespace_pkgs/ dir
  • lib/test/test_importlib/namespace_pkgs/both_portions/ dir
  • lib/test/test_importlib/namespace_pkgs/both_portions/foo/ dir
  • lib/test/test_importlib/namespace_pkgs/missing_directory.zip 515B
  • lib/test/test_importlib/namespace_pkgs/module_and_namespace_package/ dir
  • lib/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/ dir
  • lib/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty 0B
  • lib/test/test_importlib/namespace_pkgs/nested_portion1.zip 556B
  • lib/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/ dir
  • lib/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/ dir
  • lib/test/test_importlib/namespace_pkgs/portion1/ dir
  • lib/test/test_importlib/namespace_pkgs/portion1/foo/ dir
  • lib/test/test_importlib/namespace_pkgs/portion2/ dir
  • lib/test/test_importlib/namespace_pkgs/portion2/foo/ dir
  • lib/test/test_importlib/namespace_pkgs/project1/ dir
  • lib/test/test_importlib/namespace_pkgs/project1/parent/ dir
  • lib/test/test_importlib/namespace_pkgs/project1/parent/child/ dir
  • lib/test/test_importlib/namespace_pkgs/project2/ dir
  • lib/test/test_importlib/namespace_pkgs/project2/parent/ dir
  • lib/test/test_importlib/namespace_pkgs/project2/parent/child/ dir
  • lib/test/test_importlib/namespace_pkgs/project3/ dir
  • lib/test/test_importlib/namespace_pkgs/project3/parent/ dir
  • lib/test/test_importlib/namespace_pkgs/project3/parent/child/ dir
  • lib/test/test_importlib/namespace_pkgs/top_level_portion1.zip 332B
  • lib/test/test_importlib/source/ dir
  • lib/test/test_json/ dir
  • lib/test/test_tools/ dir
  • lib/test/test_warnings/ dir
  • lib/test/test_warnings/data/ dir
  • lib/test/testtar.tar 425.00K
  • lib/test/tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt 457B
  • lib/test/tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt 314B
  • lib/test/tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt 434B
  • lib/test/tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt 339B
  • lib/test/tokenize_tests.txt 2.84K
  • lib/test/tracedmodules/ dir
  • lib/test/wrongcert.pem 1.87K
  • lib/test/xmltestdata/ dir
  • lib/test/xmltestdata/expat224_utf8_bug.xml 1.01K
  • lib/test/xmltestdata/simple-ns.xml 152B
  • lib/test/xmltestdata/simple.xml 122B
  • lib/test/xmltestdata/test.xml 1.36K
  • lib/test/xmltestdata/test.xml.out 1.35K
  • lib/test/zip_cp437_header.zip 270B
  • lib/test/zipdir.zip 374B
  • lib/unicodedata.pyd 875.15K
  • lib/unittest/ dir
  • lib/unittest/__init__.pyc 2.96K
  • lib/unittest/case.pyc 46.57K
  • lib/unittest/loader.pyc 13.59K
  • lib/unittest/main.pyc 6.89K
  • lib/unittest/result.pyc 7.10K
  • lib/unittest/runner.pyc 6.74K
  • lib/unittest/signals.pyc 2.17K
  • lib/unittest/suite.pyc 9.00K
  • lib/unittest/test/ dir
  • lib/unittest/test/testmock/ dir
  • lib/unittest/util.pyc 4.69K
  • lib/urllib/ dir
  • lib/urllib/__init__.pyc 167B
  • lib/urllib/error.pyc 2.74K
  • lib/urllib/parse.pyc 28.75K
  • lib/urllib/request.pyc 70.96K
  • lib/urllib/response.pyc 3.20K
  • lib/xml/ dir
  • lib/xml/__init__.pyc 731B
  • lib/xml/dom/ dir
  • lib/xml/etree/ dir
  • lib/xml/parsers/ dir
  • lib/xml/parsers/__init__.pyc 344B
  • lib/xml/parsers/expat.pyc 373B
  • lib/xml/sax/ dir
  • lib/xmlrpc/ dir
  • lib/xmlrpc/__init__.pyc 167B
  • lib/xmlrpc/client.pyc 33.90K
  • main.exe 18.50K
  • med-kit.png 338B
  • player_player_def.png 1.14K
  • player_player_earth.png 1.17K
  • player_player_fire.png 1.21K
  • player_player_water.png 1.18K
  • player_player_wind.png 1.21K
  • python36.dll 3.15M
  • start.png 35.61K
  • sugingbeam.png 901B
  • sword.png 598B
  • waterbeam.png 779B
  • windbeam.png 952B

file_id.diz

# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.

# A grammar to describe tree matching patterns.
# Not shown here:
# - 'TOKEN' stands for any token (leaf node)
# - 'any' stands for any node (leaf or interior)
# With 'any' we can still specify the sub-structure.

# The start symbol is 'Matcher'.

Matcher: Alternatives ENDMARKER

Alternatives: Alternative ('|' Alternative)*

Alternative: (Unit | NegatedUnit)+

Unit: [NAME '='] ( STRING [Repeater]
                 | NAME [Details] [Repeater]
                 | '(' Alternatives ')' [Repeater]
                 | '[' Alternatives ']'
		 )

NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')')

Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}'

Details: '<' Alternatives '>'
# Grammar for 2to3. This grammar supports Python 2.x and 3.x.

# Note:  Changing the grammar specified in this file will most likely
#        require corresponding changes in the parser module
#        (../Modules/parsermodule.c).  If you can't make the changes to
#        that module yourself, please co-ordinate the required changes
#        with someone who can; ask around on python-dev for help.  Fred
#        Drake <fdrake@acm.org> will probably be listening there.

# NOTE WELL: You should also follow all the steps listed in PEP 306,
# "How to Change Python's Grammar"

# Commands for Kees Blom's railroad program
#diagram:token NAME
#diagram:token NUMBER
#diagram:token STRING
#diagram:token NEWLINE
#diagram:token ENDMARKER
#diagram:token INDENT
#diagram:output\input python.bla
#diagram:token DEDENT
#diagram:output\textwidth 20.04cm\oddsidemargin  0.0cm\evensidemargin 0.0cm
#diagram:rules

# Start symbols for the grammar:
#	file_input is a module or sequence of commands read from an input file;
#	single_input is a single interactive statement;
#	eval_input is the input for the eval() and input() functions.
# NB: compound_stmt in single_input is followed by extra NEWLINE!
file_input: (NEWLINE | stmt)* ENDMARKER
single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
eval_input: testlist NEWLINE* ENDMARKER

decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
decorators: decorator+
decorated: decorators (classdef | funcdef | async_funcdef)
async_funcdef: ASYNC funcdef
funcdef: 'def' NAME parameters ['->' test] ':' suite
parameters: '(' [typedargslist] ')'
typedargslist: ((tfpdef ['=' test] ',')*
                ('*' [tname] (',' tname ['=' test])* [',' '**' tname] | '**' tname)
                | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
tname: NAME [':' test]
tfpdef: tname | '(' tfplist ')'
tfplist: tfpdef (',' tfpdef)* [',']
varargslist: ((vfpdef ['=' test] ',')*
              ('*' [vname] (',' vname ['=' test])*  [',' '**' vname] | '**' vname)
              | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
vname: NAME
vfpdef: vname | '(' vfplist ')'
vfplist: vfpdef (',' vfpdef)* [',']

stmt: simple_stmt | compound_stmt
simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
small_stmt: (expr_stmt | print_stmt  | del_stmt | pass_stmt | flow_stmt |
             import_stmt | global_stmt | exec_stmt | assert_stmt)
expr_stmt: testlist_star_expr (annassign | augassign (yield_expr|testlist) |
                     ('=' (yield_expr|testlist_star_expr))*)
annassign: ':' test ['=' test]
testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
            '<<=' | '>>=' | '**=' | '//=')
# For normal and annotated assignments, additional restrictions enforced by the interpreter
print_stmt: 'print' ( [ test (',' test)* [','] ] |
                      '>>' test [ (',' test)+ [','] ] )
del_stmt: 'del' exprlist
pass_stmt: 'pass'
flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
break_stmt: 'break'
continue_stmt: 'continue'
return_stmt: 'return' [testlist]
yield_stmt: yield_expr
raise_stmt: 'raise' [test ['from' test | ',' test [',' test]]]
import_stmt: import_name | import_from
import_name: 'import' dotted_as_names
import_from: ('from' ('.'* dotted_name | '.'+)
              'import' ('*' | '(' import_as_names ')' | import_as_names))
import_as_name: NAME ['as' NAME]
dotted_as_name: dotted_name ['as' NAME]
import_as_names: import_as_name (',' import_as_name)* [',']
dotted_as_names: dotted_as_name (',' dotted_as_name)*
dotted_name: NAME ('.' NAME)*
global_stmt: ('global' | 'nonlocal') NAME (',' NAME)*
exec_stmt: 'exec' expr ['in' test [',' test]]
assert_stmt: 'assert' test [',' test]

compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
while_stmt: 'while' test ':' suite ['else' ':' suite]
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
try_stmt: ('try' ':' suite
           ((except_clause ':' suite)+
	    ['else' ':' suite]
	    ['finally' ':' suite] |
	   'finally' ':' suite))
with_stmt: 'with' with_item (',' with_item)*  ':' suite
with_item: test ['as' expr]
with_var: 'as' expr
# NB compile.c makes sure that the default except clause is last
except_clause: 'except' [test [(',' | 'as') test]]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT

# Backward compatibility cruft to support:
# [ x for x in lambda: True, lambda: False if x() ]
# even while also allowing:
# lambda x: 5 if x else 2
# (But not a mix of the two)
testlist_safe: old_test [(',' old_test)+ [',']]
old_test: or_test | old_lambdef
old_lambdef: 'lambda' [varargslist] ':' old_test

test: or_test ['if' or_test 'else' test] | lambdef
or_test: and_test ('or' and_test)*
and_test: not_test ('and' not_test)*
not_test: 'not' not_test | comparison
comparison: expr (comp_op expr)*
comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
star_expr: '*' expr
expr: xor_expr ('|' xor_expr)*
xor_expr: and_expr ('^' and_expr)*
and_expr: shift_expr ('&' shift_expr)*
shift_expr: arith_expr (('<<'|'>>') arith_expr)*
arith_expr: term (('+'|'-') term)*
term: factor (('*'|'@'|'/'|'%'|'//') factor)*
factor: ('+'|'-'|'~') factor | power
power: [AWAIT] atom trailer* ['**' factor]
atom: ('(' [yield_expr|testlist_gexp] ')' |
       '[' [listmaker] ']' |
       '{' [dictsetmaker] '}' |
       '`' testlist1 '`' |
       NAME | NUMBER | STRING+ | '.' '.' '.')
listmaker: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
testlist_gexp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
lambdef: 'lambda' [varargslist] ':' test
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
sliceop: ':' [test]
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
dictsetmaker: ( ((test ':' test | '**' expr)
                 (comp_for | (',' (test ':' test | '**' expr))* [','])) |
                ((test | star_expr)
		 (comp_for | (',' (test | star_expr))* [','])) )

classdef: 'class' NAME ['(' [arglist] ')'] ':' suite

arglist: argument (',' argument)* [',']

# "test '=' test" is really "keyword '=' test", but we have no such token.
# These need to be in a single rule to avoid grammar that is ambiguous
# to our LL(1) parser. Even though 'test' includes '*expr' in star_expr,
# we explicitly match '*' here, too, to give it proper precedence.
# Illegal combinations and orderings are blocked in ast.c:
# multiple (test comp_for) arguments are blocked; keyword unpackings
# that precede iterable unpackings are blocked; etc.
argument: ( test [comp_for] |
            test '=' test |
	    '**' expr |
	    star_expr )

comp_iter: comp_for | comp_if
comp_for: [ASYNC] 'for' exprlist 'in' testlist_safe [comp_iter]
comp_if: 'if' old_test [comp_iter]

testlist1: test (',' test)*

# not used in grammar, but may appear in "node" passed from Parser to Compiler
encoding_decl: NAME

yield_expr: 'yield' [yield_arg]
yield_arg: 'from' test | testlist
# Tests for the 'tokenize' module.
# Large bits stolen from test_grammar.py. 

# Comments
"#"
#'
#"
#\
       #
    # abc
'''#
#'''

x = 1  #

# Balancing continuation

a = (3, 4,
  5, 6)
y = [3, 4,
  5]
z = {'a':5,
  'b':6}
x = (len(repr(y)) + 5*x - a[
   3 ]
   - x + len({
   }
    )
  )

# Backslash means line continuation:
x = 1 \
+ 1

# Backslash does not means continuation in comments :\
x = 0

# Ordinary integers
0xff != 255
0o377 != 255
2147483647   != 0o17777777777
-2147483647-1 != 0o20000000000
0o37777777777 != -1
0xffffffff != -1; 0o37777777777 != -1; -0o1234567 == 0O001234567; 0b10101 == 0B00010101

# Long integers
x = 0
x = 0
x = 0xffffffffffffffff
x = 0xffffffffffffffff
x = 0o77777777777777777
x = 0B11101010111111111
x = 123456789012345678901234567890
x = 123456789012345678901234567890

# Floating-point numbers
x = 3.14
x = 314.
x = 0.314
# XXX x = 000.314
x = .314
x = 3e14
x = 3E14
x = 3e-14
x = 3e+14
x = 3.e14
x = .3e14
x = 3.1e4

# String literals
x = ''; y = "";
x = '\''; y = "'";
x = '"'; y = "\"";
x = "doesn't \"shrink\" does it"
y = 'doesn\'t "shrink" does it'
x = "does \"shrink\" doesn't it"
y = 'does "shrink" doesn\'t it'
x = """
The "quick"
brown fox
jumps over
the 'lazy' dog.
"""
y = '\nThe "quick"\nbrown fox\njumps over\nthe \'lazy\' dog.\n'
y = '''
The "quick"
brown fox
jumps over
the 'lazy' dog.
''';
y = "\n\
The \"quick\"\n\
brown fox\n\
jumps over\n\
the 'lazy' dog.\n\
";
y = '\n\
The \"quick\"\n\
brown fox\n\
jumps over\n\
the \'lazy\' dog.\n\
';
x = r'\\' + R'\\'
x = r'\'' + ''
y = r'''
foo bar \\
baz''' + R'''
foo'''
y = r"""foo
bar \\ baz
""" + R'''spam
'''
x = b'abc' + B'ABC'
y = b"abc" + B"ABC"
x = br'abc' + Br'ABC' + bR'ABC' + BR'ABC'
y = br"abc" + Br"ABC" + bR"ABC" + BR"ABC"
x = rb'abc' + rB'ABC' + Rb'ABC' + RB'ABC'
y = rb"abc" + rB"ABC" + Rb"ABC" + RB"ABC"
x = br'\\' + BR'\\'
x = rb'\\' + RB'\\'
x = br'\'' + ''
x = rb'\'' + ''
y = br'''
foo bar \\
baz''' + BR'''
foo'''
y = Br"""foo
bar \\ baz
""" + bR'''spam
'''
y = rB"""foo
bar \\ baz
""" + Rb'''spam
'''

# Indentation
if 1:
    x = 2
if 1:
        x = 2
if 1:
    while 0:
     if 0:
           x = 2
     x = 2
if 0:
  if 2:
   while 0:
        if 1:
          x = 2

# Operators

def d22(a, b, c=1, d=2): pass
def d01v(a=1, *restt, **restd): pass

(x, y) != ({'a':1}, {'b':2})

# comparison
if 1 < 1 > 1 == 1 >= 1 <= 1 != 1 != 1 in 1 not in 1 is 1 is not 1: pass

# binary
x = 1 & 1
x = 1 ^ 1
x = 1 | 1

# shift
x = 1 << 1 >> 1

# additive
x = 1 - 1 + 1 - 1 + 1

# multiplicative
x = 1 / 1 * 1 % 1

# unary
x = ~1 ^ 1 & 1 | 1 & 1 ^ -1
x = -1*1/1 + 1*1 - ---1*1

# selector
import sys, time
x = sys.modules['time'].time()

@staticmethod
def foo(): pass

@staticmethod
def foo(x:1)->1: pass

BaseException
 +-- SystemExit
 +-- KeyboardInterrupt
 +-- GeneratorExit
 +-- Exception
      +-- StopIteration
      +-- StopAsyncIteration
      +-- ArithmeticError
      |    +-- FloatingPointError
      |    +-- OverflowError
      |    +-- ZeroDivisionError
      +-- AssertionError
      +-- AttributeError
      +-- BufferError
      +-- EOFError
      +-- ImportError
           +-- ModuleNotFoundError
      +-- LookupError
      |    +-- IndexError
      |    +-- KeyError
      +-- MemoryError
      +-- NameError
      |    +-- UnboundLocalError
      +-- OSError
      |    +-- BlockingIOError
      |    +-- ChildProcessError
      |    +-- ConnectionError
      |    |    +-- BrokenPipeError
      |    |    +-- ConnectionAbortedError
      |    |    +-- ConnectionRefusedError
      |    |    +-- ConnectionResetError
      |    +-- FileExistsError
      |    +-- FileNotFoundError
      |    +-- InterruptedError
      |    +-- IsADirectoryError
      |    +-- NotADirectoryError
      |    +-- PermissionError
      |    +-- ProcessLookupError
      |    +-- TimeoutError
      +-- ReferenceError
      +-- RuntimeError
      |    +-- NotImplementedError
      |    +-- RecursionError
      +-- SyntaxError
      |    +-- IndentationError
      |         +-- TabError
      +-- SystemError
      +-- TypeError
      +-- ValueError
      |    +-- UnicodeError
      |         +-- UnicodeDecodeError
      |         +-- UnicodeEncodeError
      |         +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
           +-- ImportWarning
           +-- UnicodeWarning
           +-- BytesWarning
           +-- ResourceWarning
MIME-Version: 1.0
From: Barry Warsaw <barry@python.org>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Lyrics
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

This is a 7bit encoded message.

--BOUNDARY
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: Quoted-Printable

=A1This is a Quoted Printable encoded message!

--BOUNDARY
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: Base64

VGhpcyBpcyBhIEJhc2U2NCBlbmNvZGVkIG1lc3NhZ2Uu


--BOUNDARY
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: Base64

VGhpcyBpcyBhIEJhc2U2NCBlbmNvZGVkIG1lc3NhZ2UuCg==


--BOUNDARY
Content-Type: text/plain; charset="iso-8859-1"

This has no Content-Transfer-Encoding: header.

--BOUNDARY--
From: aperson@dom.ain
To: bperson@dom.ain
Subject: Test
Content-Type: multipart/mixed; boundary="BOUNDARY"

MIME message
--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

One
--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Two
--BOUNDARY--
End of MIME message
Content-Type: message/rfc822
MIME-Version: 1.0
Subject: The enclosing message

Subject: An enclosed message

Here is the body of the message.
From: aperson@dom.ain
To: bperson@dom.ain
Content-Type: multipart/digest; boundary=XYZ

--XYZ
Content-Type: text/plain


This is a text plain part that is counter to recommended practice in
RFC 2046, $5.1.5, but is not illegal

--XYZ

From: cperson@dom.ain
To: dperson@dom.ain

A submessage

--XYZ--
From: aperson@dom.ain
To: bperson@dom.ain
Subject: here's something interesting
counter to RFC 2822, there's no separating newline here
Delivered-To: freebsd-isp@freebsd.org
Date: Tue, 26 Sep 2000 12:23:03 -0500
From: Anne Person <aperson@example.com>
To: Barney Dude <bdude@example.com>
Subject: Re: Limiting Perl CPU Utilization...
Mime-Version: 1.0
Content-Type: text/plain; charset*=ansi-x3.4-1968''us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.8i
Sender: owner-freebsd-isp@FreeBSD.ORG
Precedence: bulk
X-Loop: FreeBSD.org

Some message.
MIME-Version: 1.0
From: Barry <barry@digicool.com>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Here is your dingus fish
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="OUTER"

--OUTER
Content-Type: text/plain; charset="us-ascii"

A text/plain part

--OUTER
Content-Type: multipart/mixed; boundary=BOUNDARY


--BOUNDARY
Content-Type: text/plain; charset="us-ascii"

Hi there,

This is the dingus fish.

--BOUNDARY
Content-Type: image/gif; name="dingusfish.gif"
Content-Transfer-Encoding: base64
content-disposition: attachment; filename="dingusfish.gif"

R0lGODdhAAEAAfAAAP///wAAACwAAAAAAAEAAQAC/oSPqcvtD6OctNqLs968+w+G4kiW5omm6sq2
7gvH8kzX9o3n+s73/g8MCofEovGITGICTKbyCV0FDNOo9SqpQqpOrJfXzTQj2vD3TGtqL+NtGQ2f
qTXmxzuOd7WXdcc9DyjU53ewFni4s0fGhdiYaEhGBelICTNoV1j5NUnFcrmUqemjNifJVWpaOqaI
oFq3SspZsSraE7sHq3jr1MZqWvi662vxV4tD+pvKW6aLDOCLyur8PDwbanyDeq0N3DctbQYeLDvR
RY6t95m6UB0d3mwIrV7e2VGNvjjffukeJp4w7F65KecGFsTHQGAygOrgrWs1jt28Rc88KESYcGLA
/obvTkH6p+CinWJiJmIMqXGQwH/y4qk0SYjgQTczT3ajKZGfuI0uJ4kkVI/DT5s3/ejkxI0aT4Y+
YTYgWbImUaXk9nlLmnSh1qJiJFl0OpUqRK4oOy7NyRQtHWofhoYVxkwWXKUSn0YsS+fUV6lhqfYb
6ayd3Z5qQdG1B7bvQzaJjwUV2lixMUZ7JVsOlfjWVr/3NB/uFvnySBN6Dcb6rGwaRM3wsormw5cC
M9NxWy/bWdufudCvy8bOAjXjVVwta/uO21sE5RHBCzNFXtgq9ORtH4eYjVP4Yryo026nvkFmCeyA
B29efV6ravCMK5JwWd5897Qrx7ll38o6iHDZ/rXPR//feevhF4l7wjUGX3xq1eeRfM4RSJGBIV1D
z1gKPkfWag3mVBVvva1RlX5bAJTPR/2YqNtw/FkIYYEi/pIZiAdpcxpoHtmnYYoZtvhUftzdx5ZX
JSKDW405zkGcZzzGZ6KEv4FI224oDmijlEf+xp6MJK5ojY/ASeVUR+wsKRuJ+XFZ5o7ZeEime8t1
ouUsU6YjF5ZtUihhkGfCdFQLWQFJ3UXxmElfhQnR+eCdcDbkFZp6vTRmj56ApCihn5QGpaToNZmR
n3NVSpZcQpZ2KEONusaiCsKAug0wkQbJSFO+PTSjneGxOuFjPlUk3ovWvdIerjUg9ZGIOtGq/qeX
eCYrrCX+1UPsgTKGGRSbzd5q156d/gpfbJxe66eD5iQKrXj7RGgruGxs62qebBHUKS32CKluCiqZ
qh+pmehmEb71noAUoe5e9Zm17S7773V10pjrtG4CmuurCV/n6zLK5turWNhqOvFXbjhZrMD0YhKe
wR0zOyuvsh6MWrGoIuzvyWu5y1WIFAqmJselypxXh6dKLNOKEB98L88bS2rkNqqlKzCNJp9c0G0j
Gzh0iRrCbHSXmPR643QS+4rWhgFmnSbSuXCjS0xAOWkU2UdLqyuUNfHSFdUouy3bm5i5GnDM3tG8
doJ4r5tqu3pPbRSVfvs8uJzeNXhp3n4j/tZ42SwH7eaWUUOjc3qFV9453UHTXZfcLH+OeNs5g36x
lBnHvTm7EbMbLeuaLncao8vWCXimfo1o+843Ak6y4ChNeGntvAYvfLK4ezmoyNIbNCLTCXO9ZV3A
E8/s88RczPzDwI4Ob7XZyl7+9Miban29h+tJZPrE21wgvBphDfrrfPdCTPKJD/y98L1rZwHcV6Jq
Zab0metpuNIX/qAFPoz171WUaUb4HAhBSzHuHfjzHb3kha/2Cctis/ORArVHNYfFyYRH2pYIRzic
isVOfPWD1b6mRTqpCRBozzof6UZVvFXRxWIr3GGrEviGYgyPMfahheiSaLs/9QeFu7oZ/ndSY8DD
ya9x+uPed+7mxN2IzIISBOMLFYWVqC3Pew1T2nFuuCiwZS5/v6II10i4t1OJcUH2U9zxKodHsGGv
Oa+zkvNUYUOa/TCCRutF9MzDwdlUMJADTCGSbDQ5OV4PTamDoPEi6Ecc/RF5RWwkcdSXvSOaDWSn
I9LlvubFTQpuc6JKXLcKeb+xdbKRBnwREemXyjg6ME65aJiOuBgrktzykfPLJBKR9ClMavJ62/Ff
BlNIyod9yX9wcSXexnXFpvkrbXk64xsx5Db7wXKP5fSgsvwIMM/9631VLBfkmtbHRXpqmtei52hG
pUwSlo+BASQoeILDOBgREECxBBh5/iYmNsQ9dIv5+OI++QkqdsJPc3uykz5fkM+OraeekcQF7X4n
B5S67za5U967PmooGQhUXfF7afXyCD7ONdRe17QogYjVx38uLwtrS6nhTnm15LQUnu9E2uK6CNI/
1HOABj0ESwOjut4FEpFQpdNAm4K2LHnDWHNcmKB2ioKBogysVZtMO2nSxUdZ8Yk2kJc7URioLVI0
YgmtIwZj4LoeKemgnOnbUdGnzZ4Oa6scqiolBGqS6RgWNLu0RMhcaE6rhhU4hiuqFXPAG8fGwTPW
FKeLMtdVmXLSs5YJGF/YeVm7rREMlY3UYE+yCxbaMXX8y15m5zVHq6GOKDMynzII/jdUHdyVqIy0
ifX2+r/EgtZcvRzSb72gU9ui87M2VecjKildW/aFqaYhKoryUjfB/g4qtyVuc60xFDGmCxwjW+qu
zjuwl2GkOWn66+3QiiEctvd04OVvcCVzjgT7lrkvjVGKKHmmlDUKowSeikb5kK/mJReuWOxONx+s
ULsl+Lqb0CVn0SrVyJ6wt4t6yTeSCafhPhAf0OXn6L60UMxiLolFAtmN35S2Ob1lZpQ1r/n0Qb5D
oQ1zJiRVDgF8N3Q8TYfbi3DyWCy3lT1nxyBs6FT3S2GOzWRlxwKvlRP0RPJA9SjxEy0UoEnkA+M4
cnzLMJrBGWLFEaaUb5lvpqbq/loOaU5+DFuHPxo82/OZuM8FXG3oVNZhtWpMpb/0Xu5m/LfLhHZQ
7yuVI0MqZ7NE43imC8jH3IwGZlbPm0xkJYs7+2U48hXTsFSMqgGDvai0kLxyynKNT/waj+q1c1tz
GjOpPBgdCSq3UKZxCSsqFIY+O6JbAWGWcV1pwqLyj5sGqCF1xb1F3varUWqrJv6cN3PrUXzijtfZ
FshpBL3Xwr4GIPvU2N8EjrJgS1zl21rbXQMXeXc5jjFyrhpCzijSv/RQtyPSzHCFMhlME95fHglt
pRsX+dfSQjUeHAlpWzJ5iOo79Ldnaxai6bXTcGO3fp07ri7HLEmXXPlYi8bv/qVxvNcdra6m7Rlb
6JBTb5fd66VhFRjGArh2n7R1rDW4P5NOT9K0I183T2scYkeZ3q/VFyLb09U9ajzXBS8Kgkhc4mBS
kYY9cy3Vy9lUnuNJH8HGIclUilwnBtjUOH0gteGOZ4c/XNrhXLSYDyxfnD8z1pDy7rYRvDolhnbe
UMzxCZUs40s6s7UIvBnLgc0+vKuOkIXeOrDymlp+Zxra4MZLBbVrqD/jTJ597pDmnw5c4+DbyB88
9Cg9DodYcSuMZT/114pptqc/EuTjRPvH/z5slzI3tluOEBBLqOXLOX+0I5929tO97wkvl/atCz+y
xJrdwteW2FNW/NSmBP+f/maYtVs/bYyBC7Ox3jsYZHL05CIrBa/nS+b3bHfiYm4Ueil1YZZSgAUI
fFZ1dxUmeA2oQRQ3RuGXNGLFV9/XbGFGPV6kfzk1TBBCd+izc7q1H+OHMJwmaBX2IQNYVAKHYepV
SSGCe6CnbYHHETKGNe43EDvFgZr0gB/nVHPHZ80VV1ojOiI3XDvYIkl4ayo4bxQIgrFXWTvBI0nH
VElWMuw2aLUWCRHHf8ymVCHjFlJnOSojfevCYyyyZDH0IcvHhrsnQ5O1OsWzONuVVKIxSxiFZ/tR
fKDAf6xFTnw4O9Qig2VCfW2hJQrmMOuHW0W3dLQmCMO2ccdUd/xyfflH/olTiHZVdGwb8nIwRzSE
J15jFlOJuBZBZ4CiyHyd2IFylFlB+HgHhYabhWOGwYO1ZH/Og1dtQlFMk352CGRSIFTapnWQEUtN
l4zv8S0aaCFDyGCBqDUxZYpxGHX01y/JuH1xhn7TOCnNCI4eKDs5WGX4R425F4vF1o3BJ4vO0otq
I3rimI7jJY1jISqnBxknCIvruF83mF5wN4X7qGLIhR8A2Vg0yFERSIXn9Vv3GHy3Vj/WIkKddlYi
yIMv2I/VMjTLpW7pt05SWIZR0RPyxpB4SIUM9lBPGBl0GC7oSEEwRYLe4pJpZY2P0zbI1n+Oc44w
qY3PUnmF0ixjVpDD/mJ9wpOBGTVgXlaCaZiPcIWK5NiKBIiPdGaQ0TWGvAiG7nMchdZb7Vgf8zNi
MuMyzRdy/lePe9iC4TRx7WhhOQI/QiSVNAmAa2lT/piFbuh7ofJoYSZzrSZ1bvmWw3eN2nKUPVky
uPN5/VRfohRd0VYZoqhKIlU6TXYhJxmPUIloAwc1bPmHEpaZYZORHNlXUJM07hATwHR8MJYqkwWR
WaIezFhxSFlc8/Fq82hEnpeRozg3ULhhr9lAGtVEkCg5ZNRuuVleBPaZadhG0ZgkyPmDOTOKzViM
YgOcpukKqQcbjAWS0IleQ2ROjdh6A+md1qWdBRSX7iSYgFRTtRmBpJioieXJiHfJiMGIR9fJOn8I
MSfXYhspn4ooSa2mSAj4n+8Bmg03fBJZoPOJgsVZRxu1oOMRPXYYjdqjihFaEoZpXBREanuJoRI6
cibFinq4ngUKh/wQd/H5ofYCZ0HJXR62opZFaAT0iFIZo4DIiUojkjeqKiuoZirKo5Y1a7AWckGa
BkuYoD5lpDK6eUs6CkDqpETwl1EqpfhJpVeKpVl6EgUAADs=

--BOUNDARY--

--OUTER--
MIME-Version: 1.0
From: Barry <barry@digicool.com>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Here is your dingus fish
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"

Hi there,

This is the dingus fish.

--BOUNDARY
Content-Type: image/gif; name="dingusfish.gif"
Content-Transfer-Encoding: base64
content-disposition: attachment; filename="dingusfish.gif"

R0lGODdhAAEAAfAAAP///wAAACwAAAAAAAEAAQAC/oSPqcvtD6OctNqLs968+w+G4kiW5omm6sq2
7gvH8kzX9o3n+s73/g8MCofEovGITGICTKbyCV0FDNOo9SqpQqpOrJfXzTQj2vD3TGtqL+NtGQ2f
qTXmxzuOd7WXdcc9DyjU53ewFni4s0fGhdiYaEhGBelICTNoV1j5NUnFcrmUqemjNifJVWpaOqaI
oFq3SspZsSraE7sHq3jr1MZqWvi662vxV4tD+pvKW6aLDOCLyur8PDwbanyDeq0N3DctbQYeLDvR
RY6t95m6UB0d3mwIrV7e2VGNvjjffukeJp4w7F65KecGFsTHQGAygOrgrWs1jt28Rc88KESYcGLA
/obvTkH6p+CinWJiJmIMqXGQwH/y4qk0SYjgQTczT3ajKZGfuI0uJ4kkVI/DT5s3/ejkxI0aT4Y+
YTYgWbImUaXk9nlLmnSh1qJiJFl0OpUqRK4oOy7NyRQtHWofhoYVxkwWXKUSn0YsS+fUV6lhqfYb
6ayd3Z5qQdG1B7bvQzaJjwUV2lixMUZ7JVsOlfjWVr/3NB/uFvnySBN6Dcb6rGwaRM3wsormw5cC
M9NxWy/bWdufudCvy8bOAjXjVVwta/uO21sE5RHBCzNFXtgq9ORtH4eYjVP4Yryo026nvkFmCeyA
B29efV6ravCMK5JwWd5897Qrx7ll38o6iHDZ/rXPR//feevhF4l7wjUGX3xq1eeRfM4RSJGBIV1D
z1gKPkfWag3mVBVvva1RlX5bAJTPR/2YqNtw/FkIYYEi/pIZiAdpcxpoHtmnYYoZtvhUftzdx5ZX
JSKDW405zkGcZzzGZ6KEv4FI224oDmijlEf+xp6MJK5ojY/ASeVUR+wsKRuJ+XFZ5o7ZeEime8t1
ouUsU6YjF5ZtUihhkGfCdFQLWQFJ3UXxmElfhQnR+eCdcDbkFZp6vTRmj56ApCihn5QGpaToNZmR
n3NVSpZcQpZ2KEONusaiCsKAug0wkQbJSFO+PTSjneGxOuFjPlUk3ovWvdIerjUg9ZGIOtGq/qeX
eCYrrCX+1UPsgTKGGRSbzd5q156d/gpfbJxe66eD5iQKrXj7RGgruGxs62qebBHUKS32CKluCiqZ
qh+pmehmEb71noAUoe5e9Zm17S7773V10pjrtG4CmuurCV/n6zLK5turWNhqOvFXbjhZrMD0YhKe
wR0zOyuvsh6MWrGoIuzvyWu5y1WIFAqmJselypxXh6dKLNOKEB98L88bS2rkNqqlKzCNJp9c0G0j
Gzh0iRrCbHSXmPR643QS+4rWhgFmnSbSuXCjS0xAOWkU2UdLqyuUNfHSFdUouy3bm5i5GnDM3tG8
doJ4r5tqu3pPbRSVfvs8uJzeNXhp3n4j/tZ42SwH7eaWUUOjc3qFV9453UHTXZfcLH+OeNs5g36x
lBnHvTm7EbMbLeuaLncao8vWCXimfo1o+843Ak6y4ChNeGntvAYvfLK4ezmoyNIbNCLTCXO9ZV3A
E8/s88RczPzDwI4Ob7XZyl7+9Miban29h+tJZPrE21wgvBphDfrrfPdCTPKJD/y98L1rZwHcV6Jq
Zab0metpuNIX/qAFPoz171WUaUb4HAhBSzHuHfjzHb3kha/2Cctis/ORArVHNYfFyYRH2pYIRzic
isVOfPWD1b6mRTqpCRBozzof6UZVvFXRxWIr3GGrEviGYgyPMfahheiSaLs/9QeFu7oZ/ndSY8DD
ya9x+uPed+7mxN2IzIISBOMLFYWVqC3Pew1T2nFuuCiwZS5/v6II10i4t1OJcUH2U9zxKodHsGGv
Oa+zkvNUYUOa/TCCRutF9MzDwdlUMJADTCGSbDQ5OV4PTamDoPEi6Ecc/RF5RWwkcdSXvSOaDWSn
I9LlvubFTQpuc6JKXLcKeb+xdbKRBnwREemXyjg6ME65aJiOuBgrktzykfPLJBKR9ClMavJ62/Ff
BlNIyod9yX9wcSXexnXFpvkrbXk64xsx5Db7wXKP5fSgsvwIMM/9631VLBfkmtbHRXpqmtei52hG
pUwSlo+BASQoeILDOBgREECxBBh5/iYmNsQ9dIv5+OI++QkqdsJPc3uykz5fkM+OraeekcQF7X4n
B5S67za5U967PmooGQhUXfF7afXyCD7ONdRe17QogYjVx38uLwtrS6nhTnm15LQUnu9E2uK6CNI/
1HOABj0ESwOjut4FEpFQpdNAm4K2LHnDWHNcmKB2ioKBogysVZtMO2nSxUdZ8Yk2kJc7URioLVI0
YgmtIwZj4LoeKemgnOnbUdGnzZ4Oa6scqiolBGqS6RgWNLu0RMhcaE6rhhU4hiuqFXPAG8fGwTPW
FKeLMtdVmXLSs5YJGF/YeVm7rREMlY3UYE+yCxbaMXX8y15m5zVHq6GOKDMynzII/jdUHdyVqIy0
ifX2+r/EgtZcvRzSb72gU9ui87M2VecjKildW/aFqaYhKoryUjfB/g4qtyVuc60xFDGmCxwjW+qu
zjuwl2GkOWn66+3QiiEctvd04OVvcCVzjgT7lrkvjVGKKHmmlDUKowSeikb5kK/mJReuWOxONx+s
ULsl+Lqb0CVn0SrVyJ6wt4t6yTeSCafhPhAf0OXn6L60UMxiLolFAtmN35S2Ob1lZpQ1r/n0Qb5D
oQ1zJiRVDgF8N3Q8TYfbi3DyWCy3lT1nxyBs6FT3S2GOzWRlxwKvlRP0RPJA9SjxEy0UoEnkA+M4
cnzLMJrBGWLFEaaUb5lvpqbq/loOaU5+DFuHPxo82/OZuM8FXG3oVNZhtWpMpb/0Xu5m/LfLhHZQ
7yuVI0MqZ7NE43imC8jH3IwGZlbPm0xkJYs7+2U48hXTsFSMqgGDvai0kLxyynKNT/waj+q1c1tz
GjOpPBgdCSq3UKZxCSsqFIY+O6JbAWGWcV1pwqLyj5sGqCF1xb1F3varUWqrJv6cN3PrUXzijtfZ
FshpBL3Xwr4GIPvU2N8EjrJgS1zl21rbXQMXeXc5jjFyrhpCzijSv/RQtyPSzHCFMhlME95fHglt
pRsX+dfSQjUeHAlpWzJ5iOo79Ldnaxai6bXTcGO3fp07ri7HLEmXXPlYi8bv/qVxvNcdra6m7Rlb
6JBTb5fd66VhFRjGArh2n7R1rDW4P5NOT9K0I183T2scYkeZ3q/VFyLb09U9ajzXBS8Kgkhc4mBS
kYY9cy3Vy9lUnuNJH8HGIclUilwnBtjUOH0gteGOZ4c/XNrhXLSYDyxfnD8z1pDy7rYRvDolhnbe
UMzxCZUs40s6s7UIvBnLgc0+vKuOkIXeOrDymlp+Zxra4MZLBbVrqD/jTJ597pDmnw5c4+DbyB88
9Cg9DodYcSuMZT/114pptqc/EuTjRPvH/z5slzI3tluOEBBLqOXLOX+0I5929tO97wkvl/atCz+y
xJrdwteW2FNW/NSmBP+f/maYtVs/bYyBC7Ox3jsYZHL05CIrBa/nS+b3bHfiYm4Ueil1YZZSgAUI
fFZ1dxUmeA2oQRQ3RuGXNGLFV9/XbGFGPV6kfzk1TBBCd+izc7q1H+OHMJwmaBX2IQNYVAKHYepV
SSGCe6CnbYHHETKGNe43EDvFgZr0gB/nVHPHZ80VV1ojOiI3XDvYIkl4ayo4bxQIgrFXWTvBI0nH
VElWMuw2aLUWCRHHf8ymVCHjFlJnOSojfevCYyyyZDH0IcvHhrsnQ5O1OsWzONuVVKIxSxiFZ/tR
fKDAf6xFTnw4O9Qig2VCfW2hJQrmMOuHW0W3dLQmCMO2ccdUd/xyfflH/olTiHZVdGwb8nIwRzSE
J15jFlOJuBZBZ4CiyHyd2IFylFlB+HgHhYabhWOGwYO1ZH/Og1dtQlFMk352CGRSIFTapnWQEUtN
l4zv8S0aaCFDyGCBqDUxZYpxGHX01y/JuH1xhn7TOCnNCI4eKDs5WGX4R425F4vF1o3BJ4vO0otq
I3rimI7jJY1jISqnBxknCIvruF83mF5wN4X7qGLIhR8A2Vg0yFERSIXn9Vv3GHy3Vj/WIkKddlYi
yIMv2I/VMjTLpW7pt05SWIZR0RPyxpB4SIUM9lBPGBl0GC7oSEEwRYLe4pJpZY2P0zbI1n+Oc44w
qY3PUnmF0ixjVpDD/mJ9wpOBGTVgXlaCaZiPcIWK5NiKBIiPdGaQ0TWGvAiG7nMchdZb7Vgf8zNi
MuMyzRdy/lePe9iC4TRx7WhhOQI/QiSVNAmAa2lT/piFbuh7ofJoYSZzrSZ1bvmWw3eN2nKUPVky
uPN5/VRfohRd0VYZoqhKIlU6TXYhJxmPUIloAwc1bPmHEpaZYZORHNlXUJM07hATwHR8MJYqkwWR
WaIezFhxSFlc8/Fq82hEnpeRozg3ULhhr9lAGtVEkCg5ZNRuuVleBPaZadhG0ZgkyPmDOTOKzViM
YgOcpukKqQcbjAWS0IleQ2ROjdh6A+md1qWdBRSX7iSYgFRTtRmBpJioieXJiHfJiMGIR9fJOn8I
MSfXYhspn4ooSa2mSAj4n+8Bmg03fBJZoPOJgsVZRxu1oOMRPXYYjdqjihFaEoZpXBREanuJoRI6
cibFinq4ngUKh/wQd/H5ofYCZ0HJXR62opZFaAT0iFIZo4DIiUojkjeqKiuoZirKo5Y1a7AWckGa
BkuYoD5lpDK6eUs6CkDqpETwl1EqpfhJpVeKpVl6EgUAADs=

--BOUNDARY--
Send Ppp mailing list submissions to
	ppp@zzz.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://www.zzz.org/mailman/listinfo/ppp
or, via email, send a message with subject or body 'help' to
	ppp-request@zzz.org

You can reach the person managing the list at
	ppp-admin@zzz.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Ppp digest..."

Today's Topics:

   1. testing #1 (Barry A. Warsaw)
   2. testing #2 (Barry A. Warsaw)
   3. testing #3 (Barry A. Warsaw)
   4. testing #4 (Barry A. Warsaw)
   5. testing #5 (Barry A. Warsaw)

hello


hello


hello


hello


hello



_______________________________________________
Ppp mailing list
Ppp@zzz.org
http://www.zzz.org/mailman/listinfo/ppp

Return-Path: <barry@python.org>
Delivered-To: barry@python.org
Received: by mail.python.org (Postfix, from userid 889)
	id C2BF0D37C6; Tue, 11 Sep 2001 00:05:05 -0400 (EDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="h90VIIIKmx"
Content-Transfer-Encoding: 7bit
Message-ID: <15261.36209.358846.118674@anthem.python.org>
From: barry@python.org (Barry A. Warsaw)
To: barry@python.org
Subject: a simple multipart
Date: Tue, 11 Sep 2001 00:05:05 -0400
X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
X-Attribution: BAW
X-Oblique-Strategy: Make a door into a window


--h90VIIIKmx
Content-Type: text/plain; name="msg.txt"
Content-Transfer-Encoding: 7bit

a simple kind of mirror
to reflect upon our own

--h90VIIIKmx
Content-Type: text/plain; name="msg.txt"
Content-Transfer-Encoding: 7bit

a simple kind of mirror
to reflect upon our own

--h90VIIIKmx--

Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY


--BOUNDARY--
From MAILER-DAEMON Fri Apr 06 16:46:09 2001
Received: from [204.245.199.98] (helo=zinfandel.lacita.com)
	by www.linux.org.uk with esmtp (Exim 3.13 #1)
	id 14lYR6-0008Iv-00
	for linuxuser-admin@www.linux.org.uk; Fri, 06 Apr 2001 16:46:09 +0100
Received: from localhost (localhost) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with internal id JAB03225; Fri, 6 Apr 2001 09:23:06 -0800 (GMT-0800)
Date: Fri, 6 Apr 2001 09:23:06 -0800 (GMT-0800)
From: Mail Delivery Subsystem <MAILER-DAEMON@zinfandel.lacita.com>
Subject: Returned mail: Too many hops 19 (17 max): from <linuxuser-admin@www.linux.org.uk> via [199.164.235.226], to <scoffman@wellpartner.com>
Message-Id: <200104061723.JAB03225@zinfandel.lacita.com>
To: <linuxuser-admin@www.linux.org.uk>
To: postmaster@zinfandel.lacita.com
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
	bo
Auto-Submitted: auto-generated (failure)

This is a MIME-encapsulated message

--JAB03225.986577786/zinfandel.lacita.com

The original message was received at Fri, 6 Apr 2001 09:23:03 -0800 (GMT-0800)
from [199.164.235.226]

   ----- The following addresses have delivery notifications -----
<scoffman@wellpartner.com>  (unrecoverable error)

   ----- Transcript of session follows -----
554 Too many hops 19 (17 max): from <linuxuser-admin@www.linux.org.uk> via [199.164.235.226], to <scoffman@wellpartner.com>

--JAB03225.986577786/zinfandel.lacita.com
Content-Type: message/delivery-status

Reporting-MTA: dns; zinfandel.lacita.com
Received-From-MTA: dns; [199.164.235.226]
Arrival-Date: Fri, 6 Apr 2001 09:23:03 -0800 (GMT-0800)

Final-Recipient: rfc822; scoffman@wellpartner.com
Action: failed
Status: 5.4.6
Last-Attempt-Date: Fri, 6 Apr 2001 09:23:06 -0800 (GMT-0800)

--JAB03225.986577786/zinfandel.lacita.com
Content-Type: text/rfc822-headers

Return-Path: linuxuser-admin@www.linux.org.uk
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03225 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:23:03 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03221 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:22:18 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03217 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:21:37 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03213 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:20:56 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03209 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:20:15 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03205 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:19:33 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03201 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:18:52 -0800 (GMT-0800)
Received: from zinfandel.lacita.com ([204.245.199.98])
	by
	fo
Received: from ns1.wellpartner.net ([199.164.235.226]) by zinfandel.lacita.com (8.7.3/8.6.10-MT4.00) with ESMTP id JAA03197 for <scoffman@wellpartner.com>; Fri, 6 Apr 2001 09:17:54 -0800 (GMT-0800)
Received: from www.linux.org.uk (parcelfarce.linux.theplanet.co.uk [195.92.249.252])
	by
	fo
Received: from localhost.localdomain
	([
	by
	id
Received: from [212.1.130.11] (helo=s1.uklinux.net ident=root)
	by
	id
	fo
Received: from server (ppp-2-22.cvx4.telinco.net [212.1.149.22])
	by
	fo
From: Daniel James <daniel@linuxuser.co.uk>
Organization: LinuxUser
To: linuxuser@www.linux.org.uk
X-Mailer: KMail [version 1.1.99]
Content-Type: text/plain;
  c
MIME-Version: 1.0
Message-Id: <01040616033903.00962@server>
Content-Transfer-Encoding: 8bit
Subject: [LinuxUser] bulletin no. 45
Sender: linuxuser-admin@www.linux.org.uk
Errors-To: linuxuser-admin@www.linux.org.uk
X-BeenThere: linuxuser@www.linux.org.uk
X-Mailman-Version: 2.0.3
Precedence: bulk
List-Help: <mailto:linuxuser-request@www.linux.org.uk?subject=help>
List-Post: <mailto:linuxuser@www.linux.org.uk>
List-Subscribe: <http://www.linux.org.uk/mailman/listinfo/linuxuser>,
	<m
List-Id: bulletins from LinuxUser magazine <linuxuser.www.linux.org.uk>
List-Unsubscribe: <http://www.linux.org.uk/mailman/listinfo/linuxuser>,
	<m
List-Archive: <http://www.linux.org.uk/pipermail/linuxuser/>
Date: Fri, 6 Apr 2001 16:03:39 +0100

--JAB03225.986577786/zinfandel.lacita.com--


MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"

------- =_aaaaaaaaaa0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa1"
Content-ID: <20592.1022586929.1@example.com>

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa2"
Content-ID: <20592.1022586929.2@example.com>

------- =_aaaaaaaaaa2
Content-Type: text/plain
Content-ID: <20592.1022586929.3@example.com>
Content-Description: very tricky
Content-Transfer-Encoding: 7bit


Unlike the test test_nested-multiples-with-internal-boundary, this
piece of text not only contains the outer boundary tags 
------- =_aaaaaaaaaa1 
and 
------- =_aaaaaaaaaa0 
but puts them at the start of a line! And, to be even nastier, it
even includes a couple of end tags, such as this one:

------- =_aaaaaaaaaa1--

and this one, which is from a multipart we haven't even seen yet!

------- =_aaaaaaaaaa4--

This will, I'm sure, cause much breakage of MIME parsers. But, as 
far as I can tell, it's perfectly legal. I have not yet ever seen
a case of this in the wild, but I've seen *similar* things.


------- =_aaaaaaaaaa2
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.4@example.com>
Content-Description: patch2
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa2--

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa3"
Content-ID: <20592.1022586929.6@example.com>

------- =_aaaaaaaaaa3
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.7@example.com>
Content-Description: patch3
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa3
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.8@example.com>
Content-Description: patch4
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa3--

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa4"
Content-ID: <20592.1022586929.10@example.com>

------- =_aaaaaaaaaa4
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.11@example.com>
Content-Description: patch5
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa4
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.12@example.com>
Content-Description: patch6
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa4--

------- =_aaaaaaaaaa1--

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <20592.1022586929.15@example.com>

--
It's never too late to have a happy childhood.

------- =_aaaaaaaaaa0--
Return-Path: <aperson@dom.ain>
Received: by mail.dom.ain (Postfix, from userid 889)
	id B9D0AD35DB; Tue,  4 Jun 2002 21:46:59 -0400 (EDT)
Message-ID: <15613.28051.707126.569693@dom.ain>
Date: Tue, 4 Jun 2002 21:46:59 -0400
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more text
From: aperson@dom.ain (Anne P. Erson)
To: bperson@dom.ain (Barney P. Erson)

test
Return-Path: <xx@xx.dk>
Received: from fepD.post.tele.dk (195.41.46.149) by mail.groupcare.dk (LSMTP for Windows NT v1.1b) with SMTP id <0.0014F8A2@mail.groupcare.dk>; Mon, 30 Apr 2001 12:17:50 +0200
User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2106
Subject: XX
From: xx@xx.dk
To: XX
Message-ID: <xxxx>
Mime-version: 1.0
Content-type: multipart/mixed;
   boundary="MS_Mac_OE_3071477847_720252_MIME_Part"

> Denne meddelelse er i MIME-format. Da dit postl

--MS_Mac_OE_3071477847_720252_MIME_Part
Content-type: multipart/alternative;
   boundary="MS_Mac_OE_3071477847_720252_MIME_Part"


--MS_Mac_OE_3071477847_720252_MIME_Part
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Some removed test. 

--MS_Mac_OE_3071477847_720252_MIME_Part
Content-type: text/html; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Some removed HTML</TITLE>
</HEAD>
<BODY>
Some removed text.
</BODY>
</HTML>


--MS_Mac_OE_3071477847_720252_MIME_Part--


--MS_Mac_OE_3071477847_720252_MIME_Part
Content-type: image/gif; name="xx.gif";
 x-mac-creator="6F676C65";
 x-mac-type="47494666"
Content-disposition: attachment
Content-transfer-encoding: base64

Some removed base64 encoded chars.

--MS_Mac_OE_3071477847_720252_MIME_Part--

MIME-Version: 1.0
From: Barry Warsaw <barry@python.org>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Lyrics
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/html; charset="iso-8859-1"


--BOUNDARY
Content-Type: text/plain; charset="iso-8859-2"


--BOUNDARY
Content-Type: text/plain; charset="koi8-r"


--BOUNDARY--
From: aperson@dom.ain
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain

A message part
--BOUNDARY--
From: aperson@dom.ain
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=BOUNDARY_

--BOUNDARY
Content-Type: text/plain

message 1

--BOUNDARY
Content-Type: text/plain

message 2

--BOUNDARY--
MIME-Version: 1.0
From: Barry Warsaw <barry@python.org>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Lyrics
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/html; charset="iso-8859-1"


--BOUNDARY
Content-Type: multipart/mixed; boundary="ANOTHER"

--ANOTHER
Content-Type: text/plain; charset="iso-8859-2"


--ANOTHER
Content-Type: text/plain; charset="iso-8859-3"

--ANOTHER--

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/plain; charset="koi8-r"


--BOUNDARY--
Received: from xcar [192.168.0.2] by jeeves.wooster.local
  (SMTPD32-7.07 EVAL) id AFF92F0214; Sun, 12 May 2002 08:55:37 +0100
Date: Sun, 12 May 2002 08:56:15 +0100
From: Father Time <father.time@xcar.wooster.local>
To: timbo@jeeves.wooster.local
Subject: IMAP file test
Message-ID: <6df65d354b.father.time@rpc.wooster.local>
X-Organization: Home
User-Agent: Messenger-Pro/2.50a (MsgServe/1.50) (RISC-OS/4.02) POPstar/2.03
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="1618492860--2051301190--113853680"
Status: R
X-UIDL: 319998302

This message is in MIME format which your mailer apparently does not support.
You either require a newer version of your software which supports MIME, or
a separate MIME decoding utility.  Alternatively, ask the sender of this
message to resend it in a different format.

--1618492860--2051301190--113853680
Content-Type: text/plain; charset=us-ascii

Simple email with attachment.


--1618492860--2051301190--113853680
Content-Type: application/riscos; name="clock.bmp,69c"; type=BMP;
	load=&fff69c4b; exec=&355dd4d1; access=&03
Content-Disposition: attachment; filename="clock.bmp"
Content-Transfer-Encoding: base64

Qk12AgAAAAAAAHYAAAAoAAAAIAAAACAAAAABAAQAAAAAAAAAAADXDQAA1w0AAAAAAAAA
AAAAAAAAAAAAiAAAiAAAAIiIAIgAAACIAIgAiIgAALu7uwCIiIgAERHdACLuIgAz//8A
zAAAAN0R3QDu7iIA////AAAAAAAAAAAAAAAAAAAAAAAAAAi3AAAAAAAAADeAAAAAAAAA
C3ADMzMzMANwAAAAAAAAAAAHMAAAAANwAAAAAAAAAACAMAd3zPfwAwgAAAAAAAAIAwd/
f8x/f3AwgAAAAAAAgDB0x/f3//zPAwgAAAAAAAcHfM9////8z/AwAAAAAAiwd/f3////
////A4AAAAAAcEx/f///////zAMAAAAAiwfM9////3///8zwOAAAAAcHf3////B/////
8DAAAAALB/f3///wd3d3//AwAAAABwTPf//wCQAAD/zAMAAAAAsEx/f///B////8wDAA
AAAHB39////wf/////AwAAAACwf39///8H/////wMAAAAIcHfM9///B////M8DgAAAAA
sHTH///wf///xAMAAAAACHB3f3//8H////cDgAAAAAALB3zH//D//M9wMAAAAAAAgLB0
z39///xHAwgAAAAAAAgLB3d3RHd3cDCAAAAAAAAAgLAHd0R3cAMIAAAAAAAAgAgLcAAA
AAMwgAgAAAAACDAAAAu7t7cwAAgDgAAAAABzcIAAAAAAAAgDMwAAAAAAN7uwgAAAAAgH
MzMAAAAACH97tzAAAAALu3c3gAAAAAAL+7tzDABAu7f7cAAAAAAACA+3MA7EQAv/sIAA
AAAAAAAIAAAAAAAAAIAAAAAA

--1618492860--2051301190--113853680--
Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
	id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400


Hi,

Do you like this message?

-Me
Delivered-To: freebsd-isp@freebsd.org
Date: Wed, 27 Sep 2000 11:11:09 -0500
From: Anne Person <aperson@example.com>
To: Barney Dude <bdude@example.com>
Subject: Re: Limiting Perl CPU Utilization...
Mime-Version: 1.0
Content-Type: multipart/signed; micalg*=ansi-x3.4-1968''pgp-md5;
	protocol*=ansi-x3.4-1968''application%2Fpgp-signature;
	boundary*="ansi-x3.4-1968''EeQfGwPcQSOJBaQU"
Content-Disposition: inline
Sender: owner-freebsd-isp@FreeBSD.ORG
Precedence: bulk
X-Loop: FreeBSD.org


--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset*=ansi-x3.4-1968''us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

part 1

--EeQfGwPcQSOJBaQU
Content-Type: text/plain
Content-Disposition: inline

part 2

--EeQfGwPcQSOJBaQU--
From SRS0=aO/p=ON=bag.python.org=None@bounce2.pobox.com  Fri Nov 26 21:40:36 2004
X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
	[nil nil nil nil nil nil nil "MAILER DAEMON <>" "MAILER DAEMON <>" nil nil "Banned file: auto__mail.python.bat in mail from you" "^From:" nil nil nil nil "Banned file: auto__mail.python.bat in mail from you" nil nil nil nil nil nil nil]
	nil)
MIME-Version: 1.0
Message-Id: <edab.7804f5cb8070@python.org>
Content-Type: multipart/report; report-type=delivery-status;
    charset=utf-8;
    boundary="----------=_1101526904-1956-5"
X-Virus-Scanned: by XS4ALL Virus Scanner
X-UIDL: 4\G!!!<c"!UV["!M7C!!
From: MAILER DAEMON <>
To: <webmaster@python.org>
Subject: Banned file: auto__mail.python.bat in mail from you
Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

This is a multi-part message in MIME format...

------------=_1101526904-1956-5
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

BANNED FILENAME ALERT

Your message to: xxxxxxx@dot.ca.gov, xxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxx@dot.ca.gov, xxxxxx@dot.ca.gov, xxxxxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxx@dot.ca.gov, xxxxxxx@dot.ca.gov, xxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxx@dot.ca.gov, xxx@dot.ca.gov, xxxxxxx@dot.ca.gov, xxxxxxx@dot.ca.gov, xxxxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxx@dot.ca.gov, xxx@dot.ca.gov, xxxxxxxx@dot.ca.gov, xxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxxx@dot.ca.gov, xxxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxx@dot.ca.gov, xxxxxxx@dot.ca.gov, xxxxxxxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxxx@dot.ca.gov, xxxx@dot.ca.gov, xxxxxxxx@dot.ca.gov, xxxxxxxxxx@dot.ca.gov, xxxxxxxxxxxxxxxxxx@dot.ca.gov
was blocked by our Spam Firewall. The email you sent with the following subject has NOT BEEN DELIVERED:

Subject: Delivery_failure_notice

An attachment in that mail was of a file type that the Spam Firewall is set to block.



------------=_1101526904-1956-5
Content-Type: message/delivery-status
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Content-Description: Delivery error report

Reporting-MTA: dns; sacspam01.dot.ca.gov
Received-From-MTA: smtp; sacspam01.dot.ca.gov ([127.0.0.1])
Arrival-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

Final-Recipient: rfc822; xxxxxxx@dot.ca.gov
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message content rejected, id=01956-02-2 - BANNED: auto__mail.python.bat
Last-Attempt-Date: Fri, 26 Nov 2004 19:41:44 -0800 (PST)

------------=_1101526904-1956-5
Content-Type: text/rfc822-headers
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Content-Description: Undelivered-message headers

Received: from kgsav.org (ppp-70-242-162-63.dsl.spfdmo.swbell.net [70.242.162.63])
	by sacspam01.dot.ca.gov (Spam Firewall) with SMTP
	id A232AD03DE3A; Fri, 26 Nov 2004 19:41:35 -0800 (PST)
From: webmaster@python.org
To: xxxxx@dot.ca.gov
Date: Sat, 27 Nov 2004 03:35:30 UTC
Subject: Delivery_failure_notice
Importance: Normal
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
Message-ID: <edab.7804f5cb8070@python.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="====67bd2b7a5.f99f7"
Content-Transfer-Encoding: 7bit

------------=_1101526904-1956-5--

From: foo
Subject: bar
To: baz
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
	boundary="D1690A7AC1.996856090/mail.example.com"
Message-Id: <20010803162810.0CA8AA7ACC@mail.example.com>

This is a MIME-encapsulated message.

--D1690A7AC1.996856090/mail.example.com
Content-Type: text/plain

Yadda yadda yadda

--D1690A7AC1.996856090/mail.example.com

Yadda yadda yadda

--D1690A7AC1.996856090/mail.example.com
Content-Type: message/rfc822

From: nobody@python.org

Yadda yadda yadda

--D1690A7AC1.996856090/mail.example.com--

Return-Path: <sender@example.net>
Delivery-Date: Mon, 08 Feb 2010 14:05:16 +0100
Received: from example.org (example.org [64.5.53.58])
    by example.net (node=mxbap2) with ESMTP (Nemesis)
    id UNIQUE for someone@example.com; Mon, 08 Feb 2010 14:05:16 +0100
Date: Mon, 01 Feb 2010 12:21:16 +0100
From: "Sender" <sender@example.net>
To: <someone@example.com>
Subject: GroupwiseForwardingTest
Mime-Version: 1.0
Content-Type: message/rfc822

Return-path: <sender@example.net>
Message-ID: <4B66B890.4070408@teconcept.de>
Date: Mon, 01 Feb 2010 12:18:40 +0100
From: "Dr. Sender" <sender@example.net>
MIME-Version: 1.0
To: "Recipient" <recipient@example.com>
Subject: GroupwiseForwardingTest
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit

Testing email forwarding with Groupwise 1.2.2010
Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
	id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400


Hi,

Do you like this message?

-Me
Return-Path: <barry@python.org>
Delivered-To: barry@python.org
MIME-Version: 1.0
Content-Type: message/rfc822
Content-Description: forwarded message
Content-Transfer-Encoding: 7bit
Message-ID: <15265.9482.641338.555352@python.org>
From: barry@python.org (Barry A. Warsaw)
Sender: barry@python.org
To: barry@python.org
Subject: forwarded message from Barry A. Warsaw
Date: Thu, 13 Sep 2001 17:28:42 -0400
X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
X-Attribution: BAW
X-Oblique-Strategy: Be dirty
X-Url: http://barry.wooz.org

MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Return-Path: <barry@python.org>
Delivered-To: barry@python.org
Message-ID: <15265.9468.713530.98441@python.org>
From: barry@python.org (Barry A. Warsaw)
Sender: barry@python.org
To: barry@python.org
Subject: testing
Date: Thu, 13 Sep 2001 17:28:28 -0400
X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
X-Attribution: BAW
X-Oblique-Strategy: Spectrum analysis
X-Url: http://barry.wooz.org


MIME-version: 1.0
From: ppp-request@zzz.org
Sender: ppp-admin@zzz.org
To: ppp@zzz.org
Subject: Ppp digest, Vol 1 #2 - 5 msgs
Date: Fri, 20 Apr 2001 20:18:00 -0400 (EDT)
X-Mailer: Mailman v2.0.4
X-Mailman-Version: 2.0.4
Content-Type: multipart/mixed; boundary="192.168.1.2.889.32614.987812255.500.21814"

--192.168.1.2.889.32614.987812255.500.21814
Content-type: text/plain; charset=us-ascii
Content-description: Masthead (Ppp digest, Vol 1 #2)

Send Ppp mailing list submissions to
	ppp@zzz.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://www.zzz.org/mailman/listinfo/ppp
or, via email, send a message with subject or body 'help' to
	ppp-request@zzz.org

You can reach the person managing the list at
	ppp-admin@zzz.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Ppp digest..."


--192.168.1.2.889.32614.987812255.500.21814
Content-type: text/plain; charset=us-ascii
Content-description: Today's Topics (5 msgs)

Today's Topics:

   1. testing #1 (Barry A. Warsaw)
   2. testing #2 (Barry A. Warsaw)
   3. testing #3 (Barry A. Warsaw)
   4. testing #4 (Barry A. Warsaw)
   5. testing #5 (Barry A. Warsaw)

--192.168.1.2.889.32614.987812255.500.21814
Content-Type: multipart/digest; boundary="__--__--"

--__--__--

Message: 1
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Date: Fri, 20 Apr 2001 20:16:13 -0400
To: ppp@zzz.org
From: barry@digicool.com (Barry A. Warsaw)
Subject: [Ppp] testing #1
Precedence: bulk


hello


--__--__--

Message: 2
Date: Fri, 20 Apr 2001 20:16:21 -0400
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: ppp@zzz.org
From: barry@digicool.com (Barry A. Warsaw)
Precedence: bulk


hello


--__--__--

Message: 3
Date: Fri, 20 Apr 2001 20:16:25 -0400
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: ppp@zzz.org
From: barry@digicool.com (Barry A. Warsaw)
Subject: [Ppp] testing #3
Precedence: bulk


hello


--__--__--

Message: 4
Date: Fri, 20 Apr 2001 20:16:28 -0400
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: ppp@zzz.org
From: barry@digicool.com (Barry A. Warsaw)
Subject: [Ppp] testing #4
Precedence: bulk


hello


--__--__--

Message: 5
Date: Fri, 20 Apr 2001 20:16:32 -0400
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: ppp@zzz.org
From: barry@digicool.com (Barry A. Warsaw)
Subject: [Ppp] testing #5
Precedence: bulk


hello




--__--__----

--192.168.1.2.889.32614.987812255.500.21814
Content-type: text/plain; charset=us-ascii
Content-description: Digest Footer

_______________________________________________
Ppp mailing list
Ppp@zzz.org
http://www.zzz.org/mailman/listinfo/ppp


--192.168.1.2.889.32614.987812255.500.21814--

End of Ppp Digest

Return-Path: <barry@python.org>
Delivered-To: barry@python.org
Received: by mail.python.org (Postfix, from userid 889)
	id C2BF0D37C6; Tue, 11 Sep 2001 00:05:05 -0400 (EDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="h90VIIIKmx"
Content-Transfer-Encoding: 7bit
Message-ID: <15261.36209.358846.118674@anthem.python.org>
From: barry@python.org (Barry A. Warsaw)
To: barry@python.org
Subject: a simple multipart
Date: Tue, 11 Sep 2001 00:05:05 -0400
X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
X-Attribution: BAW
X-Oblique-Strategy: Make a door into a window


--h90VIIIKmx
Content-Type: text/plain
Content-Disposition: inline;
	filename="msg.txt"
Content-Transfer-Encoding: 7bit

a simple kind of mirror
to reflect upon our own

--h90VIIIKmx
Content-Type: text/plain
Content-Disposition: inline;
	filename="msg.txt"
Content-Transfer-Encoding: 7bit

a simple kind of mirror
to reflect upon our own

--h90VIIIKmx--

Content-Type: multipart/mixed; boundary=ABCDE

--ABCDE
Content-Type: text/x-one

Blah

--ABCDE
--ABCDE
Content-Type: text/x-two

Blah

--ABCDE
--ABCDE
--ABCDE
--ABCDE
Content-Type: text/x-two

Blah

--ABCDE--
From: aperson@dom.ain
MIME-Version: 1.0
Content-Type: multipart/digest; boundary=BOUNDARY

--BOUNDARY

Content-Type: text/plain; charset=us-ascii
To: aa@bb.org
From: cc@dd.org
Subject: ee

message 1

--BOUNDARY

Content-Type: text/plain; charset=us-ascii
To: aa@bb.org
From: cc@dd.org
Subject: ee

message 2

--BOUNDARY--
MIME-Version: 1.0
From: Barry Warsaw <barry@python.org>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Lyrics
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/html; charset="iso-8859-1"


--BOUNDARY
Content-Type: multipart/mixed; boundary="ANOTHER"

--ANOTHER
Content-Type: text/plain; charset="iso-8859-2"


--ANOTHER
Content-Type: text/plain; charset="iso-8859-3"


--ANOTHER--


--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/plain; charset="koi8-r"


--BOUNDARY--
Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
	id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Cc: ccc@zzz.org
CC: ddd@zzz.org
cc: eee@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400


Hi,

Do you like this message?

-Me
MIME-Version: 1.0
Content-Type: text/html; boundary="--961284236552522269"

----961284236552522269
Content-Type: text/html;
Content-Transfer-Encoding: 7Bit

<html></html>

----961284236552522269--
Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
	id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400


Hi,

I'm sorry but I'm using a drainbread ISP, which although big and
wealthy can't seem to generate standard compliant email. :(

This message has a Content-Type: header with no subtype.  I hope you
can still read it.

-Me
From: "Allison Dunlap" <xxx@example.com>
To: yyy@example.com
Subject: 64423
Date: Sun, 11 Jul 2004 16:09:27 -0300
MIME-Version: 1.0
Content-Type: multipart/alternative;

Blah blah blah
Mime-Version: 1.0
Content-Type: Multipart/Mixed; Boundary="NextPart"
To: IETF-Announce:;
From: Internet-Drafts@ietf.org
Subject: I-D ACTION:draft-ietf-mboned-mix-00.txt
Date: Tue, 22 Dec 1998 16:55:06 -0500

--NextPart

Blah blah blah

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body;
	access-type="mail-server";
	server="mailserv@ietf.org"

Content-Type: text/plain
Content-ID: <19981222151406.I-D@ietf.org>

ENCODING mime
FILE /internet-drafts/draft-ietf-mboned-mix-00.txt

--OtherAccess
Content-Type: Message/External-body;
	name="draft-ietf-mboned-mix-00.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID: <19981222151406.I-D@ietf.org>


--OtherAccess--

--NextPart--

Return-Path: <>
Delivered-To: scr-admin@socal-raves.org
Received: from cougar.noc.ucla.edu (cougar.noc.ucla.edu [169.232.10.18])
	by babylon.socal-raves.org (Postfix) with ESMTP id CCC2C51B84
	for <scr-admin@socal-raves.org>; Sun, 23 Sep 2001 20:13:54 -0700 (PDT)
Received: from sims-ms-daemon by cougar.noc.ucla.edu
 (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
 id <0GK500B01D0B8Y@cougar.noc.ucla.edu> for scr-admin@socal-raves.org; Sun,
 23 Sep 2001 20:14:35 -0700 (PDT)
Received: from cougar.noc.ucla.edu
 (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
 id <0GK500B01D0B8X@cougar.noc.ucla.edu>; Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
Date: Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
From: Internet Mail Delivery <postmaster@ucla.edu>
Subject: Delivery Notification: Delivery has failed
To: scr-admin@socal-raves.org
Message-id: <0GK500B04D0B8X@cougar.noc.ucla.edu>
MIME-version: 1.0
Sender: scr-owner@socal-raves.org
Errors-To: scr-owner@socal-raves.org
X-BeenThere: scr@socal-raves.org
X-Mailman-Version: 2.1a3
Precedence: bulk
List-Help: <mailto:scr-request@socal-raves.org?subject=help>
List-Post: <mailto:scr@socal-raves.org>
List-Subscribe: <http://socal-raves.org/mailman/listinfo/scr>,
	<mailto:scr-request@socal-raves.org?subject=subscribe>
List-Id: SoCal-Raves <scr.socal-raves.org>
List-Unsubscribe: <http://socal-raves.org/mailman/listinfo/scr>,
	<mailto:scr-request@socal-raves.org?subject=unsubscribe>
List-Archive: <http://socal-raves.org/mailman/private/scr/>
Content-Type: multipart/report; boundary="Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)"


--Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
Content-type: text/plain; charset=ISO-8859-1

This report relates to a message you sent with the following header fields:

  Message-id: <002001c144a6$8752e060$56104586@oxy.edu>
  Date: Sun, 23 Sep 2001 20:10:55 -0700
  From: "Ian T. Henry" <henryi@oxy.edu>
  To: SoCal Raves <scr@socal-raves.org>
  Subject: [scr] yeah for Ians!!

Your message cannot be delivered to the following recipients:

  Recipient address: jangel1@cougar.noc.ucla.edu
  Reason: recipient reached disk quota


--Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
Content-type: message/DELIVERY-STATUS

Original-envelope-id: 0GK500B4HD0888@cougar.noc.ucla.edu
Reporting-MTA: dns; cougar.noc.ucla.edu

Action: failed
Status: 5.0.0 (recipient reached disk quota)
Original-recipient: rfc822;jangel1@cougar.noc.ucla.edu
Final-recipient: rfc822;jangel1@cougar.noc.ucla.edu

--Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
Content-type: MESSAGE/RFC822

Return-path: scr-admin@socal-raves.org
Received: from sims-ms-daemon by cougar.noc.ucla.edu
 (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
 id <0GK500B01D0B8X@cougar.noc.ucla.edu>; Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
Received: from panther.noc.ucla.edu by cougar.noc.ucla.edu
 (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
 with ESMTP id <0GK500B4GD0888@cougar.noc.ucla.edu> for jangel1@sims-ms-daemon;
 Sun, 23 Sep 2001 20:14:33 -0700 (PDT)
Received: from babylon.socal-raves.org
 (ip-209-85-222-117.dreamhost.com [209.85.222.117])
 by panther.noc.ucla.edu (8.9.1a/8.9.1) with ESMTP id UAA09793 for
 <jangel1@ucla.edu>; Sun, 23 Sep 2001 20:14:32 -0700 (PDT)
Received: from babylon (localhost [127.0.0.1]) by babylon.socal-raves.org
 (Postfix) with ESMTP id D3B2951B70; Sun, 23 Sep 2001 20:13:47 -0700 (PDT)
Received: by babylon.socal-raves.org (Postfix, from userid 60001)
 id A611F51B82; Sun, 23 Sep 2001 20:13:46 -0700 (PDT)
Received: from tiger.cc.oxy.edu (tiger.cc.oxy.edu [134.69.3.112])
 by babylon.socal-raves.org (Postfix) with ESMTP id ADA7351B70 for
 <scr@socal-raves.org>; Sun, 23 Sep 2001 20:13:44 -0700 (PDT)
Received: from ent (n16h86.dhcp.oxy.edu [134.69.16.86])
 by tiger.cc.oxy.edu (8.8.8/8.8.8) with SMTP id UAA08100 for
 <scr@socal-raves.org>; Sun, 23 Sep 2001 20:14:24 -0700 (PDT)
Date: Sun, 23 Sep 2001 20:10:55 -0700
From: "Ian T. Henry" <henryi@oxy.edu>
Subject: [scr] yeah for Ians!!
Sender: scr-admin@socal-raves.org
To: SoCal Raves <scr@socal-raves.org>
Errors-to: scr-admin@socal-raves.org
Message-id: <002001c144a6$8752e060$56104586@oxy.edu>
MIME-version: 1.0
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
Content-type: text/plain; charset=us-ascii
Precedence: bulk
Delivered-to: scr-post@babylon.socal-raves.org
Delivered-to: scr@socal-raves.org
X-Converted-To-Plain-Text: from multipart/alternative by demime 0.98e
X-Converted-To-Plain-Text: Alternative section used was text/plain
X-BeenThere: scr@socal-raves.org
X-Mailman-Version: 2.1a3
List-Help: <mailto:scr-request@socal-raves.org?subject=help>
List-Post: <mailto:scr@socal-raves.org>
List-Subscribe: <http://socal-raves.org/mailman/listinfo/scr>,
 <mailto:scr-request@socal-raves.org?subject=subscribe>
List-Id: SoCal-Raves <scr.socal-raves.org>
List-Unsubscribe: <http://socal-raves.org/mailman/listinfo/scr>,
 <mailto:scr-request@socal-raves.org?subject=unsubscribe>
List-Archive: <http://socal-raves.org/mailman/private/scr/>

I always love to find more Ian's that are over 3 years old!!

Ian
_______________________________________________
For event info, list questions, or to unsubscribe, see http://www.socal-raves.org/



--Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)--

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Foobar-Spoink-Defrobnit: wasnipoop; giraffes="very-long-necked-animals";
	spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"

MIME-Version: 1.0
From: Barry <barry@digicool.com>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Here is your dingus fish
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

Hi there,

This is the dingus fish.

[Non-text (image/gif) part of message omitted, filename dingusfish.gif]
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"

------- =_aaaaaaaaaa0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa1"
Content-ID: <20592.1022586929.1@example.com>

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa1"
Content-ID: <20592.1022586929.2@example.com>

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.3@example.com>
Content-Description: patch1
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.4@example.com>
Content-Description: patch2
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1--

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa1"
Content-ID: <20592.1022586929.6@example.com>

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.7@example.com>
Content-Description: patch3
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.8@example.com>
Content-Description: patch4
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1--

------- =_aaaaaaaaaa1
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa1"
Content-ID: <20592.1022586929.10@example.com>

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.11@example.com>
Content-Description: patch5
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1
Content-Type: application/octet-stream
Content-ID: <20592.1022586929.12@example.com>
Content-Description: patch6
Content-Transfer-Encoding: base64

XXX

------- =_aaaaaaaaaa1--

------- =_aaaaaaaaaa1--

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <20592.1022586929.15@example.com>

--
It's never too late to have a happy childhood.

------- =_aaaaaaaaaa0--
Mime-Version: 1.0
Message-Id: <a05001902b7f1c33773e9@[134.84.183.138]>
Date: Tue, 16 Oct 2001 13:59:25 +0300
To: a@example.com
From: b@example.com
Content-Type: multipart/mixed; boundary="============_-1208892523==_============"

--============_-1208892523==_============
Content-Type: text/plain; charset="us-ascii" ; format="flowed"

Text text text.
--============_-1208892523==_============
Content-Id: <a05001902b7f1c33773e9@[134.84.183.138].0.0>
Content-Type: image/jpeg; name="wibble.JPG"
 ; x-mac-type="4A504547"
 ; x-mac-creator="474B4F4E"
Content-Disposition: attachment; filename="wibble.JPG"
Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAALCAXABIEBAREA
g6bCjjw/pIZSjO6FWFpldjySOmCNrO7DBZibUXhTwtCixw+GtAijVdqxxaPp0aKvmGXa
qrbBQvms0mAMeYS/3iTV1dG0hHaRNK01XblnWxtVdjkHLMIgTyqnk9VB7CrP2KzIINpa
4O7I+zxYO9WV8jZg71Zlb+8rMDkEirAVQFAUAKAFAAAUAYAUDgADgY6DjpRtXj5RxjHA
4wQRj0wQCMdCAewpaKKK/9k=
--============_-1208892523==_============
Content-Id: <a05001902b7f1c33773e9@[134.84.183.138].0.1>
Content-Type: image/jpeg; name="wibble2.JPG"
 ; x-mac-type="4A504547"
 ; x-mac-creator="474B4F4E"
Content-Disposition: attachment; filename="wibble2.JPG"
Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAALCAXABJ0BAREA
/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
W6NFJJBEkU10kKGTcWMDwxuU+0JHvk8qAtOpNwqSR0n8c3BlDyXHlqsUltHEiTvdXLxR
7vMiGDNJAJWkAMk8ZkCFp5G2oo5W++INrbQtNfTQxJAuXlupz9oS4d5Y1W+E2XlWZJJE
Y7LWYQxTLE1zuMbfBPxw8X2fibVdIbSbI6nLZxX635t9TjtYreWR7WGKJTLJFFKSlozO
0ShxIXM43uC3/9k=
--============_-1208892523==_============
Content-Type: text/plain; charset="us-ascii" ; format="flowed"

Text text text.
--============_-1208892523==_============--

MIME-Version: 1.0
From: Barry Warsaw <barry@python.org>
To: Dingus Lovers <cravindogs@cravindogs.com>
Subject: Lyrics
Date: Fri, 20 Apr 2001 19:35:02 -0400
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"


--BOUNDARY
Content-Type: text/html; charset="iso-8859-1"


--BOUNDARY
Content-Type: text/plain


--BOUNDARY
Content-Type: text/plain; charset="koi8-r"


--BOUNDARY--
Content-Type: multipart/mixed; boundary="AAA"
From: Mail Delivery Subsystem <xxx@example.com>
To: yyy@example.com

This is a MIME-encapsulated message

--AAA

Stuff

--AAA
Content-Type: message/rfc822

From: webmaster@python.org
To: zzz@example.com
Content-Type: multipart/mixed; boundary="BBB"

--BBB--

--AAA--
Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
	id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii;
     title*0*="us-ascii'en'This%20is%20even%20more%20";
     title*1*="%2A%2A%2Afun%2A%2A%2A%20";
     title*2="isn't it!"
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400


Hi,

Do you like this message?

-Me
From: aperson@dom.ain
MIME-Version: 1.0
Content-Type: multipart/digest; boundary=BOUNDARY

--BOUNDARY
Content-Type: message/rfc822

Content-Type: text/plain; charset=us-ascii
To: aa@bb.org
From: cc@dd.org
Subject: ee

message 1

--BOUNDARY
Content-Type: message/rfc822

Content-Type: text/plain; charset=us-ascii
To: aa@bb.org
From: cc@dd.org
Subject: ee

message 2

--BOUNDARY--
From: <foo@bar.baz>
To: <baz@bar.foo>
Subject: test
X-Long-Line: Some really long line contains a lot of text and thus has to be rewrapped because it is some
	really long
        line
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="borderline";
	protocol="application/pgp-signature"; micalg=pgp-sha1

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--borderline
Content-Type: text/plain
X-Long-Line: Another really long line contains a lot of text and thus has to be rewrapped because it is another
	really long
        line

This is the signed contents.

--borderline
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.6 (GNU/Linux)

iD8DBQFG03voRhp6o4m9dFsRApSZAKCCAN3IkJlVRg6NvAiMHlvvIuMGPQCeLZtj
FGwfnRHFBFO/S4/DKysm0lI=
=t7+s
-----END PGP SIGNATURE-----

--borderline--
# -*- coding: utf-8 -*-
# IMPORTANT: unlike the other test_tokenize-*.txt files, this file
# does NOT have the utf-8 BOM signature '\xef\xbb\xbf' at the start
# of it.  Make sure this is not added inadvertently by your editor
# if any changes are made to this file!

# Arbitrary encoded utf-8 text (stolen from test_doctest2.py).
x = 'ЉЊЈЁЂ'
def y():
    """
    And again in a comment.  ЉЊЈЁЂ
    """
    pass
# -*- coding: latin1 -*-
# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf' 
# at the start of it.  Make sure this is preserved if any changes
# are made!  Also note that the coding cookie above conflicts with
# the presence of a utf-8 BOM signature -- this is intended.

# Arbitrary encoded utf-8 text (stolen from test_doctest2.py).
x = 'ЉЊЈЁЂ'
def y():
    """
    And again in a comment.  ЉЊЈЁЂ
    """
    pass
-- Testcases for functions in math.
--
-- Each line takes the form:
--
-- <testid> <function> <input_value> -> <output_value> <flags>
--
-- where:
--
--   <testid> is a short name identifying the test,
--
--   <function> is the function to be tested (exp, cos, asinh, ...),
--
--   <input_value> is a string representing a floating-point value
--
--   <output_value> is the expected (ideal) output value, again
--     represented as a string.
--
--   <flags> is a list of the floating-point flags required by C99
--
-- The possible flags are:
--
--   divide-by-zero : raised when a finite input gives a
--     mathematically infinite result.
--
--   overflow : raised when a finite input gives a finite result that
--     is too large to fit in the usual range of an IEEE 754 double.
--
--   invalid : raised for invalid inputs (e.g., sqrt(-1))
--
--   ignore-sign : indicates that the sign of the result is
--     unspecified; e.g., if the result is given as inf,
--     then both -inf and inf should be accepted as correct.
--
-- Flags may appear in any order.
--
-- Lines beginning with '--' (like this one) start a comment, and are
-- ignored.  Blank lines, or lines containing only whitespace, are also
-- ignored.

-- Many of the values below were computed with the help of
-- version 2.4 of the MPFR library for multiple-precision
-- floating-point computations with correct rounding.  All output
-- values in this file are (modulo yet-to-be-discovered bugs)
-- correctly rounded, provided that each input and output decimal
-- floating-point value below is interpreted as a representation of
-- the corresponding nearest IEEE 754 double-precision value.  See the
-- MPFR homepage at http://www.mpfr.org for more information about the
-- MPFR project.


-------------------------
-- erf: error function --
-------------------------

erf0000 erf 0.0 -> 0.0
erf0001 erf -0.0 -> -0.0
erf0002 erf inf -> 1.0
erf0003 erf -inf -> -1.0
erf0004 erf nan -> nan

-- tiny values
erf0010 erf 1e-308 -> 1.1283791670955125e-308
erf0011 erf 5e-324 -> 4.9406564584124654e-324
erf0012 erf 1e-10 -> 1.1283791670955126e-10

-- small integers
erf0020 erf 1 -> 0.84270079294971489
erf0021 erf 2 -> 0.99532226501895271
erf0022 erf 3 -> 0.99997790950300136
erf0023 erf 4 -> 0.99999998458274209
erf0024 erf 5 -> 0.99999999999846256
erf0025 erf 6 -> 1.0

erf0030 erf -1 -> -0.84270079294971489
erf0031 erf -2 -> -0.99532226501895271
erf0032 erf -3 -> -0.99997790950300136
erf0033 erf -4 -> -0.99999998458274209
erf0034 erf -5 -> -0.99999999999846256
erf0035 erf -6 -> -1.0

-- huge values should all go to +/-1, depending on sign
erf0040 erf -40 -> -1.0
erf0041 erf 1e16 -> 1.0
erf0042 erf -1e150 -> -1.0
erf0043 erf 1.7e308 -> 1.0

-- Issue 8986: inputs x with exp(-x*x) near the underflow threshold
-- incorrectly signalled overflow on some platforms.
erf0100 erf 26.2 -> 1.0
erf0101 erf 26.4 -> 1.0
erf0102 erf 26.6 -> 1.0
erf0103 erf 26.8 -> 1.0
erf0104 erf 27.0 -> 1.0
erf0105 erf 27.2 -> 1.0
erf0106 erf 27.4 -> 1.0
erf0107 erf 27.6 -> 1.0

erf0110 erf -26.2 -> -1.0
erf0111 erf -26.4 -> -1.0
erf0112 erf -26.6 -> -1.0
erf0113 erf -26.8 -> -1.0
erf0114 erf -27.0 -> -1.0
erf0115 erf -27.2 -> -1.0
erf0116 erf -27.4 -> -1.0
erf0117 erf -27.6 -> -1.0

----------------------------------------
-- erfc: complementary error function --
----------------------------------------

erfc0000 erfc 0.0 -> 1.0
erfc0001 erfc -0.0 -> 1.0
erfc0002 erfc inf -> 0.0
erfc0003 erfc -inf -> 2.0
erfc0004 erfc nan -> nan

-- tiny values
erfc0010 erfc 1e-308 -> 1.0
erfc0011 erfc 5e-324 -> 1.0
erfc0012 erfc 1e-10 -> 0.99999999988716204

-- small integers
erfc0020 erfc 1 -> 0.15729920705028513
erfc0021 erfc 2 -> 0.0046777349810472662
erfc0022 erfc 3 -> 2.2090496998585441e-05
erfc0023 erfc 4 -> 1.541725790028002e-08
erfc0024 erfc 5 -> 1.5374597944280349e-12
erfc0025 erfc 6 -> 2.1519736712498913e-17

erfc0030 erfc -1 -> 1.8427007929497148
erfc0031 erfc -2 -> 1.9953222650189528
erfc0032 erfc -3 -> 1.9999779095030015
erfc0033 erfc -4 -> 1.9999999845827421
erfc0034 erfc -5 -> 1.9999999999984626
erfc0035 erfc -6 -> 2.0

-- as x -> infinity, erfc(x) behaves like exp(-x*x)/x/sqrt(pi)
erfc0040 erfc 20 -> 5.3958656116079012e-176
erfc0041 erfc 25 -> 8.3001725711965228e-274
erfc0042 erfc 27 -> 5.2370464393526292e-319
erfc0043 erfc 28 -> 0.0

-- huge values
erfc0050 erfc -40 -> 2.0
erfc0051 erfc 1e16 -> 0.0
erfc0052 erfc -1e150 -> 2.0
erfc0053 erfc 1.7e308 -> 0.0

-- Issue 8986: inputs x with exp(-x*x) near the underflow threshold
-- incorrectly signalled overflow on some platforms.
erfc0100 erfc 26.2 -> 1.6432507924389461e-300
erfc0101 erfc 26.4 -> 4.4017768588035426e-305
erfc0102 erfc 26.6 -> 1.0885125885442269e-309
erfc0103 erfc 26.8 -> 2.4849621571966629e-314
erfc0104 erfc 27.0 -> 5.2370464393526292e-319
erfc0105 erfc 27.2 -> 9.8813129168249309e-324
erfc0106 erfc 27.4 -> 0.0
erfc0107 erfc 27.6 -> 0.0

erfc0110 erfc -26.2 -> 2.0
erfc0111 erfc -26.4 -> 2.0
erfc0112 erfc -26.6 -> 2.0
erfc0113 erfc -26.8 -> 2.0
erfc0114 erfc -27.0 -> 2.0
erfc0115 erfc -27.2 -> 2.0
erfc0116 erfc -27.4 -> 2.0
erfc0117 erfc -27.6 -> 2.0

---------------------------------------------------------
-- lgamma: log of absolute value of the gamma function --
---------------------------------------------------------

-- special values
lgam0000 lgamma 0.0 -> inf      divide-by-zero
lgam0001 lgamma -0.0 -> inf     divide-by-zero
lgam0002 lgamma inf -> inf
lgam0003 lgamma -inf -> inf
lgam0004 lgamma nan -> nan

-- negative integers
lgam0010 lgamma -1 -> inf       divide-by-zero
lgam0011 lgamma -2 -> inf       divide-by-zero
lgam0012 lgamma -1e16 -> inf    divide-by-zero
lgam0013 lgamma -1e300 -> inf   divide-by-zero
lgam0014 lgamma -1.79e308 -> inf divide-by-zero

-- small positive integers give factorials
lgam0020 lgamma 1 -> 0.0
lgam0021 lgamma 2 -> 0.0
lgam0022 lgamma 3 -> 0.69314718055994529
lgam0023 lgamma 4 -> 1.791759469228055
lgam0024 lgamma 5 -> 3.1780538303479458
lgam0025 lgamma 6 -> 4.7874917427820458

-- half integers
lgam0030 lgamma 0.5 -> 0.57236494292470008
lgam0031 lgamma 1.5 -> -0.12078223763524522
lgam0032 lgamma 2.5 -> 0.28468287047291918
lgam0033 lgamma 3.5 -> 1.2009736023470743
lgam0034 lgamma -0.5 -> 1.2655121234846454
lgam0035 lgamma -1.5 -> 0.86004701537648098
lgam0036 lgamma -2.5 -> -0.056243716497674054
lgam0037 lgamma -3.5 -> -1.309006684993042

-- values near 0
lgam0040 lgamma 0.1 -> 2.252712651734206
lgam0041 lgamma 0.01 -> 4.5994798780420219
lgam0042 lgamma 1e-8 -> 18.420680738180209
lgam0043 lgamma 1e-16 -> 36.841361487904734
lgam0044 lgamma 1e-30 -> 69.077552789821368
lgam0045 lgamma 1e-160 -> 368.41361487904732
lgam0046 lgamma 1e-308 -> 709.19620864216608
lgam0047 lgamma 5.6e-309 -> 709.77602713741896
lgam0048 lgamma 5.5e-309 -> 709.79404564292167
lgam0049 lgamma 1e-309 -> 711.49879373516012
lgam0050 lgamma 1e-323 -> 743.74692474082133
lgam0051 lgamma 5e-324 -> 744.44007192138122
lgam0060 lgamma -0.1 -> 2.3689613327287886
lgam0061 lgamma -0.01 -> 4.6110249927528013
lgam0062 lgamma -1e-8 -> 18.420680749724522
lgam0063 lgamma -1e-16 -> 36.841361487904734
lgam0064 lgamma -1e-30 -> 69.077552789821368
lgam0065 lgamma -1e-160 -> 368.41361487904732
lgam0066 lgamma -1e-308 -> 709.19620864216608
lgam0067 lgamma -5.6e-309 -> 709.77602713741896
lgam0068 lgamma -5.5e-309 -> 709.79404564292167
lgam0069 lgamma -1e-309 -> 711.49879373516012
lgam0070 lgamma -1e-323 -> 743.74692474082133
lgam0071 lgamma -5e-324 -> 744.44007192138122

-- values near negative integers
lgam0080 lgamma -0.99999999999999989 -> 36.736800569677101
lgam0081 lgamma -1.0000000000000002 -> 36.043653389117154
lgam0082 lgamma -1.9999999999999998 -> 35.350506208557213
lgam0083 lgamma -2.0000000000000004 -> 34.657359027997266
lgam0084 lgamma -100.00000000000001 -> -331.85460524980607
lgam0085 lgamma -99.999999999999986 -> -331.85460524980596

-- large inputs
lgam0100 lgamma 170 -> 701.43726380873704
lgam0101 lgamma 171 -> 706.57306224578736
lgam0102 lgamma 171.624 -> 709.78077443669895
lgam0103 lgamma 171.625 -> 709.78591682948365
lgam0104 lgamma 172 -> 711.71472580228999
lgam0105 lgamma 2000 -> 13198.923448054265
lgam0106 lgamma 2.55998332785163e305 -> 1.7976931348623099e+308
lgam0107 lgamma 2.55998332785164e305 -> inf overflow
lgam0108 lgamma 1.7e308 -> inf overflow

-- inputs for which gamma(x) is tiny
lgam0120 lgamma -100.5 -> -364.90096830942736
lgam0121 lgamma -160.5 -> -656.88005261126432
lgam0122 lgamma -170.5 -> -707.99843314507882
lgam0123 lgamma -171.5 -> -713.14301641168481
lgam0124 lgamma -176.5 -> -738.95247590846486
lgam0125 lgamma -177.5 -> -744.13144651738037
lgam0126 lgamma -178.5 -> -749.3160351186001

lgam0130 lgamma -1000.5 -> -5914.4377011168517
lgam0131 lgamma -30000.5 -> -279278.6629959144
lgam0132 lgamma -4503599627370495.5 -> -1.5782258434492883e+17

-- results close to 0:  positive argument ...
lgam0150 lgamma 0.99999999999999989 -> 6.4083812134800075e-17
lgam0151 lgamma 1.0000000000000002 -> -1.2816762426960008e-16
lgam0152 lgamma 1.9999999999999998 -> -9.3876980655431170e-17
lgam0153 lgamma 2.0000000000000004 -> 1.8775396131086244e-16

-- ... and negative argument
lgam0160 lgamma -2.7476826467 -> -5.2477408147689136e-11
lgam0161 lgamma -2.457024738 -> 3.3464637541912932e-10


---------------------------
-- gamma: Gamma function --
---------------------------

-- special values
gam0000 gamma 0.0 -> inf        divide-by-zero
gam0001 gamma -0.0 -> -inf      divide-by-zero
gam0002 gamma inf -> inf
gam0003 gamma -inf -> nan       invalid
gam0004 gamma nan -> nan

-- negative integers inputs are invalid
gam0010 gamma -1 -> nan         invalid
gam0011 gamma -2 -> nan         invalid
gam0012 gamma -1e16 -> nan      invalid
gam0013 gamma -1e300 -> nan     invalid

-- small positive integers give factorials
gam0020 gamma 1 -> 1
gam0021 gamma 2 -> 1
gam0022 gamma 3 -> 2
gam0023 gamma 4 -> 6
gam0024 gamma 5 -> 24
gam0025 gamma 6 -> 120

-- half integers
gam0030 gamma 0.5 -> 1.7724538509055161
gam0031 gamma 1.5 -> 0.88622692545275805
gam0032 gamma 2.5 -> 1.3293403881791370
gam0033 gamma 3.5 -> 3.3233509704478426
gam0034 gamma -0.5 -> -3.5449077018110322
gam0035 gamma -1.5 -> 2.3632718012073548
gam0036 gamma -2.5 -> -0.94530872048294190
gam0037 gamma -3.5 -> 0.27008820585226911

-- values near 0
gam0040 gamma 0.1 -> 9.5135076986687306
gam0041 gamma 0.01 -> 99.432585119150602
gam0042 gamma 1e-8 -> 99999999.422784343
gam0043 gamma 1e-16 -> 10000000000000000
gam0044 gamma 1e-30 -> 9.9999999999999988e+29
gam0045 gamma 1e-160 -> 1.0000000000000000e+160
gam0046 gamma 1e-308 -> 1.0000000000000000e+308
gam0047 gamma 5.6e-309 -> 1.7857142857142848e+308
gam0048 gamma 5.5e-309 -> inf   overflow
gam0049 gamma 1e-309 -> inf     overflow
gam0050 gamma 1e-323 -> inf     overflow
gam0051 gamma 5e-324 -> inf     overflow
gam0060 gamma -0.1 -> -10.686287021193193
gam0061 gamma -0.01 -> -100.58719796441078
gam0062 gamma -1e-8 -> -100000000.57721567
gam0063 gamma -1e-16 -> -10000000000000000
gam0064 gamma -1e-30 -> -9.9999999999999988e+29
gam0065 gamma -1e-160 -> -1.0000000000000000e+160
gam0066 gamma -1e-308 -> -1.0000000000000000e+308
gam0067 gamma -5.6e-309 -> -1.7857142857142848e+308
gam0068 gamma -5.5e-309 -> -inf overflow
gam0069 gamma -1e-309 -> -inf   overflow
gam0070 gamma -1e-323 -> -inf   overflow
gam0071 gamma -5e-324 -> -inf   overflow

-- values near negative integers
gam0080 gamma -0.99999999999999989 -> -9007199254740992.0
gam0081 gamma -1.0000000000000002 -> 4503599627370495.5
gam0082 gamma -1.9999999999999998 -> 2251799813685248.5
gam0083 gamma -2.0000000000000004 -> -1125899906842623.5
gam0084 gamma -100.00000000000001 -> -7.5400833348831090e-145
gam0085 gamma -99.999999999999986 -> 7.5400833348840962e-145

-- large inputs
gam0100 gamma 170 -> 4.2690680090047051e+304
gam0101 gamma 171 -> 7.2574156153079990e+306
gam0102 gamma 171.624 -> 1.7942117599248104e+308
gam0103 gamma 171.625 -> inf    overflow
gam0104 gamma 172 -> inf        overflow
gam0105 gamma 2000 -> inf       overflow
gam0106 gamma 1.7e308 -> inf    overflow

-- inputs for which gamma(x) is tiny
gam0120 gamma -100.5 -> -3.3536908198076787e-159
gam0121 gamma -160.5 -> -5.2555464470078293e-286
gam0122 gamma -170.5 -> -3.3127395215386074e-308
gam0123 gamma -171.5 -> 1.9316265431711902e-310
gam0124 gamma -176.5 -> -1.1956388629358166e-321
gam0125 gamma -177.5 -> 4.9406564584124654e-324
gam0126 gamma -178.5 -> -0.0
gam0127 gamma -179.5 -> 0.0
gam0128 gamma -201.0001 -> 0.0
gam0129 gamma -202.9999 -> -0.0
gam0130 gamma -1000.5 -> -0.0
gam0131 gamma -1000000000.3 -> -0.0
gam0132 gamma -4503599627370495.5 -> 0.0

-- inputs that cause problems for the standard reflection formula,
-- thanks to loss of accuracy in 1-x
gam0140 gamma -63.349078729022985 -> 4.1777971677761880e-88
gam0141 gamma -127.45117632943295 -> 1.1831110896236810e-214


-----------------------------------------------------------
-- log1p: log(1 + x), without precision loss for small x --
-----------------------------------------------------------

-- special values
log1p0000 log1p 0.0 -> 0.0
log1p0001 log1p -0.0 -> -0.0
log1p0002 log1p inf -> inf
log1p0003 log1p -inf -> nan             invalid
log1p0004 log1p nan -> nan

-- singularity at -1.0
log1p0010 log1p -1.0 -> -inf            divide-by-zero
log1p0011 log1p -0.9999999999999999 -> -36.736800569677101

-- finite values < 1.0 are invalid
log1p0020 log1p -1.0000000000000002 -> nan invalid
log1p0021 log1p -1.1 -> nan invalid
log1p0022 log1p -2.0 -> nan invalid
log1p0023 log1p -1e300 -> nan invalid

-- tiny x: log1p(x) ~ x
log1p0110 log1p 5e-324 -> 5e-324
log1p0111 log1p 1e-320 -> 1e-320
log1p0112 log1p 1e-300 -> 1e-300
log1p0113 log1p 1e-150 -> 1e-150
log1p0114 log1p 1e-20 -> 1e-20

log1p0120 log1p -5e-324 -> -5e-324
log1p0121 log1p -1e-320 -> -1e-320
log1p0122 log1p -1e-300 -> -1e-300
log1p0123 log1p -1e-150 -> -1e-150
log1p0124 log1p -1e-20 -> -1e-20

-- some (mostly) random small and moderate-sized values
log1p0200 log1p -0.89156889782277482 -> -2.2216403106762863
log1p0201 log1p -0.23858496047770464 -> -0.27257668276980057
log1p0202 log1p -0.011641726191307515 -> -0.011710021654495657
log1p0203 log1p -0.0090126398571693817 -> -0.0090534993825007650
log1p0204 log1p -0.00023442805985712781 -> -0.00023445554240995693
log1p0205 log1p -1.5672870980936349e-5 -> -1.5672993801662046e-5
log1p0206 log1p -7.9650013274825295e-6 -> -7.9650330482740401e-6
log1p0207 log1p -2.5202948343227410e-7 -> -2.5202951519170971e-7
log1p0208 log1p -8.2446372820745855e-11 -> -8.2446372824144559e-11
log1p0209 log1p -8.1663670046490789e-12 -> -8.1663670046824230e-12
log1p0210 log1p 7.0351735084656292e-18 -> 7.0351735084656292e-18
log1p0211 log1p 5.2732161907375226e-12 -> 5.2732161907236188e-12
log1p0212 log1p 1.0000000000000000e-10 -> 9.9999999995000007e-11
log1p0213 log1p 2.1401273266000197e-9 -> 2.1401273243099470e-9
log1p0214 log1p 1.2668914653979560e-8 -> 1.2668914573728861e-8
log1p0215 log1p 1.6250007816299069e-6 -> 1.6249994613175672e-6
log1p0216 log1p 8.3740495645839399e-6 -> 8.3740145024266269e-6
log1p0217 log1p 3.0000000000000001e-5 -> 2.9999550008999799e-5
log1p0218 log1p 0.0070000000000000001 -> 0.0069756137364252423
log1p0219 log1p 0.013026235315053002 -> 0.012942123564008787
log1p0220 log1p 0.013497160797236184 -> 0.013406885521915038
log1p0221 log1p 0.027625599078135284 -> 0.027250897463483054
log1p0222 log1p 0.14179687245544870 -> 0.13260322540908789

-- large values
log1p0300 log1p 1.7976931348623157e+308 -> 709.78271289338397
log1p0301 log1p 1.0000000000000001e+300 -> 690.77552789821368
log1p0302 log1p 1.0000000000000001e+70 -> 161.18095650958321
log1p0303 log1p 10000000000.000000 -> 23.025850930040455

-- other values transferred from testLog1p in test_math
log1p0400 log1p -0.63212055882855767 -> -1.0000000000000000
log1p0401 log1p 1.7182818284590451 -> 1.0000000000000000
log1p0402 log1p 1.0000000000000000 -> 0.69314718055994529
log1p0403 log1p 1.2379400392853803e+27 -> 62.383246250395075


-----------------------------------------------------------
-- expm1: exp(x) - 1, without precision loss for small x --
-----------------------------------------------------------

-- special values
expm10000 expm1 0.0 -> 0.0
expm10001 expm1 -0.0 -> -0.0
expm10002 expm1 inf -> inf
expm10003 expm1 -inf -> -1.0
expm10004 expm1 nan -> nan

-- expm1(x) ~ x for tiny x
expm10010 expm1 5e-324 -> 5e-324
expm10011 expm1 1e-320 -> 1e-320
expm10012 expm1 1e-300 -> 1e-300
expm10013 expm1 1e-150 -> 1e-150
expm10014 expm1 1e-20 -> 1e-20

expm10020 expm1 -5e-324 -> -5e-324
expm10021 expm1 -1e-320 -> -1e-320
expm10022 expm1 -1e-300 -> -1e-300
expm10023 expm1 -1e-150 -> -1e-150
expm10024 expm1 -1e-20 -> -1e-20

-- moderate sized values, where direct evaluation runs into trouble
expm10100 expm1 1e-10 -> 1.0000000000500000e-10
expm10101 expm1 -9.9999999999999995e-08 -> -9.9999995000000163e-8
expm10102 expm1 3.0000000000000001e-05 -> 3.0000450004500034e-5
expm10103 expm1 -0.0070000000000000001 -> -0.0069755570667648951
expm10104 expm1 -0.071499208740094633 -> -0.069002985744820250
expm10105 expm1 -0.063296004180116799 -> -0.061334416373633009
expm10106 expm1 0.02390954035597756 -> 0.024197665143819942
expm10107 expm1 0.085637352649044901 -> 0.089411184580357767
expm10108 expm1 0.5966174947411006 -> 0.81596588596501485
expm10109 expm1 0.30247206212075139 -> 0.35319987035848677
expm10110 expm1 0.74574727375889516 -> 1.1080161116737459
expm10111 expm1 0.97767512926555711 -> 1.6582689207372185
expm10112 expm1 0.8450154566787712 -> 1.3280137976535897
expm10113 expm1 -0.13979260323125264 -> -0.13046144381396060
expm10114 expm1 -0.52899322039643271 -> -0.41080213643695923
expm10115 expm1 -0.74083261478900631 -> -0.52328317124797097
expm10116 expm1 -0.93847766984546055 -> -0.60877704724085946
expm10117 expm1 10.0 -> 22025.465794806718
expm10118 expm1 27.0 -> 532048240600.79865
expm10119 expm1 123 -> 2.6195173187490626e+53
expm10120 expm1 -12.0 -> -0.99999385578764666
expm10121 expm1 -35.100000000000001 -> -0.99999999999999944

-- extreme negative values
expm10201 expm1 -37.0 -> -0.99999999999999989
expm10200 expm1 -38.0 -> -1.0
expm10210 expm1 -710.0 -> -1.0
-- the formula expm1(x) = 2 * sinh(x/2) * exp(x/2) doesn't work so
-- well when exp(x/2) is subnormal or underflows to zero; check we're
-- not using it!
expm10211 expm1 -1420.0 -> -1.0
expm10212 expm1 -1450.0 -> -1.0
expm10213 expm1 -1500.0 -> -1.0
expm10214 expm1 -1e50 -> -1.0
expm10215 expm1 -1.79e308 -> -1.0

-- extreme positive values
expm10300 expm1 300 -> 1.9424263952412558e+130
expm10301 expm1 700 -> 1.0142320547350045e+304
-- the next test (expm10302) is disabled because it causes failure on
-- OS X 10.4/Intel: apparently all values over 709.78 produce an
-- overflow on that platform.  See issue #7575.
-- expm10302 expm1 709.78271289328393 -> 1.7976931346824240e+308
expm10303 expm1 709.78271289348402 -> inf overflow
expm10304 expm1 1000 -> inf overflow
expm10305 expm1 1e50 -> inf overflow
expm10306 expm1 1.79e308 -> inf overflow

-- weaker version of expm10302
expm10307 expm1 709.5 -> 1.3549863193146328e+308

-------------------------
-- log2: log to base 2 --
-------------------------

-- special values
log20000 log2 0.0 -> -inf               divide-by-zero
log20001 log2 -0.0 -> -inf              divide-by-zero
log20002 log2 inf -> inf
log20003 log2 -inf -> nan               invalid
log20004 log2 nan -> nan

-- exact value at 1.0
log20010 log2 1.0 -> 0.0

-- negatives
log20020 log2 -5e-324 -> nan            invalid
log20021 log2 -1.0 -> nan               invalid
log20022 log2 -1.7e-308 -> nan          invalid

-- exact values at powers of 2
log20100 log2 2.0 -> 1.0
log20101 log2 4.0 -> 2.0
log20102 log2 8.0 -> 3.0
log20103 log2 16.0 -> 4.0
log20104 log2 32.0 -> 5.0
log20105 log2 64.0 -> 6.0
log20106 log2 128.0 -> 7.0
log20107 log2 256.0 -> 8.0
log20108 log2 512.0 -> 9.0
log20109 log2 1024.0 -> 10.0
log20110 log2 2048.0 -> 11.0

log20200 log2 0.5 -> -1.0
log20201 log2 0.25 -> -2.0
log20202 log2 0.125 -> -3.0
log20203 log2 0.0625 -> -4.0

-- values close to 1.0
log20300 log2 1.0000000000000002 -> 3.2034265038149171e-16
log20301 log2 1.0000000001 -> 1.4426951601859516e-10
log20302 log2 1.00001 -> 1.4426878274712997e-5

log20310 log2 0.9999999999999999 -> -1.6017132519074588e-16
log20311 log2 0.9999999999 -> -1.4426951603302210e-10
log20312 log2 0.99999 -> -1.4427022544056922e-5

-- tiny values
log20400 log2 5e-324 -> -1074.0
log20401 log2 1e-323 -> -1073.0
log20402 log2 1.5e-323 -> -1072.4150374992789
log20403 log2 2e-323 -> -1072.0

log20410 log2 1e-308 -> -1023.1538532253076
log20411 log2 2.2250738585072014e-308 -> -1022.0
log20412 log2 4.4501477170144028e-308 -> -1021.0
log20413 log2 1e-307 -> -1019.8319251304202

-- huge values
log20500 log2 1.7976931348623157e+308 -> 1024.0
log20501 log2 1.7e+308 -> 1023.9193879716706
log20502 log2 8.9884656743115795e+307 -> 1023.0

-- selection of random values
log20600 log2 -7.2174324841039838e+289 -> nan   invalid
log20601 log2 -2.861319734089617e+265 -> nan    invalid
log20602 log2 -4.3507646894008962e+257 -> nan   invalid
log20603 log2 -6.6717265307520224e+234 -> nan   invalid
log20604 log2 -3.9118023786619294e+229 -> nan   invalid
log20605 log2 -1.5478221302505161e+206 -> nan   invalid
log20606 log2 -1.4380485131364602e+200 -> nan   invalid
log20607 log2 -3.7235198730382645e+185 -> nan   invalid
log20608 log2 -1.0472242235095724e+184 -> nan   invalid
log20609 log2 -5.0141781956163884e+160 -> nan   invalid
log20610 log2 -2.1157958031160324e+124 -> nan   invalid
log20611 log2 -7.9677558612567718e+90 -> nan    invalid
log20612 log2 -5.5553906194063732e+45 -> nan    invalid
log20613 log2 -16573900952607.953 -> nan        invalid
log20614 log2 -37198371019.888618 -> nan        invalid
log20615 log2 -6.0727115121422674e-32 -> nan    invalid
log20616 log2 -2.5406841656526057e-38 -> nan    invalid
log20617 log2 -4.9056766703267657e-43 -> nan    invalid
log20618 log2 -2.1646786075228305e-71 -> nan    invalid
log20619 log2 -2.470826790488573e-78 -> nan     invalid
log20620 log2 -3.8661709303489064e-165 -> nan   invalid
log20621 log2 -1.0516496976649986e-182 -> nan   invalid
log20622 log2 -1.5935458614317996e-255 -> nan   invalid
log20623 log2 -2.8750977267336654e-293 -> nan   invalid
log20624 log2 -7.6079466794732585e-296 -> nan   invalid
log20625 log2 3.2073253539988545e-307 -> -1018.1505544209213
log20626 log2 1.674937885472249e-244 -> -809.80634755783126
log20627 log2 1.0911259044931283e-214 -> -710.76679472274213
log20628 log2 2.0275372624809709e-154 -> -510.55719818383272
log20629 log2 7.3926087369631841e-115 -> -379.13564735312292
log20630 log2 1.3480198206342423e-86 -> -285.25497445094436
log20631 log2 8.9927384655719947e-83 -> -272.55127136401637
log20632 log2 3.1452398713597487e-60 -> -197.66251564496875
log20633 log2 7.0706573215457351e-55 -> -179.88420087782217
log20634 log2 3.1258285390731669e-49 -> -161.13023800505653
log20635 log2 8.2253046627829942e-41 -> -133.15898277355879
log20636 log2 7.8691367397519897e+49 -> 165.75068202732419
log20637 log2 2.9920561983925013e+64 -> 214.18453534573757
log20638 log2 4.7827254553946841e+77 -> 258.04629628445673
log20639 log2 3.1903566496481868e+105 -> 350.47616767491166
log20640 log2 5.6195082449502419e+113 -> 377.86831861008250
log20641 log2 9.9625658250651047e+125 -> 418.55752921228753
log20642 log2 2.7358945220961532e+145 -> 483.13158636923413
log20643 log2 2.785842387926931e+174 -> 579.49360214860280
log20644 log2 2.4169172507252751e+193 -> 642.40529039289652
log20645 log2 3.1689091206395632e+205 -> 682.65924573798395
log20646 log2 2.535995592365391e+208 -> 692.30359597460460
log20647 log2 6.2011236566089916e+233 -> 776.64177576730913
log20648 log2 2.1843274820677632e+253 -> 841.57499717289647
log20649 log2 8.7493931063474791e+297 -> 989.74182713073981
똠방각하 펲시콜라

㉯㉯납!! 因九月패믤릔궈 ⓡⓖ훀¿¿¿ 긍뒙 ⓔ뎨 ㉯. .
亞영ⓔ능횹 . . . . 서울뤄 뎐학乙 家훀 ! ! !ㅠ.ㅠ
흐흐흐 ㄱㄱㄱ☆ㅠ_ㅠ 어릨 탸콰긐 뎌응 칑九들乙 ㉯드긐
설릌 家훀 . . . . 굴애쉌 ⓔ궈 ⓡ릘㉱긐 因仁川女中까즼
와쒀훀 ! ! 亞영ⓔ 家능궈 ☆上관 없능궈능 亞능뒈훀 글애듴
ⓡ려듀九 싀풔숴훀 어릨 因仁川女中싁⑨들앜!! ㉯㉯납♡ ⌒⌒*

Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。

ノか゚ ト゚ トキ喝塀 𡚴𪎌 麀齁𩛰
Python£¨ÅÉÉ­£©ÓïÑÔÊÇÒ»ÖÖ¹¦ÄÜÇ¿´ó¶øÍêÉƵÄͨÓÃÐͼÆËã»ú³ÌÐòÉè¼ÆÓïÑÔ£¬
ÒѾ­¾ßÓÐÊ®¶àÄêµÄ·¢Õ¹ÀúÊ·£¬³ÉÊìÇÒÎȶ¨¡£ÕâÖÖÓïÑÔ¾ßÓзdz£¼ò½Ý¶øÇåÎú
µÄÓï·¨Ìص㣬ÊʺÏÍê³É¸÷Öָ߲ãÈÎÎñ£¬¼¸ºõ¿ÉÒÔÔÚËùÓеIJÙ×÷ϵͳÖÐ
ÔËÐС£ÕâÖÖÓïÑÔ¼òµ¥¶øÇ¿´ó£¬Êʺϸ÷ÖÖÈËʿѧϰʹÓá£Ä¿Ç°£¬»ùÓÚÕâ
ÖÖÓïÑÔµÄÏà¹Ø¼¼ÊõÕýÔÚ·ÉËٵķ¢Õ¹£¬Óû§ÊýÁ¿¼±¾çÀ©´ó£¬Ïà¹ØµÄ×ÊÔ´·Ç³£¶à¡£
ÈçºÎÔÚ Python ÖÐʹÓüÈÓÐµÄ C library?
¡¡ÔÚÙYӍ¿Æ¼¼¿ìËÙ°lÕ¹µÄ½ñÌì, é_°l¼°œyԇܛówµÄËÙ¶ÈÊDz»ÈݺöҕµÄ
Õnî}. žé¼Ó¿ìé_°l¼°œyԇµÄËÙ¶È, Î҂ƒ±ã³£Ï£ÍûÄÜÀûÓÃһЩÒÑé_°lºÃµÄ
library, KÓÐÒ»‚€ fast prototyping µÄ programming language ¿É
¹©Ê¹ÓÃ. Ä¿Ç°ÓÐÔSÔS¶à¶àµÄ library ÊÇÒÔ C Œ‘³É, ¶ø Python ÊÇÒ»‚€
fast prototyping µÄ programming language. ¹ÊÎ҂ƒÏ£ÍûÄ܌¢¼ÈÓеÄ
C library Äõ½ Python µÄ­h¾³ÖМyԇ¼°ÕûºÏ. ÆäÖÐ×îÖ÷ÒªÒ²ÊÇÎ҂ƒËù
ҪӑՓµÄ†–î}¾ÍÊÇ:
ƒ5Ç1ƒ3š3ƒ2±1ƒ3•1 ‚7Ñ6ƒ0Œ4ƒ6„3 ‚8‰5‚8û6ƒ3•5 ƒ3Õ1‚95 ƒ0ý9ƒ3†0 ƒ4Ü3ƒ5ö7ƒ5—5 ƒ5ù5ƒ0‘9‚8ƒ9‚9ü3ƒ0ð4 ƒ2ë9ƒ2ë5‚9ƒ9.

¦p¦ó¦b Python ¤¤¨Ï¥Î¬J¦³ªº C library?
¡@¦b¸ê°T¬ì§Þ§Ö³tµo®iªº¤µ¤Ñ, ¶}µo¤Î´ú¸Õ³nÅ骺³t«×¬O¤£®e©¿µøªº
½ÒÃD. ¬°¥[§Ö¶}µo¤Î´ú¸Õªº³t«×, §Ú­Ì«K±`§Æ±æ¯à§Q¥Î¤@¨Ç¤w¶}µo¦nªº
library, ¨Ã¦³¤@­Ó fast prototyping ªº programming language ¥i
¨Ñ¨Ï¥Î. ¥Ø«e¦³³\³\¦h¦hªº library ¬O¥H C ¼g¦¨, ¦Ó Python ¬O¤@­Ó
fast prototyping ªº programming language. ¬G§Ú­Ì§Æ±æ¯à±N¬J¦³ªº
C library ®³¨ì Python ªºÀô¹Ò¤¤´ú¸Õ¤Î¾ã¦X. ¨ä¤¤³Ì¥D­n¤]¬O§Ú­Ì©Ò
­n°Q½×ªº°ÝÃD´N¬O:

Python ¤Î³«È¯¤Ï¡¢1990 ǯ¤´¤í¤«¤é³«»Ï¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
³«È¯¼Ô¤Î Guido van Rossum ¤Ï¶µ°éÍÑ¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¡ÖABC¡×¤Î³«È¯¤Ë»²²Ã¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ABC ¤Ï¼ÂÍѾå¤ÎÌÜŪ¤Ë¤Ï¤¢¤Þ¤êŬ¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤³¤Î¤¿¤á¡¢Guido ¤Ï¤è¤ê¼ÂÍÑŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î³«È¯¤ò³«»Ï¤·¡¢±Ñ¹ñ BBS ÊüÁ÷¤Î¥³¥á¥Ç¥£ÈÖÁÈ¡Ö¥â¥ó¥Æ¥£ ¥Ñ¥¤¥½¥ó¡×¤Î¥Õ¥¡¥ó¤Ç¤¢¤ë Guido ¤Ï¤³¤Î¸À¸ì¤ò¡ÖPython¡×¤È̾¤Å¤±¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤ÊÇطʤ«¤éÀ¸¤Þ¤ì¤¿ Python ¤Î¸À¸ìÀ߷פϡ¢¡Ö¥·¥ó¥×¥ë¡×¤Ç¡Ö½¬ÆÀ¤¬ÍưספȤ¤¤¦ÌÜɸ¤Ë½ÅÅÀ¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
¿¤¯¤Î¥¹¥¯¥ê¥×¥È·Ï¸À¸ì¤Ç¤Ï¥æ¡¼¥¶¤ÎÌÜÀè¤ÎÍøÊØÀ­¤òÍ¥À褷¤Æ¿§¡¹¤Êµ¡Ç½¤ò¸À¸ìÍ×ÁǤȤ·¤Æ¼è¤êÆþ¤ì¤ë¾ì¹ç¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢Python ¤Ç¤Ï¤½¤¦¤¤¤Ã¤¿¾®ºÙ¹©¤¬Äɲ䵤ì¤ë¤³¤È¤Ï¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£
¸À¸ì¼«ÂΤε¡Ç½¤ÏºÇ¾®¸Â¤Ë²¡¤µ¤¨¡¢É¬Íפʵ¡Ç½¤Ï³ÈÄ¥¥â¥¸¥å¡¼¥ë¤È¤·¤ÆÄɲ乤롢¤È¤¤¤¦¤Î¤¬ Python ¤Î¥Ý¥ê¥·¡¼¤Ç¤¹¡£

Python£¨ÅÉÉ­£©ÓïÑÔÊÇÒ»ÖÖ¹¦ÄÜÇ¿´ó¶øÍêÉƵÄͨÓÃÐͼÆËã»ú³ÌÐòÉè¼ÆÓïÑÔ£¬
ÒѾ­¾ßÓÐÊ®¶àÄêµÄ·¢Õ¹ÀúÊ·£¬³ÉÊìÇÒÎȶ¨¡£ÕâÖÖÓïÑÔ¾ßÓзdz£¼ò½Ý¶øÇåÎú
µÄÓï·¨Ìص㣬ÊʺÏÍê³É¸÷Öָ߲ãÈÎÎñ£¬¼¸ºõ¿ÉÒÔÔÚËùÓеIJÙ×÷ϵͳÖÐ
ÔËÐС£ÕâÖÖÓïÑÔ¼òµ¥¶øÇ¿´ó£¬Êʺϸ÷ÖÖÈËʿѧϰʹÓá£Ä¿Ç°£¬»ùÓÚÕâ
ÖÖÓïÑÔµÄÏà¹Ø¼¼ÊõÕýÔÚ·ÉËٵķ¢Õ¹£¬Óû§ÊýÁ¿¼±¾çÀ©´ó£¬Ïà¹ØµÄ×ÊÔ´·Ç³£¶à¡£

Python ‚ÌŠJ”­‚́A1990 ”N‚²‚ë‚©‚çŠJŽn‚³‚ê‚Ä‚¢‚Ü‚·B
ŠJ”­ŽÒ‚Ì Guido van Rossum ‚Í‹³ˆç—p‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêuABCv‚ÌŠJ”­‚ÉŽQ‰Á‚µ‚Ä‚¢‚Ü‚µ‚½‚ªAABC ‚ÍŽÀ—pã‚Ì–Ú“I‚É‚Í‚ ‚Ü‚è“K‚µ‚Ä‚¢‚Ü‚¹‚ñ‚Å‚µ‚½B
‚±‚Ì‚½‚߁AGuido ‚Í‚æ‚èŽÀ—p“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ÌŠJ”­‚ðŠJŽn‚µA‰p‘ BBS •ú‘—‚̃RƒƒfƒB”Ô‘guƒ‚ƒ“ƒeƒB ƒpƒCƒ\ƒ“v‚̃tƒ@ƒ“‚Å‚ ‚é Guido ‚Í‚±‚ÌŒ¾Œê‚ðuPythonv‚Æ–¼‚¯‚Ü‚µ‚½B
‚±‚̂悤‚È”wŒi‚©‚琶‚܂ꂽ Python ‚ÌŒ¾ŒêÝŒv‚́AuƒVƒ“ƒvƒ‹v‚ŁuK“¾‚ª—eˆÕv‚Æ‚¢‚¤–Ú•W‚ɏd“_‚ª’u‚©‚ê‚Ä‚¢‚Ü‚·B
‘½‚­‚̃XƒNƒŠƒvƒgŒnŒ¾Œê‚ł̓†[ƒU‚̖ڐæ‚Ì—˜•Ö«‚ð—Dæ‚µ‚ĐFX‚È‹@”\‚ðŒ¾Œê—v‘f‚Æ‚µ‚ÄŽæ‚è“ü‚ê‚éê‡‚ª‘½‚¢‚Ì‚Å‚·‚ªAPython ‚Å‚Í‚»‚¤‚¢‚Á‚½¬×H‚ª’ljÁ‚³‚ê‚邱‚Æ‚Í‚ ‚Ü‚è‚ ‚è‚Ü‚¹‚ñB
Œ¾ŒêŽ©‘Ì‚Ì‹@”\‚͍ŏ¬ŒÀ‚ɉŸ‚³‚¦A•K—v‚È‹@”\‚ÍŠg’£ƒ‚ƒWƒ…[ƒ‹‚Æ‚µ‚ĒljÁ‚·‚éA‚Æ‚¢‚¤‚Ì‚ª Python ‚̃|ƒŠƒV[‚Å‚·B

Python£¨ÅÉÉ­£©ÓïÑÔÊÇÒ»ÖÖ¹¦ÄÜÇ¿´ó¶øÍêÉƵÄͨÓÃÐͼÆËã»ú³ÌÐòÉè¼ÆÓïÑÔ£¬
ÒѾ­¾ßÓÐÊ®¶àÄêµÄ·¢Õ¹ÀúÊ·£¬³ÉÊìÇÒÎȶ¨¡£ÕâÖÖÓïÑÔ¾ßÓзdz£¼ò½Ý¶øÇåÎú
µÄÓï·¨Ìص㣬ÊʺÏÍê³É¸÷Öָ߲ãÈÎÎñ£¬¼¸ºõ¿ÉÒÔÔÚËùÓеIJÙ×÷ϵͳÖÐ
ÔËÐС£ÕâÖÖÓïÑÔ¼òµ¥¶øÇ¿´ó£¬Êʺϸ÷ÖÖÈËʿѧϰʹÓá£Ä¿Ç°£¬»ùÓÚÕâ
ÖÖÓïÑÔµÄÏà¹Ø¼¼ÊõÕýÔÚ·ÉËٵķ¢Õ¹£¬Óû§ÊýÁ¿¼±¾çÀ©´ó£¬Ïà¹ØµÄ×ÊÔ´·Ç³£¶à¡£
ÈçºÎÔÚ Python ÖÐʹÓüÈÓÐµÄ C library?
¡¡ÔÚÙYӍ¿Æ¼¼¿ìËÙ°lÕ¹µÄ½ñÌì, é_°l¼°œyԇܛówµÄËÙ¶ÈÊDz»ÈݺöҕµÄ
Õnî}. žé¼Ó¿ìé_°l¼°œyԇµÄËÙ¶È, Î҂ƒ±ã³£Ï£ÍûÄÜÀûÓÃһЩÒÑé_°lºÃµÄ
library, KÓÐÒ»‚€ fast prototyping µÄ programming language ¿É
¹©Ê¹ÓÃ. Ä¿Ç°ÓÐÔSÔS¶à¶àµÄ library ÊÇÒÔ C Œ‘³É, ¶ø Python ÊÇÒ»‚€
fast prototyping µÄ programming language. ¹ÊÎ҂ƒÏ£ÍûÄ܌¢¼ÈÓеÄ
C library Äõ½ Python µÄ­h¾³ÖМyԇ¼°ÕûºÏ. ÆäÖÐ×îÖ÷ÒªÒ²ÊÇÎ҂ƒËù
ҪӑՓµÄ†–î}¾ÍÊÇ:

Python(派森)语言是一种功能强大而完善的通用型计算机程序设计语言,
已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰
的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中
运行。这种语言简单而强大,适合各种人士学习使用。目前,基于这
种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

◎ 파이썬(Python)은 배우기 쉽고, 강력한 프로그래밍 언어입니다. 파이썬은
효율적인 고수준 데이터 구조와 간단하지만 효율적인 객체지향프로그래밍을
지원합니다. 파이썬의 우아(優雅)한 문법과 동적 타이핑, 그리고 인터프리팅
환경은 파이썬을 스크립팅과 여러 분야에서와 대부분의 플랫폼에서의 빠른
애플리케이션 개발을 할 수 있는 이상적인 언어로 만들어줍니다.

☆첫가끝: 날아라 쓔쓔쓩~ 닁큼! 뜽금없이 전홥니다. 뷁. 그런거 읎다.
Python(派森)语言是一种功能强大而完善的通用型计算机程序设计语言,
已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰
的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中
运行。这种语言简单而强大,适合各种人士学习使用。目前,基于这
种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
如何在 Python 中使用既有的 C library?
 在資訊科技快速發展的今天, 開發及測試軟體的速度是不容忽視的
課題. 為加快開發及測試的速度, 我們便常希望能利用一些已開發好的
library, 並有一個 fast prototyping 的 programming language 可
供使用. 目前有許許多多的 library 是以 C 寫成, 而 Python 是一個
fast prototyping 的 programming language. 故我們希望能將既有的
C library 拿到 Python 的環境中測試及整合. 其中最主要也是我們所
要討論的問題就是:

Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。

™±¤wˆbÐa Í\¯¡Å©œa

ÜÀÜÀs!! ñgâœðÚ£‰Ÿ…Š¡ ÜÞÜÓÒzٯٯٯ ‹w–Ó Üѕ ÜÀ. .
í<µwÜѓwÒs . . . . ¬á¶‰ž¡ •eÐbðà à;Òz ! ! !‡A.‡A
ÓaÓaÓa ˆAˆAˆAÙi‡A_‡A ´áŸš È¡ÅÁ‹z •a·w ×✗iðà ÜÀ—a‹z
¬éŸz à;Òz . . . . Š‰´®º Üъ¡ Üޟ‰Ü‹z ñgñbõIíüóéŒa»š
µÁ²¡Òz ! ! í<µwÜÑ à;“wŠ¡ Ùi꾉Š´ô“wŠ¡“w í<“w–ÁÒz ‹i´—z
Üޝa—A✠¯Î¡®¡Òz ´áŸš ñgñbõIíüó鯂Üï—i´z!! ÜÀÜÀsÙ½ ÙbÙb*

¡Ý ÆÄÀ̽ã(Python)Àº ¹è¿ì±â ½±°í, °­·ÂÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÔ´Ï´Ù. ÆÄÀ̽ãÀº
È¿À²ÀûÀÎ °í¼öÁØ µ¥ÀÌÅÍ ±¸Á¶¿Í °£´ÜÇÏÁö¸¸ È¿À²ÀûÀÎ °´Ã¼ÁöÇâÇÁ·Î±×·¡¹ÖÀ»
Áö¿øÇÕ´Ï´Ù. ÆÄÀ̽ãÀÇ ¿ì¾Æ(éÐäº)ÇÑ ¹®¹ý°ú µ¿Àû ŸÀÌÇÎ, ±×¸®°í ÀÎÅÍÇÁ¸®ÆÃ
ȯ°æÀº ÆÄÀ̽ãÀ» ½ºÅ©¸³Æðú ¿©·¯ ºÐ¾ß¿¡¼­¿Í ´ëºÎºÐÀÇ Ç÷§Æû¿¡¼­ÀÇ ºü¸¥
¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» ÇÒ ¼ö ÀÖ´Â ÀÌ»óÀûÀÎ ¾ð¾î·Î ¸¸µé¾îÁÝ´Ï´Ù.

¡Ùù°¡³¡: ³¯¾Æ¶ó ¤Ô¤¶¤Ð¤Ô¤Ô¤¶¤Ð¤Ô¾±~ ¤Ô¤¤¤Ò¤·Å­! ¤Ô¤¨¤Ñ¤·±Ý¾øÀÌ Àü¤Ô¤¾¤È¤²´Ï´Ù. ¤Ô¤²¤Î¤ª. ±×·±°Å ¤Ô¤·¤Ñ¤´´Ù.
똠방각하 펲시콜라

㉯㉯납!! 因九月패믤릔궈 ⓡⓖ훀¿¿¿ 긍뒙 ⓔ뎨 ㉯. .
亞영ⓔ능횹 . . . . 서울뤄 뎐학乙 家훀 ! ! !ㅠ.ㅠ
흐흐흐 ㄱㄱㄱ☆ㅠ_ㅠ 어릨 탸콰긐 뎌응 칑九들乙 ㉯드긐
설릌 家훀 . . . . 굴애쉌 ⓔ궈 ⓡ릘㉱긐 因仁川女中까즼
와쒀훀 ! ! 亞영ⓔ 家능궈 ☆上관 없능궈능 亞능뒈훀 글애듴
ⓡ려듀九 싀풔숴훀 어릨 因仁川女中싁⑨들앜!! ㉯㉯납♡ ⌒⌒*

如何在 Python 中使用既有的 C library?
 在資訊科技快速發展的今天, 開發及測試軟體的速度是不容忽視的
課題. 為加快開發及測試的速度, 我們便常希望能利用一些已開發好的
library, 並有一個 fast prototyping 的 programming language 可
供使用. 目前有許許多多的 library 是以 C 寫成, 而 Python 是一個
fast prototyping 的 programming language. 故我們希望能將既有的
C library 拿到 Python 的環境中測試及整合. 其中最主要也是我們所
要討論的問題就是:

𠄌Ě鵮罓洆
ÊÊ̄ê êê̄
Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。

Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。

$)C!] FD@L=c(Python)@: 9h?l1b =10m, 0-7BGQ GA7N1W7!9V >p>n@T4O4Y. FD@L=c@:
H?@2@{@N 0m<vAX 5%@LEM 18A6?M 0#4\GOAv88 H?@2@{@N 04C<AvGbGA7N1W7!9V@;
Av?xGU4O4Y. FD@L=c@G ?l>F(iPd:)GQ 9.9}0z 5?@{ E8@LGN, 1W8.0m @NEMGA8.FC
H/0f@: FD@L=c@; =:E)83FC0z ?)7/ :P>_?!<-?M 4k:N:P@G GC7'F{?!<-@G :|8%
>VGC8.DI@L<G 039_@; GR <v @V4B @L;s@{@N >p>n7N 885i>nA]4O4Y.

!YC90!3!: 3/>F6s >1~ E-! 1]>x@L @|4O4Y. 1W710E 4Y.
This sentence is in ASCII.
The next sentence is in GB.~{<:Ky2;S{#,NpJ)l6HK!#~}Bye.
Python(派森)语言是一种功能强大而完善的通用型计算机程序设计语言,
已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰
的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中
运行。这种语言简单而强大,适合各种人士学习使用。目前,基于这
种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
如何在 Python 中使用既有的 C library?
 在資訊科技快速發展的今天, 開發及測試軟體的速度是不容忽視的
課題. 為加快開發及測試的速度, 我們便常希望能利用一些已開發好的
library, 並有一個 fast prototyping 的 programming language 可
供使用. 目前有許許多多的 library 是以 C 寫成, 而 Python 是一個
fast prototyping 的 programming language. 故我們希望能將既有的
C library 拿到 Python 的環境中測試及整合. 其中最主要也是我們所
要討論的問題就是:
파이썬은 강력한 기능을 지닌 범용 컴퓨터 프로그래밍 언어다.

Python ‚ÌŠJ”­‚́A1990 ”N‚²‚ë‚©‚çŠJŽn‚³‚ê‚Ä‚¢‚Ü‚·B
ŠJ”­ŽÒ‚Ì Guido van Rossum ‚Í‹³ˆç—p‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêuABCv‚ÌŠJ”­‚ÉŽQ‰Á‚µ‚Ä‚¢‚Ü‚µ‚½‚ªAABC ‚ÍŽÀ—pã‚Ì–Ú“I‚É‚Í‚ ‚Ü‚è“K‚µ‚Ä‚¢‚Ü‚¹‚ñ‚Å‚µ‚½B
‚±‚Ì‚½‚߁AGuido ‚Í‚æ‚èŽÀ—p“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ÌŠJ”­‚ðŠJŽn‚µA‰p‘ BBS •ú‘—‚̃RƒƒfƒB”Ô‘guƒ‚ƒ“ƒeƒB ƒpƒCƒ\ƒ“v‚̃tƒ@ƒ“‚Å‚ ‚é Guido ‚Í‚±‚ÌŒ¾Œê‚ðuPythonv‚Æ–¼‚¯‚Ü‚µ‚½B
‚±‚̂悤‚È”wŒi‚©‚琶‚܂ꂽ Python ‚ÌŒ¾ŒêÝŒv‚́AuƒVƒ“ƒvƒ‹v‚ŁuK“¾‚ª—eˆÕv‚Æ‚¢‚¤–Ú•W‚ɏd“_‚ª’u‚©‚ê‚Ä‚¢‚Ü‚·B
‘½‚­‚̃XƒNƒŠƒvƒgŒnŒ¾Œê‚ł̓†[ƒU‚̖ڐæ‚Ì—˜•Ö«‚ð—Dæ‚µ‚ĐFX‚È‹@”\‚ðŒ¾Œê—v‘f‚Æ‚µ‚ÄŽæ‚è“ü‚ê‚éê‡‚ª‘½‚¢‚Ì‚Å‚·‚ªAPython ‚Å‚Í‚»‚¤‚¢‚Á‚½¬×H‚ª’ljÁ‚³‚ê‚邱‚Æ‚Í‚ ‚Ü‚è‚ ‚è‚Ü‚¹‚ñB
Œ¾ŒêŽ©‘Ì‚Ì‹@”\‚͍ŏ¬ŒÀ‚ɉŸ‚³‚¦A•K—v‚È‹@”\‚ÍŠg’£ƒ‚ƒWƒ…[ƒ‹‚Æ‚µ‚ĒljÁ‚·‚éA‚Æ‚¢‚¤‚Ì‚ª Python ‚̃|ƒŠƒV[‚Å‚·B

ƒm‚õ ƒž ƒgƒLˆKˆy ˜ƒüÖ üÒüæûÔ
Python ¤Î³«È¯¤Ï¡¢1990 ǯ¤´¤í¤«¤é³«»Ï¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
³«È¯¼Ô¤Î Guido van Rossum ¤Ï¶µ°éÍÑ¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¡ÖABC¡×¤Î³«È¯¤Ë»²²Ã¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ABC ¤Ï¼ÂÍѾå¤ÎÌÜŪ¤Ë¤Ï¤¢¤Þ¤êŬ¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤³¤Î¤¿¤á¡¢Guido ¤Ï¤è¤ê¼ÂÍÑŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î³«È¯¤ò³«»Ï¤·¡¢±Ñ¹ñ BBS ÊüÁ÷¤Î¥³¥á¥Ç¥£ÈÖÁÈ¡Ö¥â¥ó¥Æ¥£ ¥Ñ¥¤¥½¥ó¡×¤Î¥Õ¥¡¥ó¤Ç¤¢¤ë Guido ¤Ï¤³¤Î¸À¸ì¤ò¡ÖPython¡×¤È̾¤Å¤±¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤ÊÇطʤ«¤éÀ¸¤Þ¤ì¤¿ Python ¤Î¸À¸ìÀ߷פϡ¢¡Ö¥·¥ó¥×¥ë¡×¤Ç¡Ö½¬ÆÀ¤¬ÍưספȤ¤¤¦ÌÜɸ¤Ë½ÅÅÀ¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
¿¤¯¤Î¥¹¥¯¥ê¥×¥È·Ï¸À¸ì¤Ç¤Ï¥æ¡¼¥¶¤ÎÌÜÀè¤ÎÍøÊØÀ­¤òÍ¥À褷¤Æ¿§¡¹¤Êµ¡Ç½¤ò¸À¸ìÍ×ÁǤȤ·¤Æ¼è¤êÆþ¤ì¤ë¾ì¹ç¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢Python ¤Ç¤Ï¤½¤¦¤¤¤Ã¤¿¾®ºÙ¹©¤¬Äɲ䵤ì¤ë¤³¤È¤Ï¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£
¸À¸ì¼«ÂΤε¡Ç½¤ÏºÇ¾®¸Â¤Ë²¡¤µ¤¨¡¢É¬Íפʵ¡Ç½¤Ï³ÈÄ¥¥â¥¸¥å¡¼¥ë¤È¤·¤ÆÄɲ乤롢¤È¤¤¤¦¤Î¤¬ Python ¤Î¥Ý¥ê¥·¡¼¤Ç¤¹¡£

¥Î¤÷ ¥þ ¥È¥­¯¬¯Ú ÏãþØ þԏþèüÖ
Œc¹æ°¢ÇÏ ¼„½ÃÄݶó

¨À¨À³³!! ì×ÎúêÅÆВæp±Å ¨Þ¨ÓÄR¢¯¢¯¢¯ ±àŠ– ¨Ñµ³ ¨À. .
䬿µ¨Ñ´ÉÈ . . . . ¼­¿ï·ï µ¯ÇÐëà Ê«ÄR ! ! !¤Ð.¤Ð
ÈåÈåÈå ¤¡¤¡¤¡¡Ù¤Ð_¤Ð ¾îŠ ÅËÄâƒO µ®ÀÀ ¯hÎúµéëà ¨ÀµåƒO
¼³j Ê«ÄR . . . . ±¼¾Öšf ¨Ñ±Å ¨Þt¨ÂƒO ì×ìÒô¹åüñé±î£Ž
¿Í¾¬ÄR ! ! 䬿µ¨Ñ Ê«´É±Å ¡Ùß¾°ü ¾ø´É±Å´É 䬴ɵØÄR ±Û¾ÖŠÛ
¨Þ·ÁµàÎú šÃÇ´½¤ÄR ¾îŠ ì×ìÒô¹åüñéšÄ¨ïµéÚ!! ¨À¨À³³¢½ ¡Ò¡Ò*

Python $B$N3+H/$O!"(B1990 $BG/$4$m$+$i3+;O$5$l$F$$$^$9!#(B
$B3+H/<T$N(B Guido van Rossum $B$O650iMQ$N%W%m%0%i%_%s%08@8l!V(BABC$B!W$N3+H/$K;22C$7$F$$$^$7$?$,!"(BABC $B$O<BMQ>e$NL\E*$K$O$"$^$jE,$7$F$$$^$;$s$G$7$?!#(B
$B$3$N$?$a!"(BGuido $B$O$h$j<BMQE*$J%W%m%0%i%_%s%08@8l$N3+H/$r3+;O$7!"1Q9q(B BBS $BJ|Aw$N%3%a%G%#HVAH!V%b%s%F%#(B $B%Q%$%=%s!W$N%U%!%s$G$"$k(B Guido $B$O$3$N8@8l$r!V(BPython$B!W$HL>$E$1$^$7$?!#(B
$B$3$N$h$&$JGX7J$+$i@8$^$l$?(B Python $B$N8@8l@_7W$O!"!V%7%s%W%k!W$G!V=,F@$,MF0W!W$H$$$&L\I8$K=EE@$,CV$+$l$F$$$^$9!#(B
$BB?$/$N%9%/%j%W%H7O8@8l$G$O%f!<%6$NL\@h$NMxJX@-$rM%@h$7$F?'!9$J5!G=$r8@8lMWAG$H$7$F<h$jF~$l$k>l9g$,B?$$$N$G$9$,!"(BPython $B$G$O$=$&$$$C$?>.:Y9)$,DI2C$5$l$k$3$H$O$"$^$j$"$j$^$;$s!#(B
$B8@8l<+BN$N5!G=$O:G>.8B$K2!$5$(!"I,MW$J5!G=$O3HD%%b%8%e!<%k$H$7$FDI2C$9$k!"$H$$$&$N$,(B Python $B$N%]%j%7!<$G$9!#(B

Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。

ノか゚ ト゚ トキ喝塀 𡚴𪎌 麀齁𩛰
ˆEˆ\Šs‹ÚØ
ˆfˆbˆ§ ˆ§ˆ£
This sentence is in ASCII.
The next sentence is in GB.己所不欲,勿施於人。Bye.
◎ 파이썬(Python)은 배우기 쉽고, 강력한 프로그래밍 언어입니다. 파이썬은
효율적인 고수준 데이터 구조와 간단하지만 효율적인 객체지향프로그래밍을
지원합니다. 파이썬의 우아(優雅)한 문법과 동적 타이핑, 그리고 인터프리팅
환경은 파이썬을 스크립팅과 여러 분야에서와 대부분의 플랫폼에서의 빠른
애플리케이션 개발을 할 수 있는 이상적인 언어로 만들어줍니다.

☆첫가끝: 날아라 쓩~ 큼! 금없이 전니다. 그런거 다.
This is a sample doctest in a text file.

In this example, we'll rely on some silly setup:

  >>> import test.test_doctest
  >>> test.test_doctest.sillySetup
  True

This test also has some (random) encoded (utf-8) unicode text:

  ЉЊЈЁЂ

This doesn't cause a problem in the tect surrounding the examples, but
we include it here (in this test text file) to make sure. :)
-- Testcases for functions in cmath.
--
-- Each line takes the form:
--
-- <testid> <function> <input_value> -> <output_value> <flags>
--
-- where:
--
--   <testid> is a short name identifying the test,
--
--   <function> is the function to be tested (exp, cos, asinh, ...),
--
--   <input_value> is a pair of floats separated by whitespace
--     representing real and imaginary parts of a complex number, and
--
--   <output_value> is the expected (ideal) output value, again
--     represented as a pair of floats.
--
--   <flags> is a list of the floating-point flags required by C99
--
-- The possible flags are:
--
--   divide-by-zero : raised when a finite input gives a
--     mathematically infinite result.
--
--   overflow : raised when a finite input gives a finite result whose
--     real or imaginary part is too large to fit in the usual range
--     of an IEEE 754 double.
--
--   invalid : raised for invalid inputs.
--
--   ignore-real-sign : indicates that the sign of the real part of
--     the result is unspecified; if the real part of the result is
--     given as inf, then both -inf and inf should be accepted as
--     correct.
--
--   ignore-imag-sign : indicates that the sign of the imaginary part
--     of the result is unspecified.
--
-- Flags may appear in any order.
--
-- Lines beginning with '--' (like this one) start a comment, and are
-- ignored.  Blank lines, or lines containing only whitespace, are also
-- ignored.

-- The majority of the values below were computed with the help of
-- version 2.3 of the MPFR library for multiple-precision
-- floating-point computations with correct rounding.  All output
-- values in this file are (modulo yet-to-be-discovered bugs)
-- correctly rounded, provided that each input and output decimal
-- floating-point value below is interpreted as a representation of
-- the corresponding nearest IEEE 754 double-precision value.  See the
-- MPFR homepage at http://www.mpfr.org for more information about the
-- MPFR project.

-- A minority of the test cases were generated with the help of
-- mpmath 0.19 at 100 bit accuracy (http://mpmath.org) to improve
-- coverage of real functions with real-valued arguments. These are
-- used in test.test_math.MathTests.test_testfile, as well as in
-- test_cmath.


--------------------------
-- acos: Inverse cosine --
--------------------------

-- zeros
acos0000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
acos0001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
acos0002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
acos0003 acos -0.0 -0.0 -> 1.5707963267948966 0.0

-- branch points: +/-1
acos0010 acos 1.0 0.0 -> 0.0 -0.0
acos0011 acos 1.0 -0.0 -> 0.0 0.0
acos0012 acos -1.0 0.0 -> 3.1415926535897931 -0.0
acos0013 acos -1.0 -0.0 -> 3.1415926535897931 0.0

-- values along both sides of real axis
acos0020 acos -9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0021 acos -9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0022 acos -1e-305 0.0 -> 1.5707963267948966 -0.0
acos0023 acos -1e-305 -0.0 -> 1.5707963267948966 0.0
acos0024 acos -1e-150 0.0 -> 1.5707963267948966 -0.0
acos0025 acos -1e-150 -0.0 -> 1.5707963267948966 0.0
acos0026 acos -9.9999999999999998e-17 0.0 -> 1.5707963267948968 -0.0
acos0027 acos -9.9999999999999998e-17 -0.0 -> 1.5707963267948968 0.0
acos0028 acos -0.001 0.0 -> 1.5717963269615634 -0.0
acos0029 acos -0.001 -0.0 -> 1.5717963269615634 0.0
acos0030 acos -0.57899999999999996 0.0 -> 2.1882979816120667 -0.0
acos0031 acos -0.57899999999999996 -0.0 -> 2.1882979816120667 0.0
acos0032 acos -0.99999999999999989 0.0 -> 3.1415926386886319 -0.0
acos0033 acos -0.99999999999999989 -0.0 -> 3.1415926386886319 0.0
acos0034 acos -1.0000000000000002 0.0 -> 3.1415926535897931 -2.1073424255447014e-08
acos0035 acos -1.0000000000000002 -0.0 -> 3.1415926535897931 2.1073424255447014e-08
acos0036 acos -1.0009999999999999 0.0 -> 3.1415926535897931 -0.044717633608306849
acos0037 acos -1.0009999999999999 -0.0 -> 3.1415926535897931 0.044717633608306849
acos0038 acos -2.0 0.0 -> 3.1415926535897931 -1.3169578969248168
acos0039 acos -2.0 -0.0 -> 3.1415926535897931 1.3169578969248168
acos0040 acos -23.0 0.0 -> 3.1415926535897931 -3.8281684713331012
acos0041 acos -23.0 -0.0 -> 3.1415926535897931 3.8281684713331012
acos0042 acos -10000000000000000.0 0.0 -> 3.1415926535897931 -37.534508668464674
acos0043 acos -10000000000000000.0 -0.0 -> 3.1415926535897931 37.534508668464674
acos0044 acos -9.9999999999999998e+149 0.0 -> 3.1415926535897931 -346.08091112966679
acos0045 acos -9.9999999999999998e+149 -0.0 -> 3.1415926535897931 346.08091112966679
acos0046 acos -1.0000000000000001e+299 0.0 -> 3.1415926535897931 -689.16608998577965
acos0047 acos -1.0000000000000001e+299 -0.0 -> 3.1415926535897931 689.16608998577965
acos0048 acos 9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0049 acos 9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0050 acos 1e-305 0.0 -> 1.5707963267948966 -0.0
acos0051 acos 1e-305 -0.0 -> 1.5707963267948966 0.0
acos0052 acos 1e-150 0.0 -> 1.5707963267948966 -0.0
acos0053 acos 1e-150 -0.0 -> 1.5707963267948966 0.0
acos0054 acos 9.9999999999999998e-17 0.0 -> 1.5707963267948966 -0.0
acos0055 acos 9.9999999999999998e-17 -0.0 -> 1.5707963267948966 0.0
acos0056 acos 0.001 0.0 -> 1.56979632662823 -0.0
acos0057 acos 0.001 -0.0 -> 1.56979632662823 0.0
acos0058 acos 0.57899999999999996 0.0 -> 0.95329467197772655 -0.0
acos0059 acos 0.57899999999999996 -0.0 -> 0.95329467197772655 0.0
acos0060 acos 0.99999999999999989 0.0 -> 1.4901161193847656e-08 -0.0
acos0061 acos 0.99999999999999989 -0.0 -> 1.4901161193847656e-08 0.0
acos0062 acos 1.0000000000000002 0.0 -> 0.0 -2.1073424255447014e-08
acos0063 acos 1.0000000000000002 -0.0 -> 0.0 2.1073424255447014e-08
acos0064 acos 1.0009999999999999 0.0 -> 0.0 -0.044717633608306849
acos0065 acos 1.0009999999999999 -0.0 -> 0.0 0.044717633608306849
acos0066 acos 2.0 0.0 -> 0.0 -1.3169578969248168
acos0067 acos 2.0 -0.0 -> 0.0 1.3169578969248168
acos0068 acos 23.0 0.0 -> 0.0 -3.8281684713331012
acos0069 acos 23.0 -0.0 -> 0.0 3.8281684713331012
acos0070 acos 10000000000000000.0 0.0 -> 0.0 -37.534508668464674
acos0071 acos 10000000000000000.0 -0.0 -> 0.0 37.534508668464674
acos0072 acos 9.9999999999999998e+149 0.0 -> 0.0 -346.08091112966679
acos0073 acos 9.9999999999999998e+149 -0.0 -> 0.0 346.08091112966679
acos0074 acos 1.0000000000000001e+299 0.0 -> 0.0 -689.16608998577965
acos0075 acos 1.0000000000000001e+299 -0.0 -> 0.0 689.16608998577965

-- random inputs
acos0100 acos -3.3307113324596682 -10.732007530863266 -> 1.8706085694482339 3.113986806554613
acos0101 acos -2863.952991743291 -2681013315.2571239 -> 1.5707973950301699 22.402607843274758
acos0102 acos -0.33072639793220088 -0.85055464658253055 -> 1.8219426895922601 0.79250166729311966
acos0103 acos -2.5722325842097802 -12.703940809821574 -> 1.7699942413107408 3.2565170156527325
acos0104 acos -42.495233785459583 -0.54039320751337161 -> 3.1288732573153304 4.4424815519735601
acos0105 acos -1.1363818625856401 9641.1325498630376 -> 1.5709141948820049 -9.8669410553254284
acos0106 acos -2.4398426824157866e-11 0.33002051890266165 -> 1.570796326818066 -0.32430578041578667
acos0107 acos -1.3521340428186552 2.9369737912076772 -> 1.9849059192339338 -1.8822893674117942
acos0108 acos -1.827364706477915 1.0355459232147557 -> 2.5732246307960032 -1.4090688267854969
acos0109 acos -0.25978373706403546 10.09712669185833 -> 1.5963940386378306 -3.0081673050196063
acos0110 acos 0.33561778471072551 -4587350.6823999118 -> 1.5707962536333251 16.031960402579539
acos0111 acos 0.49133444610998445 -0.8071422362990015 -> 1.1908761712801788 0.78573345813187867
acos0112 acos 0.42196734507823974 -2.4812965431745115 -> 1.414091186100692 1.651707260988172
acos0113 acos 2.961426210100655 -219.03295695248664 -> 1.5572768319822778 6.0824659885827304
acos0114 acos 2.886209063652641 -20.38011207220606 -> 1.4302765252297889 3.718201853147642
acos0115 acos 0.4180568075276509 1.4833433990823484 -> 1.3393834558303042 -1.2079847758301576
acos0116 acos 52.376111405924718 0.013930429001941001 -> 0.00026601761804024188 -4.6515066691204714
acos0117 acos 41637948387.625969 1.563418292894041 -> 3.7547918507883548e-11 -25.145424989809381
acos0118 acos 0.061226659122249526 0.8447234394615154 -> 1.5240280306367315 -0.76791798971140812
acos0119 acos 2.4480466420442959e+26 0.18002339201384662 -> 7.353756620564798e-28 -61.455650015996376

-- values near infinity
acos0200 acos 1.6206860518683021e+308 1.0308426226285283e+308 -> 0.56650826093826223 -710.54206874241561
acos0201 acos 1.2067735875070062e+308 -1.3429173724390276e+308 -> 0.83874369390864889 710.48017794027498
acos0202 acos -7.4130145132549047e+307 1.1759130543927645e+308 -> 2.1332729346478536 -710.21871115698752
acos0203 acos -8.6329426442257249e+307 -1.2316282952184133e+308 -> 2.1821511032444838 710.29752145697148
acos0204 acos 0.0 1.4289713855849746e+308 -> 1.5707963267948966 -710.24631069738996
acos0205 acos -0.0 1.3153524545987432e+308 -> 1.5707963267948966 -710.1634604787539
acos0206 acos 0.0 -9.6229037669269321e+307 -> 1.5707963267948966 709.85091679573691
acos0207 acos -0.0 -4.9783616421107088e+307 -> 1.5707963267948966 709.19187157911233
acos0208 acos 1.3937541925739389e+308 0.0 -> 0.0 -710.22135678707264
acos0209 acos 9.1362388967371536e+307 -0.0 -> 0.0 709.79901953124613
acos0210 acos -1.3457361220697436e+308 0.0 -> 3.1415926535897931 -710.18629698871848
acos0211 acos -5.4699090056144284e+307 -0.0 -> 3.1415926535897931 709.28603271085649
acos0212 acos 1.5880716932358901e+308 5.5638401252339929 -> 3.503519487773873e-308 -710.35187633140583
acos0213 acos 1.2497211663463164e+308 -3.0456477717911024 -> 2.4370618453197486e-308 710.11227628223412
acos0214 acos -9.9016224006029528e+307 4.9570427340789056 -> 3.1415926535897931 -709.87946935229468
acos0215 acos -1.5854071066874139e+308 -4.4233577741497783 -> 3.1415926535897931 710.35019704672004
acos0216 acos 9.3674623083647628 1.5209559051877979e+308 -> 1.5707963267948966 -710.30869484491086
acos0217 acos 8.1773832021784383 -6.6093445795000056e+307 -> 1.5707963267948966 709.4752552227792
acos0218 acos -3.1845935000665104 1.5768856396650893e+308 -> 1.5707963267948966 -710.34480761042687
acos0219 acos -1.0577303880953903 -6.4574626815735613e+307 -> 1.5707963267948966 709.45200719662046

-- values near 0
acos0220 acos 1.8566986970714045e-320 3.1867234156760402e-321 -> 1.5707963267948966 -3.1867234156760402e-321
acos0221 acos 7.9050503334599447e-323 -8.8931816251424378e-323 -> 1.5707963267948966 8.8931816251424378e-323
acos0222 acos -4.4465908125712189e-323 2.4654065097222727e-311 -> 1.5707963267948966 -2.4654065097222727e-311
acos0223 acos -6.1016916408192619e-311 -2.4703282292062327e-323 -> 1.5707963267948966 2.4703282292062327e-323
acos0224 acos 0.0 3.4305783621842729e-311 -> 1.5707963267948966 -3.4305783621842729e-311
acos0225 acos -0.0 1.6117409498633145e-319 -> 1.5707963267948966 -1.6117409498633145e-319
acos0226 acos 0.0 -4.9900630229965901e-322 -> 1.5707963267948966 4.9900630229965901e-322
acos0227 acos -0.0 -4.4889279210592818e-311 -> 1.5707963267948966 4.4889279210592818e-311
acos0228 acos 5.3297678681477214e-312 0.0 -> 1.5707963267948966 -0.0
acos0229 acos 6.2073425897211614e-313 -0.0 -> 1.5707963267948966 0.0
acos0230 acos -4.9406564584124654e-324 0.0 -> 1.5707963267948966 -0.0
acos0231 acos -1.7107517052899003e-318 -0.0 -> 1.5707963267948966 0.0

-- special values
acos1000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
acos1001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
acos1002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
acos1003 acos -0.0 -0.0 -> 1.5707963267948966 0.0
acos1004 acos 0.0 nan -> 1.5707963267948966 nan
acos1005 acos -0.0 nan -> 1.5707963267948966 nan
acos1006 acos -2.3 inf -> 1.5707963267948966 -inf
acos1007 acos -0.0 inf -> 1.5707963267948966 -inf
acos1008 acos 0.0 inf -> 1.5707963267948966 -inf
acos1009 acos 2.3 inf -> 1.5707963267948966 -inf
acos1010 acos -2.3 nan -> nan nan
acos1011 acos 2.3 nan -> nan nan
acos1012 acos -inf 2.3 -> 3.1415926535897931 -inf
acos1013 acos -inf 0.0 -> 3.1415926535897931 -inf
acos1014 acos inf 2.3 -> 0.0 -inf
acos1015 acos inf 0.0 -> 0.0 -inf
acos1016 acos -inf inf -> 2.3561944901923448 -inf
acos1017 acos inf inf -> 0.78539816339744828 -inf
acos1018 acos inf nan -> nan inf                        ignore-imag-sign
acos1019 acos -inf nan -> nan inf                       ignore-imag-sign
acos1020 acos nan 0.0 -> nan nan
acos1021 acos nan 2.3 -> nan nan
acos1022 acos nan inf -> nan -inf
acos1023 acos nan nan -> nan nan
acos1024 acos -2.3 -inf -> 1.5707963267948966 inf
acos1025 acos -0.0 -inf -> 1.5707963267948966 inf
acos1026 acos 0.0 -inf -> 1.5707963267948966 inf
acos1027 acos 2.3 -inf -> 1.5707963267948966 inf
acos1028 acos -inf -2.3 -> 3.1415926535897931 inf
acos1029 acos -inf -0.0 -> 3.1415926535897931 inf
acos1030 acos inf -2.3 -> 0.0 inf
acos1031 acos inf -0.0 -> 0.0 inf
acos1032 acos -inf -inf -> 2.3561944901923448 inf
acos1033 acos inf -inf -> 0.78539816339744828 inf
acos1034 acos nan -0.0 -> nan nan
acos1035 acos nan -2.3 -> nan nan
acos1036 acos nan -inf -> nan inf


--------------------------------------
-- acosh: Inverse hyperbolic cosine --
--------------------------------------

-- zeros
acosh0000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
acosh0001 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
acosh0002 acosh -0.0 0.0 -> 0.0 1.5707963267948966
acosh0003 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966

-- branch points: +/-1
acosh0010 acosh 1.0 0.0 -> 0.0 0.0
acosh0011 acosh 1.0 -0.0 -> 0.0 -0.0
acosh0012 acosh -1.0 0.0 -> 0.0 3.1415926535897931
acosh0013 acosh -1.0 -0.0 -> 0.0 -3.1415926535897931

-- values along both sides of real axis
acosh0020 acosh -9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
acosh0021 acosh -9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
acosh0022 acosh -1e-305 0.0 -> 0.0 1.5707963267948966
acosh0023 acosh -1e-305 -0.0 -> 0.0 -1.5707963267948966
acosh0024 acosh -1e-150 0.0 -> 0.0 1.5707963267948966
acosh0025 acosh -1e-150 -0.0 -> 0.0 -1.5707963267948966
acosh0026 acosh -9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948968
acosh0027 acosh -9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948968
acosh0028 acosh -0.001 0.0 -> 0.0 1.5717963269615634
acosh0029 acosh -0.001 -0.0 -> 0.0 -1.5717963269615634
acosh0030 acosh -0.57899999999999996 0.0 -> 0.0 2.1882979816120667
acosh0031 acosh -0.57899999999999996 -0.0 -> 0.0 -2.1882979816120667
acosh0032 acosh -0.99999999999999989 0.0 -> 0.0 3.1415926386886319
acosh0033 acosh -0.99999999999999989 -0.0 -> 0.0 -3.1415926386886319
acosh0034 acosh -1.0000000000000002 0.0 -> 2.1073424255447014e-08 3.1415926535897931
acosh0035 acosh -1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -3.1415926535897931
acosh0036 acosh -1.0009999999999999 0.0 -> 0.044717633608306849 3.1415926535897931
acosh0037 acosh -1.0009999999999999 -0.0 -> 0.044717633608306849 -3.1415926535897931
acosh0038 acosh -2.0 0.0 -> 1.3169578969248168 3.1415926535897931
acosh0039 acosh -2.0 -0.0 -> 1.3169578969248168 -3.1415926535897931
acosh0040 acosh -23.0 0.0 -> 3.8281684713331012 3.1415926535897931
acosh0041 acosh -23.0 -0.0 -> 3.8281684713331012 -3.1415926535897931
acosh0042 acosh -10000000000000000.0 0.0 -> 37.534508668464674 3.1415926535897931
acosh0043 acosh -10000000000000000.0 -0.0 -> 37.534508668464674 -3.1415926535897931
acosh0044 acosh -9.9999999999999998e+149 0.0 -> 346.08091112966679 3.1415926535897931
acosh0045 acosh -9.9999999999999998e+149 -0.0 -> 346.08091112966679 -3.1415926535897931
acosh0046 acosh -1.0000000000000001e+299 0.0 -> 689.16608998577965 3.1415926535897931
acosh0047 acosh -1.0000000000000001e+299 -0.0 -> 689.16608998577965 -3.1415926535897931
acosh0048 acosh 9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
acosh0049 acosh 9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
acosh0050 acosh 1e-305 0.0 -> 0.0 1.5707963267948966
acosh0051 acosh 1e-305 -0.0 -> 0.0 -1.5707963267948966
acosh0052 acosh 1e-150 0.0 -> 0.0 1.5707963267948966
acosh0053 acosh 1e-150 -0.0 -> 0.0 -1.5707963267948966
acosh0054 acosh 9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948966
acosh0055 acosh 9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948966
acosh0056 acosh 0.001 0.0 -> 0.0 1.56979632662823
acosh0057 acosh 0.001 -0.0 -> 0.0 -1.56979632662823
acosh0058 acosh 0.57899999999999996 0.0 -> 0.0 0.95329467197772655
acosh0059 acosh 0.57899999999999996 -0.0 -> 0.0 -0.95329467197772655
acosh0060 acosh 0.99999999999999989 0.0 -> 0.0 1.4901161193847656e-08
acosh0061 acosh 0.99999999999999989 -0.0 -> 0.0 -1.4901161193847656e-08
acosh0062 acosh 1.0000000000000002 0.0 -> 2.1073424255447014e-08 0.0
acosh0063 acosh 1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -0.0
acosh0064 acosh 1.0009999999999999 0.0 -> 0.044717633608306849 0.0
acosh0065 acosh 1.0009999999999999 -0.0 -> 0.044717633608306849 -0.0
acosh0066 acosh 2.0 0.0 -> 1.3169578969248168 0.0
acosh0067 acosh 2.0 -0.0 -> 1.3169578969248168 -0.0
acosh0068 acosh 23.0 0.0 -> 3.8281684713331012 0.0
acosh0069 acosh 23.0 -0.0 -> 3.8281684713331012 -0.0
acosh0070 acosh 10000000000000000.0 0.0 -> 37.534508668464674 0.0
acosh0071 acosh 10000000000000000.0 -0.0 -> 37.534508668464674 -0.0
acosh0072 acosh 9.9999999999999998e+149 0.0 -> 346.08091112966679 0.0
acosh0073 acosh 9.9999999999999998e+149 -0.0 -> 346.08091112966679 -0.0
acosh0074 acosh 1.0000000000000001e+299 0.0 -> 689.16608998577965 0.0
acosh0075 acosh 1.0000000000000001e+299 -0.0 -> 689.16608998577965 -0.0

-- random inputs
acosh0100 acosh -1.4328589581250843 -1.8370347775558309 -> 1.5526962646549587 -2.190250168435786
acosh0101 acosh -0.31075819156220957 -1.0772555786839297 -> 0.95139168286193709 -1.7812228089636479
acosh0102 acosh -1.9044776578070453 -20.485370158932124 -> 3.7177411088932359 -1.6633888745861227
acosh0103 acosh -0.075642506000858742 -21965976320.873051 -> 24.505907742881991 -1.5707963267983402
acosh0104 acosh -1.6162271181056307 -3.0369343458696099 -> 1.9407057262861227 -2.0429549461750209
acosh0105 acosh -0.3103780280298063 0.00018054880018078987 -> 0.00018992877058761416 1.886386995096728
acosh0106 acosh -9159468751.5897655 5.8014747664273649 -> 23.631201197959193 3.1415926529564078
acosh0107 acosh -0.037739157550933884 0.21841357493510705 -> 0.21685844960602488 1.6076735133449402
acosh0108 acosh -8225991.0508394297 0.28318543008913644 -> 16.615956520420287 3.1415926191641019
acosh0109 acosh -35.620070502302639 0.31303237005015 -> 4.2658980006943965 3.1328013255541873
acosh0110 acosh 96.729939906820917 -0.029345228372365334 -> 5.2650434775863548 -0.00030338895866972843
acosh0111 acosh 0.59656024007966491 -2.0412294654163978 -> 1.4923002024287835 -1.312568421900338
acosh0112 acosh 109.29384112677828 -0.00015454863061533812 -> 5.3871662961545477 -1.4141245154061214e-06
acosh0113 acosh 8.6705651969361597 -3.6723631649787465 -> 2.9336180958363545 -0.40267362031872861
acosh0114 acosh 1.8101646445052686 -0.012345132721855478 -> 1.1997148566285769 -0.0081813912760150265
acosh0115 acosh 52.56897195025288 0.001113916065985443 -> 4.6551827622264135 2.1193445872040307e-05
acosh0116 acosh 0.28336786164214739 355643992457.40485 -> 27.290343226816528 1.5707963267940999
acosh0117 acosh 0.73876621291911437 2.8828594541104322e-20 -> 4.2774820978159067e-20 0.73955845836827927
acosh0118 acosh 0.025865471781718878 37125746064318.492 -> 31.938478989418012 1.5707963267948959
acosh0119 acosh 2.2047353511780132 0.074712248143489271 -> 1.4286403248698021 0.037997904971626598

-- values near infinity
acosh0200 acosh 8.1548592876467785e+307 9.0943779335951128e+307 -> 710.08944620800605 0.83981165425478954
acosh0201 acosh 1.4237229680972531e+308 -1.0336966617874858e+308 -> 710.4543331094759 -0.6279972876348755
acosh0202 acosh -1.5014526899738939e+308 1.5670700378448792e+308 -> 710.66420706795464 2.3348137299106697
acosh0203 acosh -1.0939040375213928e+308 -1.0416960351127978e+308 -> 710.30182863115886 -2.380636147787027
acosh0204 acosh 0.0 1.476062433559588e+308 -> 710.27873384716929 1.5707963267948966
acosh0205 acosh -0.0 6.2077210326221094e+307 -> 709.41256457484769 1.5707963267948966
acosh0206 acosh 0.0 -1.5621899909968308e+308 -> 710.33544449990734 -1.5707963267948966
acosh0207 acosh -0.0 -8.3556624833839122e+307 -> 709.70971018048317 -1.5707963267948966
acosh0208 acosh 1.3067079752499342e+308 0.0 -> 710.15686680107228 0.0
acosh0209 acosh 1.5653640340214026e+308 -0.0 -> 710.33747422926706 -0.0
acosh0210 acosh -6.9011375992290636e+307 0.0 -> 709.51845699719922 3.1415926535897931
acosh0211 acosh -9.9539576809926973e+307 -0.0 -> 709.88474095870185 -3.1415926535897931
acosh0212 acosh 7.6449598518914925e+307 9.5706540768268358 -> 709.62081731754802 1.2518906916769345e-307
acosh0213 acosh 5.4325410972602197e+307 -7.8064807816522706 -> 709.279177727925 -1.4369851312471974e-307
acosh0214 acosh -1.1523626112360465e+308 7.0617510038869336 -> 710.03117010216909 3.1415926535897931
acosh0215 acosh -1.1685027786862599e+308 -5.1568558357925625 -> 710.04507907571417 -3.1415926535897931
acosh0216 acosh 3.0236370339788721 1.7503248720096417e+308 -> 710.44915723458064 1.5707963267948966
acosh0217 acosh 6.6108007926031149 -9.1469968225806149e+307 -> 709.80019633903328 -1.5707963267948966
acosh0218 acosh -5.1096262905623959 6.4484926785412395e+307 -> 709.45061713997973 1.5707963267948966
acosh0219 acosh -2.8080920608735846 -1.7716118836519368e+308 -> 710.46124562363445 -1.5707963267948966

-- values near 0
acosh0220 acosh 4.5560530326699304e-317 7.3048989121436657e-318 -> 7.3048989121436657e-318 1.5707963267948966
acosh0221 acosh 4.8754274133585331e-314 -9.8469794897684199e-315 -> 9.8469794897684199e-315 -1.5707963267948966
acosh0222 acosh -4.6748876009960097e-312 9.7900342887557606e-318 -> 9.7900342887557606e-318 1.5707963267948966
acosh0223 acosh -4.3136871538399236e-320 -4.9406564584124654e-323 -> 4.9406564584124654e-323 -1.5707963267948966
acosh0224 acosh 0.0 4.3431013866496774e-314 -> 4.3431013866496774e-314 1.5707963267948966
acosh0225 acosh -0.0 6.0147334335829184e-317 -> 6.0147334335829184e-317 1.5707963267948966
acosh0226 acosh 0.0 -1.2880291387081297e-320 -> 1.2880291387081297e-320 -1.5707963267948966
acosh0227 acosh -0.0 -1.4401563976534621e-317 -> 1.4401563976534621e-317 -1.5707963267948966
acosh0228 acosh 1.3689680570863091e-313 0.0 -> 0.0 1.5707963267948966
acosh0229 acosh 1.5304346893494371e-312 -0.0 -> 0.0 -1.5707963267948966
acosh0230 acosh -3.7450175954766488e-320 0.0 -> 0.0 1.5707963267948966
acosh0231 acosh -8.4250563080885801e-311 -0.0 -> 0.0 -1.5707963267948966

-- special values
acosh1000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
acosh1001 acosh -0.0 0.0 -> 0.0 1.5707963267948966
acosh1002 acosh 0.0 inf -> inf 1.5707963267948966
acosh1003 acosh 2.3 inf -> inf 1.5707963267948966
acosh1004 acosh -0.0 inf -> inf 1.5707963267948966
acosh1005 acosh -2.3 inf -> inf 1.5707963267948966
acosh1006 acosh 0.0 nan -> nan nan
acosh1007 acosh 2.3 nan -> nan nan
acosh1008 acosh -0.0 nan -> nan nan
acosh1009 acosh -2.3 nan -> nan nan
acosh1010 acosh -inf 0.0 -> inf 3.1415926535897931
acosh1011 acosh -inf 2.3 -> inf 3.1415926535897931
acosh1012 acosh inf 0.0 -> inf 0.0
acosh1013 acosh inf 2.3 -> inf 0.0
acosh1014 acosh -inf inf -> inf 2.3561944901923448
acosh1015 acosh inf inf -> inf 0.78539816339744828
acosh1016 acosh inf nan -> inf nan
acosh1017 acosh -inf nan -> inf nan
acosh1018 acosh nan 0.0 -> nan nan
acosh1019 acosh nan 2.3 -> nan nan
acosh1020 acosh nan inf -> inf nan
acosh1021 acosh nan nan -> nan nan
acosh1022 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
acosh1023 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966
acosh1024 acosh 0.0 -inf -> inf -1.5707963267948966
acosh1025 acosh 2.3 -inf -> inf -1.5707963267948966
acosh1026 acosh -0.0 -inf -> inf -1.5707963267948966
acosh1027 acosh -2.3 -inf -> inf -1.5707963267948966
acosh1028 acosh -inf -0.0 -> inf -3.1415926535897931
acosh1029 acosh -inf -2.3 -> inf -3.1415926535897931
acosh1030 acosh inf -0.0 -> inf -0.0
acosh1031 acosh inf -2.3 -> inf -0.0
acosh1032 acosh -inf -inf -> inf -2.3561944901923448
acosh1033 acosh inf -inf -> inf -0.78539816339744828
acosh1034 acosh nan -0.0 -> nan nan
acosh1035 acosh nan -2.3 -> nan nan
acosh1036 acosh nan -inf -> inf nan


------------------------
-- asin: Inverse sine --
------------------------

-- zeros
asin0000 asin 0.0 0.0 -> 0.0 0.0
asin0001 asin 0.0 -0.0 -> 0.0 -0.0
asin0002 asin -0.0 0.0 -> -0.0 0.0
asin0003 asin -0.0 -0.0 -> -0.0 -0.0

-- branch points: +/-1
asin0010 asin 1.0 0.0 -> 1.5707963267948966 0.0
asin0011 asin 1.0 -0.0 -> 1.5707963267948966 -0.0
asin0012 asin -1.0 0.0 -> -1.5707963267948966 0.0
asin0013 asin -1.0 -0.0 -> -1.5707963267948966 -0.0

-- values along both sides of real axis
asin0020 asin -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
asin0021 asin -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
asin0022 asin -1e-305 0.0 -> -1e-305 0.0
asin0023 asin -1e-305 -0.0 -> -1e-305 -0.0
asin0024 asin -1e-150 0.0 -> -1e-150 0.0
asin0025 asin -1e-150 -0.0 -> -1e-150 -0.0
asin0026 asin -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
asin0027 asin -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
asin0028 asin -0.001 0.0 -> -0.0010000001666667416 0.0
asin0029 asin -0.001 -0.0 -> -0.0010000001666667416 -0.0
asin0030 asin -0.57899999999999996 0.0 -> -0.61750165481717001 0.0
asin0031 asin -0.57899999999999996 -0.0 -> -0.61750165481717001 -0.0
asin0032 asin -0.99999999999999989 0.0 -> -1.5707963118937354 0.0
asin0033 asin -0.99999999999999989 -0.0 -> -1.5707963118937354 -0.0
asin0034 asin -1.0000000000000002 0.0 -> -1.5707963267948966 2.1073424255447014e-08
asin0035 asin -1.0000000000000002 -0.0 -> -1.5707963267948966 -2.1073424255447014e-08
asin0036 asin -1.0009999999999999 0.0 -> -1.5707963267948966 0.044717633608306849
asin0037 asin -1.0009999999999999 -0.0 -> -1.5707963267948966 -0.044717633608306849
asin0038 asin -2.0 0.0 -> -1.5707963267948966 1.3169578969248168
asin0039 asin -2.0 -0.0 -> -1.5707963267948966 -1.3169578969248168
asin0040 asin -23.0 0.0 -> -1.5707963267948966 3.8281684713331012
asin0041 asin -23.0 -0.0 -> -1.5707963267948966 -3.8281684713331012
asin0042 asin -10000000000000000.0 0.0 -> -1.5707963267948966 37.534508668464674
asin0043 asin -10000000000000000.0 -0.0 -> -1.5707963267948966 -37.534508668464674
asin0044 asin -9.9999999999999998e+149 0.0 -> -1.5707963267948966 346.08091112966679
asin0045 asin -9.9999999999999998e+149 -0.0 -> -1.5707963267948966 -346.08091112966679
asin0046 asin -1.0000000000000001e+299 0.0 -> -1.5707963267948966 689.16608998577965
asin0047 asin -1.0000000000000001e+299 -0.0 -> -1.5707963267948966 -689.16608998577965
asin0048 asin 9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
asin0049 asin 9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
asin0050 asin 1e-305 0.0 -> 1e-305 0.0
asin0051 asin 1e-305 -0.0 -> 1e-305 -0.0
asin0052 asin 1e-150 0.0 -> 1e-150 0.0
asin0053 asin 1e-150 -0.0 -> 1e-150 -0.0
asin0054 asin 9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
asin0055 asin 9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
asin0056 asin 0.001 0.0 -> 0.0010000001666667416 0.0
asin0057 asin 0.001 -0.0 -> 0.0010000001666667416 -0.0
asin0058 asin 0.57899999999999996 0.0 -> 0.61750165481717001 0.0
asin0059 asin 0.57899999999999996 -0.0 -> 0.61750165481717001 -0.0
asin0060 asin 0.99999999999999989 0.0 -> 1.5707963118937354 0.0
asin0061 asin 0.99999999999999989 -0.0 -> 1.5707963118937354 -0.0
asin0062 asin 1.0000000000000002 0.0 -> 1.5707963267948966 2.1073424255447014e-08
asin0063 asin 1.0000000000000002 -0.0 -> 1.5707963267948966 -2.1073424255447014e-08
asin0064 asin 1.0009999999999999 0.0 -> 1.5707963267948966 0.044717633608306849
asin0065 asin 1.0009999999999999 -0.0 -> 1.5707963267948966 -0.044717633608306849
asin0066 asin 2.0 0.0 -> 1.5707963267948966 1.3169578969248168
asin0067 asin 2.0 -0.0 -> 1.5707963267948966 -1.3169578969248168
asin0068 asin 23.0 0.0 -> 1.5707963267948966 3.8281684713331012
asin0069 asin 23.0 -0.0 -> 1.5707963267948966 -3.8281684713331012
asin0070 asin 10000000000000000.0 0.0 -> 1.5707963267948966 37.534508668464674
asin0071 asin 10000000000000000.0 -0.0 -> 1.5707963267948966 -37.534508668464674
asin0072 asin 9.9999999999999998e+149 0.0 -> 1.5707963267948966 346.08091112966679
asin0073 asin 9.9999999999999998e+149 -0.0 -> 1.5707963267948966 -346.08091112966679
asin0074 asin 1.0000000000000001e+299 0.0 -> 1.5707963267948966 689.16608998577965
asin0075 asin 1.0000000000000001e+299 -0.0 -> 1.5707963267948966 -689.16608998577965

-- random inputs
asin0100 asin -1.5979555835086083 -0.15003009814595247 -> -1.4515369557405788 -1.0544476399790823
asin0101 asin -0.57488225895317679 -9.6080397838952743e-13 -> -0.61246024460412851 -1.174238005400403e-12
asin0102 asin -3.6508087930516249 -0.36027527093220152 -> -1.4685890605305874 -1.9742273007152038
asin0103 asin -1.5238659792326819 -1.1360813516996364 -> -0.86080051691147275 -1.3223742205689195
asin0104 asin -1592.0639045555306 -0.72362427935018236 -> -1.5703418071175179 -8.0659336918729228
asin0105 asin -0.19835471371312019 4.2131508416697709 -> -0.045777831019935149 2.1461732751933171
asin0106 asin -1.918471054430213 0.40603305079779234 -> -1.3301396585791556 1.30263642314981
asin0107 asin -254495.01623373642 0.71084414434470822 -> -1.5707935336394359 13.140183712762321
asin0108 asin -0.31315882715691157 3.9647994288429866 -> -0.076450403840916004 2.0889762138713457
asin0109 asin -0.90017064284720816 1.2530659485907105 -> -0.53466509741943447 1.1702811557577
asin0110 asin 2.1615181696571075 -0.14058647488229523 -> 1.4976166323896871 -1.4085811039334604
asin0111 asin 1.2104749210707795 -0.85732484485298999 -> 0.83913071588343924 -1.0681719250525901
asin0112 asin 1.7059733185128891 -0.84032966373156581 -> 1.0510900815816229 -1.2967979791361652
asin0113 asin 9.9137085017290687 -1.4608383970250893 -> 1.4237704820128891 -2.995414677560686
asin0114 asin 117.12344751041495 -5453908091.5334015 -> 2.1475141411392012e-08 -23.112745450217066
asin0115 asin 0.081041187798029227 0.067054349860173196 -> 0.080946786856771813 0.067223991060639698
asin0116 asin 46.635472322049949 2.3835190718056678 -> 1.5197194940010779 4.5366989600972083
asin0117 asin 3907.0687961127105 19.144021886390181 -> 1.5658965233083235 8.9637018715924217
asin0118 asin 1.0889312322308273 509.01577883554768 -> 0.0021392803817829316 6.9256294494524706
asin0119 asin 0.10851518277509224 1.5612510908217476 -> 0.058491014243902621 1.2297075725621327

-- values near infinity
asin0200 asin 1.5230241998821499e+308 5.5707228994084525e+307 -> 1.2201446370892068 710.37283486535966
asin0201 asin 8.1334317698672204e+307 -9.2249425197872451e+307 -> 0.72259991284020042 -710.0962453049026
asin0202 asin -9.9138506659241768e+307 6.701544526434995e+307 -> -0.97637511742194594 710.06887486671371
asin0203 asin -1.4141298868173842e+308 -5.401505134514191e+307 -> -1.2059319055160587 -710.30396478954628
asin0204 asin 0.0 9.1618092977897431e+307 -> 0.0 709.80181441050593
asin0205 asin -0.0 6.8064342551939755e+307 -> -0.0 709.50463910853489
asin0206 asin 0.0 -6.4997516454798215e+307 -> 0.0 -709.45853469751592
asin0207 asin -0.0 -1.6767449053345242e+308 -> -0.0 -710.4062101803022
asin0208 asin 5.4242749957378916e+307 0.0 -> 1.5707963267948966 709.27765497888902
asin0209 asin 9.5342145121164749e+307 -0.0 -> 1.5707963267948966 -709.84165758595907
asin0210 asin -7.0445698006201847e+307 0.0 -> -1.5707963267948966 709.53902780872136
asin0211 asin -1.0016025569769706e+308 -0.0 -> -1.5707963267948966 -709.89095709697881
asin0212 asin 1.6552203778877204e+308 0.48761543336249491 -> 1.5707963267948966 710.39328998153474
asin0213 asin 1.2485712830384869e+308 -4.3489311161278899 -> 1.5707963267948966 -710.1113557467786
asin0214 asin -1.5117842813353125e+308 5.123452666102434 -> -1.5707963267948966 710.30264641923031
asin0215 asin -1.3167634313008016e+308 -0.52939679793528982 -> -1.5707963267948966 -710.16453260239768
asin0216 asin 0.80843929176985907 1.0150851827767876e+308 -> 7.9642507396113875e-309 709.90432835561637
asin0217 asin 8.2544809829680901 -1.7423548140539474e+308 -> 4.7375430746865733e-308 -710.44459336242164
asin0218 asin -5.2499000118824295 4.6655578977512214e+307 -> -1.1252459249113292e-307 709.1269781491103
asin0219 asin -5.9904782760833433 -4.7315689314781163e+307 -> -1.2660659419394637e-307 -709.14102757522312

-- special values
asin1000 asin -0.0 0.0 -> -0.0 0.0
asin1001 asin 0.0 0.0 -> 0.0 0.0
asin1002 asin -0.0 -0.0 -> -0.0 -0.0
asin1003 asin 0.0 -0.0 -> 0.0 -0.0
asin1004 asin -inf 0.0 -> -1.5707963267948966 inf
asin1005 asin -inf 2.2999999999999998 -> -1.5707963267948966 inf
asin1006 asin nan 0.0 -> nan nan
asin1007 asin nan 2.2999999999999998 -> nan nan
asin1008 asin -0.0 inf -> -0.0 inf
asin1009 asin -2.2999999999999998 inf -> -0.0 inf
asin1010 asin -inf inf -> -0.78539816339744828 inf
asin1011 asin nan inf -> nan inf
asin1012 asin -0.0 nan -> -0.0 nan
asin1013 asin -2.2999999999999998 nan -> nan nan
asin1014 asin -inf nan -> nan inf ignore-imag-sign
asin1015 asin nan nan -> nan nan
asin1016 asin inf 0.0 -> 1.5707963267948966 inf
asin1017 asin inf 2.2999999999999998 -> 1.5707963267948966 inf
asin1018 asin 0.0 inf -> 0.0 inf
asin1019 asin 2.2999999999999998 inf -> 0.0 inf
asin1020 asin inf inf -> 0.78539816339744828 inf
asin1021 asin 0.0 nan -> 0.0 nan
asin1022 asin 2.2999999999999998 nan -> nan nan
asin1023 asin inf nan -> nan inf ignore-imag-sign
asin1024 asin inf -0.0 -> 1.5707963267948966 -inf
asin1025 asin inf -2.2999999999999998 -> 1.5707963267948966 -inf
asin1026 asin nan -0.0 -> nan nan
asin1027 asin nan -2.2999999999999998 -> nan nan
asin1028 asin 0.0 -inf -> 0.0 -inf
asin1029 asin 2.2999999999999998 -inf -> 0.0 -inf
asin1030 asin inf -inf -> 0.78539816339744828 -inf
asin1031 asin nan -inf -> nan -inf
asin1032 asin -inf -0.0 -> -1.5707963267948966 -inf
asin1033 asin -inf -2.2999999999999998 -> -1.5707963267948966 -inf
asin1034 asin -0.0 -inf -> -0.0 -inf
asin1035 asin -2.2999999999999998 -inf -> -0.0 -inf
asin1036 asin -inf -inf -> -0.78539816339744828 -inf


------------------------------------
-- asinh: Inverse hyperbolic sine --
------------------------------------

-- zeros
asinh0000 asinh 0.0 0.0 -> 0.0 0.0
asinh0001 asinh 0.0 -0.0 -> 0.0 -0.0
asinh0002 asinh -0.0 0.0 -> -0.0 0.0
asinh0003 asinh -0.0 -0.0 -> -0.0 -0.0

-- branch points: +/-i
asinh0010 asinh 0.0 1.0 -> 0.0 1.5707963267948966
asinh0011 asinh 0.0 -1.0 -> 0.0 -1.5707963267948966
asinh0012 asinh -0.0 1.0 -> -0.0 1.5707963267948966
asinh0013 asinh -0.0 -1.0 -> -0.0 -1.5707963267948966

-- values along both sides of imaginary axis
asinh0020 asinh 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
asinh0021 asinh -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
asinh0022 asinh 0.0 -1e-305 -> 0.0 -1e-305
asinh0023 asinh -0.0 -1e-305 -> -0.0 -1e-305
asinh0024 asinh 0.0 -1e-150 -> 0.0 -1e-150
asinh0025 asinh -0.0 -1e-150 -> -0.0 -1e-150
asinh0026 asinh 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
asinh0027 asinh -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
asinh0028 asinh 0.0 -0.001 -> 0.0 -0.0010000001666667416
asinh0029 asinh -0.0 -0.001 -> -0.0 -0.0010000001666667416
asinh0030 asinh 0.0 -0.57899999999999996 -> 0.0 -0.61750165481717001
asinh0031 asinh -0.0 -0.57899999999999996 -> -0.0 -0.61750165481717001
asinh0032 asinh 0.0 -0.99999999999999989 -> 0.0 -1.5707963118937354
asinh0033 asinh -0.0 -0.99999999999999989 -> -0.0 -1.5707963118937354
asinh0034 asinh 0.0 -1.0000000000000002 -> 2.1073424255447014e-08 -1.5707963267948966
asinh0035 asinh -0.0 -1.0000000000000002 -> -2.1073424255447014e-08 -1.5707963267948966
asinh0036 asinh 0.0 -1.0009999999999999 -> 0.044717633608306849 -1.5707963267948966
asinh0037 asinh -0.0 -1.0009999999999999 -> -0.044717633608306849 -1.5707963267948966
asinh0038 asinh 0.0 -2.0 -> 1.3169578969248168 -1.5707963267948966
asinh0039 asinh -0.0 -2.0 -> -1.3169578969248168 -1.5707963267948966
asinh0040 asinh 0.0 -20.0 -> 3.6882538673612966 -1.5707963267948966
asinh0041 asinh -0.0 -20.0 -> -3.6882538673612966 -1.5707963267948966
asinh0042 asinh 0.0 -10000000000000000.0 -> 37.534508668464674 -1.5707963267948966
asinh0043 asinh -0.0 -10000000000000000.0 -> -37.534508668464674 -1.5707963267948966
asinh0044 asinh 0.0 -9.9999999999999998e+149 -> 346.08091112966679 -1.5707963267948966
asinh0045 asinh -0.0 -9.9999999999999998e+149 -> -346.08091112966679 -1.5707963267948966
asinh0046 asinh 0.0 -1.0000000000000001e+299 -> 689.16608998577965 -1.5707963267948966
asinh0047 asinh -0.0 -1.0000000000000001e+299 -> -689.16608998577965 -1.5707963267948966
asinh0048 asinh 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
asinh0049 asinh -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
asinh0050 asinh 0.0 1e-305 -> 0.0 1e-305
asinh0051 asinh -0.0 1e-305 -> -0.0 1e-305
asinh0052 asinh 0.0 1e-150 -> 0.0 1e-150
asinh0053 asinh -0.0 1e-150 -> -0.0 1e-150
asinh0054 asinh 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
asinh0055 asinh -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
asinh0056 asinh 0.0 0.001 -> 0.0 0.0010000001666667416
asinh0057 asinh -0.0 0.001 -> -0.0 0.0010000001666667416
asinh0058 asinh 0.0 0.57899999999999996 -> 0.0 0.61750165481717001
asinh0059 asinh -0.0 0.57899999999999996 -> -0.0 0.61750165481717001
asinh0060 asinh 0.0 0.99999999999999989 -> 0.0 1.5707963118937354
asinh0061 asinh -0.0 0.99999999999999989 -> -0.0 1.5707963118937354
asinh0062 asinh 0.0 1.0000000000000002 -> 2.1073424255447014e-08 1.5707963267948966
asinh0063 asinh -0.0 1.0000000000000002 -> -2.1073424255447014e-08 1.5707963267948966
asinh0064 asinh 0.0 1.0009999999999999 -> 0.044717633608306849 1.5707963267948966
asinh0065 asinh -0.0 1.0009999999999999 -> -0.044717633608306849 1.5707963267948966
asinh0066 asinh 0.0 2.0 -> 1.3169578969248168 1.5707963267948966
asinh0067 asinh -0.0 2.0 -> -1.3169578969248168 1.5707963267948966
asinh0068 asinh 0.0 20.0 -> 3.6882538673612966 1.5707963267948966
asinh0069 asinh -0.0 20.0 -> -3.6882538673612966 1.5707963267948966
asinh0070 asinh 0.0 10000000000000000.0 -> 37.534508668464674 1.5707963267948966
asinh0071 asinh -0.0 10000000000000000.0 -> -37.534508668464674 1.5707963267948966
asinh0072 asinh 0.0 9.9999999999999998e+149 -> 346.08091112966679 1.5707963267948966
asinh0073 asinh -0.0 9.9999999999999998e+149 -> -346.08091112966679 1.5707963267948966
asinh0074 asinh 0.0 1.0000000000000001e+299 -> 689.16608998577965 1.5707963267948966
asinh0075 asinh -0.0 1.0000000000000001e+299 -> -689.16608998577965 1.5707963267948966

-- random inputs
asinh0100 asinh -0.5946402853710423 -0.044506548910000145 -> -0.56459775392653022 -0.038256221441536356
asinh0101 asinh -0.19353958046180916 -0.017489624793193454 -> -0.19237926804196651 -0.017171741895336792
asinh0102 asinh -0.033117585138955893 -8.5256414015933757 -> -2.8327758348650969 -1.5668848791092411
asinh0103 asinh -1.5184043184035716 -0.73491245339073275 -> -1.2715891419764005 -0.39204624408542355
asinh0104 asinh -0.60716120271208818 -0.28900743958436542 -> -0.59119299421187232 -0.24745931678118135
asinh0105 asinh -0.0237177865112429 2.8832601052166313 -> -1.7205820772413236 1.5620261702963094
asinh0106 asinh -2.3906812342743979 2.6349216848574013 -> -1.9609636249445124 0.8142142660574706
asinh0107 asinh -0.0027605019787620517 183.85588476550555 -> -5.9072920005445066 1.5707813120847871
asinh0108 asinh -0.99083661164404713 0.028006797051617648 -> -0.8750185251283995 0.019894099615994653
asinh0109 asinh -3.0362951937986393 0.86377266758504867 -> -1.8636030714685221 0.26475058859950168
asinh0110 asinh 0.34438464536152769 -0.71603790174885029 -> 0.43985415690734164 -0.71015037409294324
asinh0111 asinh 4.4925124413876256 -60604595352.871613 -> 25.520783738612078 -1.5707963267207683
asinh0112 asinh 2.3213991428170337 -7.5459667007307258 -> 2.7560464993451643 -1.270073210856117
asinh0113 asinh 0.21291939741682028 -1.2720428814784408 -> 0.77275088137338266 -1.3182099250896895
asinh0114 asinh 6.6447359379455957 -0.97196191666946996 -> 2.602830695139672 -0.14368247412319965
asinh0115 asinh 7.1326256655083746 2.1516360452706857 -> 2.7051146374367212 0.29051701669727581
asinh0116 asinh 0.18846550905063442 3.4705348585339832 -> 1.917697875799296 1.514155593347924
asinh0117 asinh 0.19065075303281598 0.26216814548222012 -> 0.19603050785932474 0.26013422809614117
asinh0118 asinh 2.0242004665739719 0.70510281647495787 -> 1.4970366212896002 0.30526007200481453
asinh0119 asinh 37.336596461576057 717.29157391678234 -> 7.269981997945294 1.5187910219576033

-- values near infinity
asinh0200 asinh 1.0760517500874541e+308 1.1497786241240167e+308 -> 710.34346055651815 0.81850936961793475
asinh0201 asinh 1.1784839328845529e+308 -1.6478429586716638e+308 -> 710.59536255783678 -0.94996311735607697
asinh0202 asinh -4.8777682248909193e+307 1.4103736217538474e+308 -> -710.28970147376992 1.2378239519096443
asinh0203 asinh -1.2832478903233108e+308 -1.5732392613155698e+308 -> -710.59750164290745 -0.88657181439322452
asinh0204 asinh 0.0 6.8431383856345372e+307 -> 709.51001718444604 1.5707963267948966
asinh0205 asinh -0.0 8.601822432238051e+307 -> -709.73874482126689 1.5707963267948966
asinh0206 asinh 0.0 -5.5698396067303782e+307 -> 709.30413698733742 -1.5707963267948966
asinh0207 asinh -0.0 -7.1507777734621804e+307 -> -709.55399186002705 -1.5707963267948966
asinh0208 asinh 1.6025136110019349e+308 0.0 -> 710.3609292261076 0.0
asinh0209 asinh 1.3927819858239114e+308 -0.0 -> 710.22065899832899 -0.0
asinh0210 asinh -6.0442994056210995e+307 0.0 -> -709.38588631057621 0.0
asinh0211 asinh -1.2775271979042634e+308 -0.0 -> -710.13428215553972 -0.0
asinh0212 asinh 1.0687496260268489e+308 1.0255615699476961 -> 709.95584521407841 9.5959010882679093e-309
asinh0213 asinh 1.0050967333370962e+308 -0.87668970117333433 -> 709.89443961168183 -8.7224410556242882e-309
asinh0214 asinh -5.7161452814862392e+307 8.2377808413450122 -> -709.33006540611166 1.4411426644501116e-307
asinh0215 asinh -8.2009040727653315e+307 -6.407409526654976 -> -709.69101513070109 -7.8130526461510088e-308
asinh0216 asinh 6.4239368496483982 1.6365990821551427e+308 -> 710.38197618101287 1.5707963267948966
asinh0217 asinh 5.4729111423315882 -1.1227237438144211e+308 -> 710.00511346983546 -1.5707963267948966
asinh0218 asinh -8.3455818297412723 1.443172020182019e+308 -> -710.25619930551818 1.5707963267948966
asinh0219 asinh -2.6049726230372441 -1.7952291144022702e+308 -> -710.47448847685644 -1.5707963267948966

-- values near 0
asinh0220 asinh 1.2940113339664088e-314 6.9169190417774516e-323 -> 1.2940113339664088e-314 6.9169190417774516e-323
asinh0221 asinh 2.3848478863874649e-315 -3.1907655025717717e-310 -> 2.3848478863874649e-315 -3.1907655025717717e-310
asinh0222 asinh -3.0097643679641622e-316 4.6936236354918422e-322 -> -3.0097643679641622e-316 4.6936236354918422e-322
asinh0223 asinh -1.787997087755751e-308 -8.5619622834902341e-310 -> -1.787997087755751e-308 -8.5619622834902341e-310
asinh0224 asinh 0.0 1.2491433448427325e-314 -> 0.0 1.2491433448427325e-314
asinh0225 asinh -0.0 2.5024072154538062e-308 -> -0.0 2.5024072154538062e-308
asinh0226 asinh 0.0 -2.9643938750474793e-323 -> 0.0 -2.9643938750474793e-323
asinh0227 asinh -0.0 -2.9396905927554169e-320 -> -0.0 -2.9396905927554169e-320
asinh0228 asinh 5.64042930029359e-317 0.0 -> 5.64042930029359e-317 0.0
asinh0229 asinh 3.3833911866596068e-318 -0.0 -> 3.3833911866596068e-318 -0.0
asinh0230 asinh -4.9406564584124654e-324 0.0 -> -4.9406564584124654e-324 0.0
asinh0231 asinh -2.2211379227994845e-308 -0.0 -> -2.2211379227994845e-308 -0.0

-- special values
asinh1000 asinh 0.0 0.0 -> 0.0 0.0
asinh1001 asinh 0.0 -0.0 -> 0.0 -0.0
asinh1002 asinh -0.0 0.0 -> -0.0 0.0
asinh1003 asinh -0.0 -0.0 -> -0.0 -0.0
asinh1004 asinh 0.0 inf -> inf 1.5707963267948966
asinh1005 asinh 2.3 inf -> inf 1.5707963267948966
asinh1006 asinh 0.0 nan -> nan nan
asinh1007 asinh 2.3 nan -> nan nan
asinh1008 asinh inf 0.0 -> inf 0.0
asinh1009 asinh inf 2.3 -> inf 0.0
asinh1010 asinh inf inf -> inf 0.78539816339744828
asinh1011 asinh inf nan -> inf nan
asinh1012 asinh nan 0.0 -> nan 0.0
asinh1013 asinh nan 2.3 -> nan nan
asinh1014 asinh nan inf -> inf nan                      ignore-real-sign
asinh1015 asinh nan nan -> nan nan
asinh1016 asinh 0.0 -inf -> inf -1.5707963267948966
asinh1017 asinh 2.3 -inf -> inf -1.5707963267948966
asinh1018 asinh inf -0.0 -> inf -0.0
asinh1019 asinh inf -2.3 -> inf -0.0
asinh1020 asinh inf -inf -> inf -0.78539816339744828
asinh1021 asinh nan -0.0 -> nan -0.0
asinh1022 asinh nan -2.3 -> nan nan
asinh1023 asinh nan -inf -> inf nan                     ignore-real-sign
asinh1024 asinh -0.0 -inf -> -inf -1.5707963267948966
asinh1025 asinh -2.3 -inf -> -inf -1.5707963267948966
asinh1026 asinh -0.0 nan -> nan nan
asinh1027 asinh -2.3 nan -> nan nan
asinh1028 asinh -inf -0.0 -> -inf -0.0
asinh1029 asinh -inf -2.3 -> -inf -0.0
asinh1030 asinh -inf -inf -> -inf -0.78539816339744828
asinh1031 asinh -inf nan -> -inf nan
asinh1032 asinh -0.0 inf -> -inf 1.5707963267948966
asinh1033 asinh -2.3 inf -> -inf 1.5707963267948966
asinh1034 asinh -inf 0.0 -> -inf 0.0
asinh1035 asinh -inf 2.3 -> -inf 0.0
asinh1036 asinh -inf inf -> -inf 0.78539816339744828


---------------------------
-- atan: Inverse tangent --
---------------------------

-- zeros
-- These are tested in testAtanSign in test_cmath.py
-- atan0000 atan 0.0 0.0 -> 0.0 0.0
-- atan0001 atan 0.0 -0.0 -> 0.0 -0.0
-- atan0002 atan -0.0 0.0 -> -0.0 0.0
-- atan0003 atan -0.0 -0.0 -> -0.0 -0.0

-- values along both sides of imaginary axis
atan0010 atan 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
atan0011 atan -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
atan0012 atan 0.0 -1e-305 -> 0.0 -1e-305
atan0013 atan -0.0 -1e-305 -> -0.0 -1e-305
atan0014 atan 0.0 -1e-150 -> 0.0 -1e-150
atan0015 atan -0.0 -1e-150 -> -0.0 -1e-150
atan0016 atan 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
atan0017 atan -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
atan0018 atan 0.0 -0.001 -> 0.0 -0.0010000003333335333
atan0019 atan -0.0 -0.001 -> -0.0 -0.0010000003333335333
atan0020 atan 0.0 -0.57899999999999996 -> 0.0 -0.6609570902866303
atan0021 atan -0.0 -0.57899999999999996 -> -0.0 -0.6609570902866303
atan0022 atan 0.0 -0.99999999999999989 -> 0.0 -18.714973875118524
atan0023 atan -0.0 -0.99999999999999989 -> -0.0 -18.714973875118524
atan0024 atan 0.0 -1.0000000000000002 -> 1.5707963267948966 -18.36840028483855
atan0025 atan -0.0 -1.0000000000000002 -> -1.5707963267948966 -18.36840028483855
atan0026 atan 0.0 -1.0009999999999999 -> 1.5707963267948966 -3.8007011672919218
atan0027 atan -0.0 -1.0009999999999999 -> -1.5707963267948966 -3.8007011672919218
atan0028 atan 0.0 -2.0 -> 1.5707963267948966 -0.54930614433405489
atan0029 atan -0.0 -2.0 -> -1.5707963267948966 -0.54930614433405489
atan0030 atan 0.0 -20.0 -> 1.5707963267948966 -0.050041729278491265
atan0031 atan -0.0 -20.0 -> -1.5707963267948966 -0.050041729278491265
atan0032 atan 0.0 -10000000000000000.0 -> 1.5707963267948966 -9.9999999999999998e-17
atan0033 atan -0.0 -10000000000000000.0 -> -1.5707963267948966 -9.9999999999999998e-17
atan0034 atan 0.0 -9.9999999999999998e+149 -> 1.5707963267948966 -1e-150
atan0035 atan -0.0 -9.9999999999999998e+149 -> -1.5707963267948966 -1e-150
atan0036 atan 0.0 -1.0000000000000001e+299 -> 1.5707963267948966 -9.9999999999999999e-300
atan0037 atan -0.0 -1.0000000000000001e+299 -> -1.5707963267948966 -9.9999999999999999e-300
atan0038 atan 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
atan0039 atan -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
atan0040 atan 0.0 1e-305 -> 0.0 1e-305
atan0041 atan -0.0 1e-305 -> -0.0 1e-305
atan0042 atan 0.0 1e-150 -> 0.0 1e-150
atan0043 atan -0.0 1e-150 -> -0.0 1e-150
atan0044 atan 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
atan0045 atan -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
atan0046 atan 0.0 0.001 -> 0.0 0.0010000003333335333
atan0047 atan -0.0 0.001 -> -0.0 0.0010000003333335333
atan0048 atan 0.0 0.57899999999999996 -> 0.0 0.6609570902866303
atan0049 atan -0.0 0.57899999999999996 -> -0.0 0.6609570902866303
atan0050 atan 0.0 0.99999999999999989 -> 0.0 18.714973875118524
atan0051 atan -0.0 0.99999999999999989 -> -0.0 18.714973875118524
atan0052 atan 0.0 1.0000000000000002 -> 1.5707963267948966 18.36840028483855
atan0053 atan -0.0 1.0000000000000002 -> -1.5707963267948966 18.36840028483855
atan0054 atan 0.0 1.0009999999999999 -> 1.5707963267948966 3.8007011672919218
atan0055 atan -0.0 1.0009999999999999 -> -1.5707963267948966 3.8007011672919218
atan0056 atan 0.0 2.0 -> 1.5707963267948966 0.54930614433405489
atan0057 atan -0.0 2.0 -> -1.5707963267948966 0.54930614433405489
atan0058 atan 0.0 20.0 -> 1.5707963267948966 0.050041729278491265
atan0059 atan -0.0 20.0 -> -1.5707963267948966 0.050041729278491265
atan0060 atan 0.0 10000000000000000.0 -> 1.5707963267948966 9.9999999999999998e-17
atan0061 atan -0.0 10000000000000000.0 -> -1.5707963267948966 9.9999999999999998e-17
atan0062 atan 0.0 9.9999999999999998e+149 -> 1.5707963267948966 1e-150
atan0063 atan -0.0 9.9999999999999998e+149 -> -1.5707963267948966 1e-150
atan0064 atan 0.0 1.0000000000000001e+299 -> 1.5707963267948966 9.9999999999999999e-300
atan0065 atan -0.0 1.0000000000000001e+299 -> -1.5707963267948966 9.9999999999999999e-300

-- random inputs
atan0100 atan -0.32538873661060214 -1.5530461550412578 -> -1.3682728427554227 -0.69451401598762041
atan0101 atan -0.45863393495197929 -4799.1747094903594 -> -1.5707963068820623 -0.00020836916050636145
atan0102 atan -8.3006999685976162 -2.6788890251790938 -> -1.4619862771810199 -0.034811669653327826
atan0103 atan -1.8836307682985314 -1.1441976638861771 -> -1.1839984370871612 -0.20630956157312796
atan0104 atan -0.00063230482407491669 -4.9312520961829485 -> -1.5707692093223147 -0.20563867743008304
atan0105 atan -0.84278137150065946 179012.37493146997 -> -1.5707963267685969 5.5862059836425272e-06
atan0106 atan -0.95487853984049287 14.311334539886177 -> -1.5661322859434561 0.069676024526232005
atan0107 atan -1.3513252539663239 6.0500727021632198e-08 -> -0.93371676315220975 2.140800269742656e-08
atan0108 atan -0.20566254458595795 0.11933771944159823 -> -0.20556463711174916 0.11493405387141732
atan0109 atan -0.58563718795408559 0.64438965423212868 -> -0.68361089300233124 0.46759762751800249
atan0110 atan 48.479267751948292 -78.386382460112543 -> 1.5650888770910523 -0.0092276811373297584
atan0111 atan 1.0575373914056061 -0.75988012377296987 -> 0.94430886722043594 -0.31915698126703118
atan0112 atan 4444810.4314677203 -0.56553404593942558 -> 1.5707961018134231 -2.8625446437701909e-14
atan0113 atan 0.010101405082520009 -0.032932668550282478 -> 0.01011202676646334 -0.032941214776834996
atan0114 atan 1.5353585300154911 -2.1947099346796519 -> 1.3400310739206394 -0.29996003607449045
atan0115 atan 0.21869457055670882 9.9915684254007093 -> 1.5685846078876444 0.1003716881759439
atan0116 atan 0.17783290150246836 0.064334689863650957 -> 0.17668728064286277 0.062435808728873846
atan0117 atan 15.757474087615918 383.57262142534 -> 1.5706894060369621 0.0026026817278826603
atan0118 atan 10.587017408533317 0.21720238081843438 -> 1.4766594681336236 0.0019199097383010061
atan0119 atan 0.86026078678781204 0.1230148609359502 -> 0.7147259322534929 0.070551221954286605

-- values near infinity
atan0200 atan 7.8764397011195798e+307 8.1647921137746308e+307 -> 1.5707963267948966 6.3439446939604493e-309
atan0201 atan 1.5873698696131487e+308 -1.0780367422960641e+308 -> 1.5707963267948966 -2.9279309368530781e-309
atan0202 atan -1.5844551864825834e+308 1.0290657809098675e+308 -> -1.5707963267948966 2.8829614736961417e-309
atan0203 atan -1.3168792562524032e+308 -9.088432341614825e+307 -> -1.5707963267948966 -3.5499373057390056e-309
atan0204 atan 0.0 1.0360465742258337e+308 -> 1.5707963267948966 9.6520757355646018e-309
atan0205 atan -0.0 1.0045063210373196e+308 -> -1.5707963267948966 9.955138947929503e-309
atan0206 atan 0.0 -9.5155296715763696e+307 -> 1.5707963267948966 -1.050913648020118e-308
atan0207 atan -0.0 -1.5565700490496501e+308 -> -1.5707963267948966 -6.4243816114189071e-309
atan0208 atan 1.2956339389525244e+308 0.0 -> 1.5707963267948966 0.0
atan0209 atan 1.4408126243772151e+308 -0.0 -> 1.5707963267948966 -0.0
atan0210 atan -1.0631786461936417e+308 0.0 -> -1.5707963267948966 0.0
atan0211 atan -1.0516056964171069e+308 -0.0 -> -1.5707963267948966 -0.0
atan0212 atan 1.236162319603838e+308 4.6827953496242936 -> 1.5707963267948966 0.0
atan0213 atan 7.000516472897218e+307 -5.8631608017844163 -> 1.5707963267948966 -0.0
atan0214 atan -1.5053444003338508e+308 5.1199197268420313 -> -1.5707963267948966 0.0
atan0215 atan -1.399172518147259e+308 -3.5687766472913673 -> -1.5707963267948966 -0.0
atan0216 atan 8.1252833070803021 6.2782953917343822e+307 -> 1.5707963267948966 1.5927890256908564e-308
atan0217 atan 2.8034285947515167 -1.3378049775753878e+308 -> 1.5707963267948966 -7.4749310756219562e-309
atan0218 atan -1.4073509988974953 1.6776381785968355e+308 -> -1.5707963267948966 5.9607608646364569e-309
atan0219 atan -2.7135551527592119 -1.281567445525738e+308 -> -1.5707963267948966 -7.8029447727565326e-309

-- imaginary part = +/-1, real part tiny
atan0300 atan -1e-150 -1.0 -> -0.78539816339744828 -173.04045556483339
atan0301 atan 1e-155 1.0 -> 0.78539816339744828 178.79691829731851
atan0302 atan 9.9999999999999999e-161 -1.0 -> 0.78539816339744828 -184.55338102980363
atan0303 atan -1e-165 1.0 -> -0.78539816339744828 190.30984376228875
atan0304 atan -9.9998886718268301e-321 -1.0 -> -0.78539816339744828 -368.76019403576692

-- Additional real values (mpmath)
atan0400 atan 1.7976931348623157e+308 0.0 -> 1.5707963267948966192 0.0
atan0401 atan -1.7976931348623157e+308 0.0 -> -1.5707963267948966192 0.0
atan0402 atan 1e-17 0.0 -> 1.0000000000000000715e-17 0.0
atan0403 atan -1e-17 0.0 -> -1.0000000000000000715e-17 0.0
atan0404 atan 0.0001 0.0 -> 0.000099999999666666673459 0.0
atan0405 atan -0.0001 0.0 -> -0.000099999999666666673459 0.0
atan0406 atan 0.999999999999999 0.0 -> 0.78539816339744781002 0.0
atan0407 atan 1.000000000000001 0.0 -> 0.78539816339744886473 0.0
atan0408 atan 14.101419947171719 0.0 -> 1.4999999999999999969 0.0
atan0409 atan 1255.7655915007897 0.0 -> 1.5700000000000000622 0.0

-- special values
atan1000 atan -0.0 0.0 -> -0.0 0.0
atan1001 atan nan 0.0 -> nan 0.0
atan1002 atan -0.0 1.0 -> -0.0 inf divide-by-zero
atan1003 atan -inf 0.0 -> -1.5707963267948966 0.0
atan1004 atan -inf 2.2999999999999998 -> -1.5707963267948966 0.0
atan1005 atan nan 2.2999999999999998 -> nan nan
atan1006 atan -0.0 inf -> -1.5707963267948966 0.0
atan1007 atan -2.2999999999999998 inf -> -1.5707963267948966 0.0
atan1008 atan -inf inf -> -1.5707963267948966 0.0
atan1009 atan nan inf -> nan 0.0
atan1010 atan -0.0 nan -> nan nan
atan1011 atan -2.2999999999999998 nan -> nan nan
atan1012 atan -inf nan -> -1.5707963267948966 0.0 ignore-imag-sign
atan1013 atan nan nan -> nan nan
atan1014 atan 0.0 0.0 -> 0.0 0.0
atan1015 atan 0.0 1.0 -> 0.0 inf divide-by-zero
atan1016 atan inf 0.0 -> 1.5707963267948966 0.0
atan1017 atan inf 2.2999999999999998 -> 1.5707963267948966 0.0
atan1018 atan 0.0 inf -> 1.5707963267948966 0.0
atan1019 atan 2.2999999999999998 inf -> 1.5707963267948966 0.0
atan1020 atan inf inf -> 1.5707963267948966 0.0
atan1021 atan 0.0 nan -> nan nan
atan1022 atan 2.2999999999999998 nan -> nan nan
atan1023 atan inf nan -> 1.5707963267948966 0.0 ignore-imag-sign
atan1024 atan 0.0 -0.0 -> 0.0 -0.0
atan1025 atan nan -0.0 -> nan -0.0
atan1026 atan 0.0 -1.0 -> 0.0 -inf divide-by-zero
atan1027 atan inf -0.0 -> 1.5707963267948966 -0.0
atan1028 atan inf -2.2999999999999998 -> 1.5707963267948966 -0.0
atan1029 atan nan -2.2999999999999998 -> nan nan
atan1030 atan 0.0 -inf -> 1.5707963267948966 -0.0
atan1031 atan 2.2999999999999998 -inf -> 1.5707963267948966 -0.0
atan1032 atan inf -inf -> 1.5707963267948966 -0.0
atan1033 atan nan -inf -> nan -0.0
atan1034 atan -0.0 -0.0 -> -0.0 -0.0
atan1035 atan -0.0 -1.0 -> -0.0 -inf divide-by-zero
atan1036 atan -inf -0.0 -> -1.5707963267948966 -0.0
atan1037 atan -inf -2.2999999999999998 -> -1.5707963267948966 -0.0
atan1038 atan -0.0 -inf -> -1.5707963267948966 -0.0
atan1039 atan -2.2999999999999998 -inf -> -1.5707963267948966 -0.0
atan1040 atan -inf -inf -> -1.5707963267948966 -0.0


---------------------------------------
-- atanh: Inverse hyperbolic tangent --
---------------------------------------

-- zeros
-- These are tested in testAtanhSign in test_cmath.py
-- atanh0000 atanh 0.0 0.0 -> 0.0 0.0
-- atanh0001 atanh 0.0 -0.0 -> 0.0 -0.0
-- atanh0002 atanh -0.0 0.0 -> -0.0 0.0
-- atanh0003 atanh -0.0 -0.0 -> -0.0 -0.0

-- values along both sides of real axis
atanh0010 atanh -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
atanh0011 atanh -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
atanh0012 atanh -1e-305 0.0 -> -1e-305 0.0
atanh0013 atanh -1e-305 -0.0 -> -1e-305 -0.0
atanh0014 atanh -1e-150 0.0 -> -1e-150 0.0
atanh0015 atanh -1e-150 -0.0 -> -1e-150 -0.0
atanh0016 atanh -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
atanh0017 atanh -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
atanh0018 atanh -0.001 0.0 -> -0.0010000003333335333 0.0
atanh0019 atanh -0.001 -0.0 -> -0.0010000003333335333 -0.0
atanh0020 atanh -0.57899999999999996 0.0 -> -0.6609570902866303 0.0
atanh0021 atanh -0.57899999999999996 -0.0 -> -0.6609570902866303 -0.0
atanh0022 atanh -0.99999999999999989 0.0 -> -18.714973875118524 0.0
atanh0023 atanh -0.99999999999999989 -0.0 -> -18.714973875118524 -0.0
atanh0024 atanh -1.0000000000000002 0.0 -> -18.36840028483855 1.5707963267948966
atanh0025 atanh -1.0000000000000002 -0.0 -> -18.36840028483855 -1.5707963267948966
atanh0026 atanh -1.0009999999999999 0.0 -> -3.8007011672919218 1.5707963267948966
atanh0027 atanh -1.0009999999999999 -0.0 -> -3.8007011672919218 -1.5707963267948966
atanh0028 atanh -2.0 0.0 -> -0.54930614433405489 1.5707963267948966
atanh0029 atanh -2.0 -0.0 -> -0.54930614433405489 -1.5707963267948966
atanh0030 atanh -23.0 0.0 -> -0.043505688494814884 1.5707963267948966
atanh0031 atanh -23.0 -0.0 -> -0.043505688494814884 -1.5707963267948966
atanh0032 atanh -10000000000000000.0 0.0 -> -9.9999999999999998e-17 1.5707963267948966
atanh0033 atanh -10000000000000000.0 -0.0 -> -9.9999999999999998e-17 -1.5707963267948966
atanh0034 atanh -9.9999999999999998e+149 0.0 -> -1e-150 1.5707963267948966
atanh0035 atanh -9.9999999999999998e+149 -0.0 -> -1e-150 -1.5707963267948966
atanh0036 atanh -1.0000000000000001e+299 0.0 -> -9.9999999999999999e-300 1.5707963267948966
atanh0037 atanh -1.0000000000000001e+299 -0.0 -> -9.9999999999999999e-300 -1.5707963267948966
atanh0038 atanh 9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
atanh0039 atanh 9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
atanh0040 atanh 1e-305 0.0 -> 1e-305 0.0
atanh0041 atanh 1e-305 -0.0 -> 1e-305 -0.0
atanh0042 atanh 1e-150 0.0 -> 1e-150 0.0
atanh0043 atanh 1e-150 -0.0 -> 1e-150 -0.0
atanh0044 atanh 9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
atanh0045 atanh 9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
atanh0046 atanh 0.001 0.0 -> 0.0010000003333335333 0.0
atanh0047 atanh 0.001 -0.0 -> 0.0010000003333335333 -0.0
atanh0048 atanh 0.57899999999999996 0.0 -> 0.6609570902866303 0.0
atanh0049 atanh 0.57899999999999996 -0.0 -> 0.6609570902866303 -0.0
atanh0050 atanh 0.99999999999999989 0.0 -> 18.714973875118524 0.0
atanh0051 atanh 0.99999999999999989 -0.0 -> 18.714973875118524 -0.0
atanh0052 atanh 1.0000000000000002 0.0 -> 18.36840028483855 1.5707963267948966
atanh0053 atanh 1.0000000000000002 -0.0 -> 18.36840028483855 -1.5707963267948966
atanh0054 atanh 1.0009999999999999 0.0 -> 3.8007011672919218 1.5707963267948966
atanh0055 atanh 1.0009999999999999 -0.0 -> 3.8007011672919218 -1.5707963267948966
atanh0056 atanh 2.0 0.0 -> 0.54930614433405489 1.5707963267948966
atanh0057 atanh 2.0 -0.0 -> 0.54930614433405489 -1.5707963267948966
atanh0058 atanh 23.0 0.0 -> 0.043505688494814884 1.5707963267948966
atanh0059 atanh 23.0 -0.0 -> 0.043505688494814884 -1.5707963267948966
atanh0060 atanh 10000000000000000.0 0.0 -> 9.9999999999999998e-17 1.5707963267948966
atanh0061 atanh 10000000000000000.0 -0.0 -> 9.9999999999999998e-17 -1.5707963267948966
atanh0062 atanh 9.9999999999999998e+149 0.0 -> 1e-150 1.5707963267948966
atanh0063 atanh 9.9999999999999998e+149 -0.0 -> 1e-150 -1.5707963267948966
atanh0064 atanh 1.0000000000000001e+299 0.0 -> 9.9999999999999999e-300 1.5707963267948966
atanh0065 atanh 1.0000000000000001e+299 -0.0 -> 9.9999999999999999e-300 -1.5707963267948966

-- random inputs
atanh0100 atanh -0.54460925980633501 -0.54038050126721027 -> -0.41984265808446974 -0.60354153938352828
atanh0101 atanh -1.6934614269829051 -0.48807386108113621 -> -0.58592769102243281 -1.3537837470975898
atanh0102 atanh -1.3467293985501207 -0.47868354895395876 -> -0.69961624370709985 -1.1994450156570076
atanh0103 atanh -5.6142232418984888 -544551613.39307702 -> -1.8932657550925744e-17 -1.5707963249585235
atanh0104 atanh -0.011841460381263651 -3.259978899823385 -> -0.0010183936547405188 -1.2731614020743838
atanh0105 atanh -0.0073345736950029532 0.35821949670922248 -> -0.0065004869024682466 0.34399359971920895
atanh0106 atanh -13.866782244320014 0.9541129545860273 -> -0.071896852055058899 1.5658322704631409
atanh0107 atanh -708.59964982780775 21.984802159266675 -> -0.0014098779074189741 1.5707525842838959
atanh0108 atanh -30.916832076030602 1.3691897138829843 -> -0.032292682045743676 1.5693652094847115
atanh0109 atanh -0.57461806339861754 0.29534797443913063 -> -0.56467464472482765 0.39615612824172625
atanh0110 atanh 0.40089246737415685 -1.632285984300659 -> 0.1063832707890608 -1.0402821335326482
atanh0111 atanh 2119.6167688262176 -1.5383653437377242e+17 -> 8.9565008518382049e-32 -1.5707963267948966
atanh0112 atanh 756.86017850941641 -6.6064087133223817 -> 0.0013211481136820046 -1.5707847948702234
atanh0113 atanh 4.0490617718041602 -2.5784456791040652e-12 -> 0.25218425538553618 -1.5707963267947291
atanh0114 atanh 10.589254957173523 -0.13956391149624509 -> 0.094700890282197664 -1.5695407140217623
atanh0115 atanh 1.0171187553160499 0.70766113465354019 -> 0.55260251975367791 0.96619711116641682
atanh0116 atanh 0.031645502527750849 0.067319983726544394 -> 0.031513018344086742 0.067285437670549036
atanh0117 atanh 0.13670177624994517 0.43240089361857947 -> 0.11538933151017253 0.41392008145336212
atanh0118 atanh 0.64173899243596688 2.9008577686695256 -> 0.065680142424134405 1.2518535724053921
atanh0119 atanh 0.19313813528025942 38.799619150741869 -> 0.00012820765917366644 1.5450292202823612

-- values near infinity
atanh0200 atanh 5.3242646831347954e+307 1.3740396080084153e+308 -> 2.4519253616695576e-309 1.5707963267948966
atanh0201 atanh 1.158701641241358e+308 -6.5579268873375853e+307 -> 6.5365375267795098e-309 -1.5707963267948966
atanh0202 atanh -1.3435325735762247e+308 9.8947369259601547e+307 -> -4.8256680906589956e-309 1.5707963267948966
atanh0203 atanh -1.4359857522598942e+308 -9.4701204702391004e+307 -> -4.8531282262872645e-309 -1.5707963267948966
atanh0204 atanh 0.0 5.6614181068098497e+307 -> 0.0 1.5707963267948966
atanh0205 atanh -0.0 6.9813212721450139e+307 -> -0.0 1.5707963267948966
atanh0206 atanh 0.0 -7.4970613060311453e+307 -> 0.0 -1.5707963267948966
atanh0207 atanh -0.0 -1.5280601880314068e+308 -> -0.0 -1.5707963267948966
atanh0208 atanh 8.2219472336000745e+307 0.0 -> 1.2162568933954813e-308 1.5707963267948966
atanh0209 atanh 1.4811519617280899e+308 -0.0 -> 6.7515017083951325e-309 -1.5707963267948966
atanh0210 atanh -1.2282016263598785e+308 0.0 -> -8.1419856360537615e-309 1.5707963267948966
atanh0211 atanh -1.0616427760154426e+308 -0.0 -> -9.4193642399489563e-309 -1.5707963267948966
atanh0212 atanh 1.2971536510180682e+308 5.2847948452333293 -> 7.7091869510998328e-309 1.5707963267948966
atanh0213 atanh 1.1849860977411851e+308 -7.9781906447459949 -> 8.4389175696339014e-309 -1.5707963267948966
atanh0214 atanh -1.4029969422586635e+308 0.93891986543663375 -> -7.127599283218073e-309 1.5707963267948966
atanh0215 atanh -4.7508098912248211e+307 -8.2702421247039908 -> -2.1049042645278043e-308 -1.5707963267948966
atanh0216 atanh 8.2680742115769998 8.1153898410918065e+307 -> 0.0 1.5707963267948966
atanh0217 atanh 1.2575325146218885 -1.4746679147661649e+308 -> 0.0 -1.5707963267948966
atanh0218 atanh -2.4618803682310899 1.3781522717005568e+308 -> -0.0 1.5707963267948966
atanh0219 atanh -4.0952386694788112 -1.231083376353703e+308 -> -0.0 -1.5707963267948966

-- values near 0
atanh0220 atanh 3.8017563659811628e-314 2.6635484239074319e-312 -> 3.8017563659811628e-314 2.6635484239074319e-312
atanh0221 atanh 1.7391110733611878e-321 -4.3547800672541419e-313 -> 1.7391110733611878e-321 -4.3547800672541419e-313
atanh0222 atanh -5.9656816081325078e-317 9.9692253555416263e-313 -> -5.9656816081325078e-317 9.9692253555416263e-313
atanh0223 atanh -6.5606671178400239e-313 -2.1680936406357335e-309 -> -6.5606671178400239e-313 -2.1680936406357335e-309
atanh0224 atanh 0.0 2.5230944401820779e-319 -> 0.0 2.5230944401820779e-319
atanh0225 atanh -0.0 5.6066569490064658e-320 -> -0.0 5.6066569490064658e-320
atanh0226 atanh 0.0 -2.4222487249468377e-317 -> 0.0 -2.4222487249468377e-317
atanh0227 atanh -0.0 -3.0861101089206037e-316 -> -0.0 -3.0861101089206037e-316
atanh0228 atanh 3.1219222884393986e-310 0.0 -> 3.1219222884393986e-310 0.0
atanh0229 atanh 9.8926337564976196e-309 -0.0 -> 9.8926337564976196e-309 -0.0
atanh0230 atanh -1.5462535092918154e-312 0.0 -> -1.5462535092918154e-312 0.0
atanh0231 atanh -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0

-- real part = +/-1, imaginary part tiny
atanh0300 atanh 1.0 1e-153 -> 176.49433320432448 0.78539816339744828
atanh0301 atanh 1.0 9.9999999999999997e-155 -> 177.64562575082149 0.78539816339744828
atanh0302 atanh -1.0 1e-161 -> -185.70467357630065 0.78539816339744828
atanh0303 atanh 1.0 -1e-165 -> 190.30984376228875 -0.78539816339744828
atanh0304 atanh -1.0 -9.8813129168249309e-324 -> -372.22003596069061 -0.78539816339744828

-- special values
atanh1000 atanh 0.0 0.0 -> 0.0 0.0
atanh1001 atanh 0.0 nan -> 0.0 nan
atanh1002 atanh 1.0 0.0 -> inf 0.0                      divide-by-zero
atanh1003 atanh 0.0 inf -> 0.0 1.5707963267948966
atanh1004 atanh 2.3 inf -> 0.0 1.5707963267948966
atanh1005 atanh 2.3 nan -> nan nan
atanh1006 atanh inf 0.0 -> 0.0 1.5707963267948966
atanh1007 atanh inf 2.3 -> 0.0 1.5707963267948966
atanh1008 atanh inf inf -> 0.0 1.5707963267948966
atanh1009 atanh inf nan -> 0.0 nan
atanh1010 atanh nan 0.0 -> nan nan
atanh1011 atanh nan 2.3 -> nan nan
atanh1012 atanh nan inf -> 0.0 1.5707963267948966       ignore-real-sign
atanh1013 atanh nan nan -> nan nan
atanh1014 atanh 0.0 -0.0 -> 0.0 -0.0
atanh1015 atanh 1.0 -0.0 -> inf -0.0                    divide-by-zero
atanh1016 atanh 0.0 -inf -> 0.0 -1.5707963267948966
atanh1017 atanh 2.3 -inf -> 0.0 -1.5707963267948966
atanh1018 atanh inf -0.0 -> 0.0 -1.5707963267948966
atanh1019 atanh inf -2.3 -> 0.0 -1.5707963267948966
atanh1020 atanh inf -inf -> 0.0 -1.5707963267948966
atanh1021 atanh nan -0.0 -> nan nan
atanh1022 atanh nan -2.3 -> nan nan
atanh1023 atanh nan -inf -> 0.0 -1.5707963267948966     ignore-real-sign
atanh1024 atanh -0.0 -0.0 -> -0.0 -0.0
atanh1025 atanh -0.0 nan -> -0.0 nan
atanh1026 atanh -1.0 -0.0 -> -inf -0.0                  divide-by-zero
atanh1027 atanh -0.0 -inf -> -0.0 -1.5707963267948966
atanh1028 atanh -2.3 -inf -> -0.0 -1.5707963267948966
atanh1029 atanh -2.3 nan -> nan nan
atanh1030 atanh -inf -0.0 -> -0.0 -1.5707963267948966
atanh1031 atanh -inf -2.3 -> -0.0 -1.5707963267948966
atanh1032 atanh -inf -inf -> -0.0 -1.5707963267948966
atanh1033 atanh -inf nan -> -0.0 nan
atanh1034 atanh -0.0 0.0 -> -0.0 0.0
atanh1035 atanh -1.0 0.0 -> -inf 0.0                    divide-by-zero
atanh1036 atanh -0.0 inf -> -0.0 1.5707963267948966
atanh1037 atanh -2.3 inf -> -0.0 1.5707963267948966
atanh1038 atanh -inf 0.0 -> -0.0 1.5707963267948966
atanh1039 atanh -inf 2.3 -> -0.0 1.5707963267948966
atanh1040 atanh -inf inf -> -0.0 1.5707963267948966


----------------------------
-- log: Natural logarithm --
----------------------------

log0000 log 1.0 0.0 -> 0.0 0.0
log0001 log 1.0 -0.0 -> 0.0 -0.0
log0002 log -1.0 0.0 -> 0.0 3.1415926535897931
log0003 log -1.0 -0.0 -> 0.0 -3.1415926535897931
-- values along both sides of real axis
log0010 log -9.8813129168249309e-324 0.0 -> -743.74692474082133 3.1415926535897931
log0011 log -9.8813129168249309e-324 -0.0 -> -743.74692474082133 -3.1415926535897931
log0012 log -1e-305 0.0 -> -702.28845336318398 3.1415926535897931
log0013 log -1e-305 -0.0 -> -702.28845336318398 -3.1415926535897931
log0014 log -1e-150 0.0 -> -345.38776394910684 3.1415926535897931
log0015 log -1e-150 -0.0 -> -345.38776394910684 -3.1415926535897931
log0016 log -9.9999999999999998e-17 0.0 -> -36.841361487904734 3.1415926535897931
log0017 log -9.9999999999999998e-17 -0.0 -> -36.841361487904734 -3.1415926535897931
log0018 log -0.001 0.0 -> -6.9077552789821368 3.1415926535897931
log0019 log -0.001 -0.0 -> -6.9077552789821368 -3.1415926535897931
log0020 log -0.57899999999999996 0.0 -> -0.54645280140914188 3.1415926535897931
log0021 log -0.57899999999999996 -0.0 -> -0.54645280140914188 -3.1415926535897931
log0022 log -0.99999999999999989 0.0 -> -1.1102230246251565e-16 3.1415926535897931
log0023 log -0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -3.1415926535897931
log0024 log -1.0000000000000002 0.0 -> 2.2204460492503128e-16 3.1415926535897931
log0025 log -1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -3.1415926535897931
log0026 log -1.0009999999999999 0.0 -> 0.00099950033308342321 3.1415926535897931
log0027 log -1.0009999999999999 -0.0 -> 0.00099950033308342321 -3.1415926535897931
log0028 log -2.0 0.0 -> 0.69314718055994529 3.1415926535897931
log0029 log -2.0 -0.0 -> 0.69314718055994529 -3.1415926535897931
log0030 log -23.0 0.0 -> 3.1354942159291497 3.1415926535897931
log0031 log -23.0 -0.0 -> 3.1354942159291497 -3.1415926535897931
log0032 log -10000000000000000.0 0.0 -> 36.841361487904734 3.1415926535897931
log0033 log -10000000000000000.0 -0.0 -> 36.841361487904734 -3.1415926535897931
log0034 log -9.9999999999999998e+149 0.0 -> 345.38776394910684 3.1415926535897931
log0035 log -9.9999999999999998e+149 -0.0 -> 345.38776394910684 -3.1415926535897931
log0036 log -1.0000000000000001e+299 0.0 -> 688.47294280521965 3.1415926535897931
log0037 log -1.0000000000000001e+299 -0.0 -> 688.47294280521965 -3.1415926535897931
log0038 log 9.8813129168249309e-324 0.0 -> -743.74692474082133 0.0
log0039 log 9.8813129168249309e-324 -0.0 -> -743.74692474082133 -0.0
log0040 log 1e-305 0.0 -> -702.28845336318398 0.0
log0041 log 1e-305 -0.0 -> -702.28845336318398 -0.0
log0042 log 1e-150 0.0 -> -345.38776394910684 0.0
log0043 log 1e-150 -0.0 -> -345.38776394910684 -0.0
log0044 log 9.9999999999999998e-17 0.0 -> -36.841361487904734 0.0
log0045 log 9.9999999999999998e-17 -0.0 -> -36.841361487904734 -0.0
log0046 log 0.001 0.0 -> -6.9077552789821368 0.0
log0047 log 0.001 -0.0 -> -6.9077552789821368 -0.0
log0048 log 0.57899999999999996 0.0 -> -0.54645280140914188 0.0
log0049 log 0.57899999999999996 -0.0 -> -0.54645280140914188 -0.0
log0050 log 0.99999999999999989 0.0 -> -1.1102230246251565e-16 0.0
log0051 log 0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -0.0
log0052 log 1.0000000000000002 0.0 -> 2.2204460492503128e-16 0.0
log0053 log 1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -0.0
log0054 log 1.0009999999999999 0.0 -> 0.00099950033308342321 0.0
log0055 log 1.0009999999999999 -0.0 -> 0.00099950033308342321 -0.0
log0056 log 2.0 0.0 -> 0.69314718055994529 0.0
log0057 log 2.0 -0.0 -> 0.69314718055994529 -0.0
log0058 log 23.0 0.0 -> 3.1354942159291497 0.0
log0059 log 23.0 -0.0 -> 3.1354942159291497 -0.0
log0060 log 10000000000000000.0 0.0 -> 36.841361487904734 0.0
log0061 log 10000000000000000.0 -0.0 -> 36.841361487904734 -0.0
log0062 log 9.9999999999999998e+149 0.0 -> 345.38776394910684 0.0
log0063 log 9.9999999999999998e+149 -0.0 -> 345.38776394910684 -0.0
log0064 log 1.0000000000000001e+299 0.0 -> 688.47294280521965 0.0
log0065 log 1.0000000000000001e+299 -0.0 -> 688.47294280521965 -0.0

-- random inputs
log0066 log -1.9830454945186191e-16 -2.0334448025673346 -> 0.70973130194329803 -1.5707963267948968
log0067 log -0.96745853024741857 -0.84995816228299692 -> 0.25292811398722387 -2.4207570438536905
log0068 log -0.1603644313948418 -0.2929942111041835 -> -1.0965857872427374 -2.0715870859971419
log0069 log -0.15917913168438699 -0.25238799251132177 -> -1.2093477313249901 -2.1334784232033863
log0070 log -0.68907818535078802 -3.0693105853476346 -> 1.1460398629184565 -1.7916403813913211
log0071 log -17.268133447565589 6.8165120014604756 -> 2.9212694465974836 2.7656245081603164
log0072 log -1.7153894479690328 26.434055372802636 -> 3.2767542953718003 1.6355986276341734
log0073 log -8.0456794648936578e-06 0.19722758057570208 -> -1.6233969848296075 1.5708371206810101
log0074 log -2.4306442691323173 0.6846919750700996 -> 0.92633592001969589 2.8670160576718331
log0075 log -3.5488049250888194 0.45324040643185254 -> 1.2747008374256426 3.0145640007885111
log0076 log 0.18418516851510189 -0.26062518836212617 -> -1.1421287121940344 -0.95558440841183434
log0077 log 2.7124837795638399 -13.148769067133387 -> 2.5971659975706802 -1.3673583045209439
log0078 log 3.6521275476169149e-13 -3.7820543023170673e-05 -> -10.182658136741569 -1.5707963171384316
log0079 log 5.0877545813862239 -1.2834978326786852 -> 1.6576856213076328 -0.24711583497738485
log0080 log 0.26477986808461512 -0.67659001194187429 -> -0.31944085207999973 -1.197773671987121
log0081 log 0.0014754261398071962 5.3514691608205442 -> 1.6773711707153829 1.5705206219261802
log0082 log 0.29667334462157885 0.00020056045042584795 -> -1.2151233667079588 0.00067603114168689204
log0083 log 0.82104233671099425 3.9005387130133102 -> 1.3827918965299593 1.3633304701848363
log0084 log 0.27268135358180667 124.42088110945804 -> 4.8236724223559229 1.5686047258789015
log0085 log 0.0026286959168267485 0.47795808180573013 -> -0.73821712137809126 1.5652965360960087

-- values near infinity
log0100 log 1.0512025744003172e+308 7.2621669750664611e+307 -> 709.44123967814494 0.60455434048332968
log0101 log 5.5344249034372126e+307 -1.2155859158431275e+308 -> 709.48562300345679 -1.143553056717973
log0102 log -1.3155575403469408e+308 1.1610793541663864e+308 -> 709.75847809546428 2.41848796504974
log0103 log -1.632366720973235e+308 -1.54299446211448e+308 -> 710.00545236515586 -2.3843326028455087
log0104 log 0.0 5.9449276692327712e+307 -> 708.67616191258526 1.5707963267948966
log0105 log -0.0 1.1201850459025692e+308 -> 709.30970253338171 1.5707963267948966
log0106 log 0.0 -1.6214225933466528e+308 -> 709.6795125501086 -1.5707963267948966
log0107 log -0.0 -1.7453269791591058e+308 -> 709.75315056087379 -1.5707963267948966
log0108 log 1.440860577601428e+308 0.0 -> 709.56144920058262 0.0
log0109 log 1.391515176148282e+308 -0.0 -> 709.52660185041327 -0.0
log0110 log -1.201354401295296e+308 0.0 -> 709.37965823023956 3.1415926535897931
log0111 log -1.6704337825976804e+308 -0.0 -> 709.70929198492399 -3.1415926535897931
log0112 log 7.2276974655190223e+307 7.94879711369164 -> 708.87154406512104 1.0997689307850458e-307
log0113 log 1.1207859593716076e+308 -6.1956200868221147 -> 709.31023883080104 -5.5279244310803286e-308
log0114 log -4.6678933874471045e+307 9.947107893220382 -> 708.43433142431388 3.1415926535897931
log0115 log -1.5108012453950142e+308 -5.3117197179375619 -> 709.60884877835008 -3.1415926535897931
log0116 log 7.4903750871504435 1.5320703776626352e+308 -> 709.62282865085137 1.5707963267948966
log0117 log 5.9760325525654778 -8.0149473997349123e+307 -> 708.97493177248396 -1.5707963267948966
log0118 log -7.880194206386629 1.7861845814767441e+308 -> 709.77629046837137 1.5707963267948966
log0119 log -9.886438993852865 -6.19235781080747e+307 -> 708.71693946977302 -1.5707963267948966

-- values near 0
log0120 log 2.2996867579227779e-308 6.7861840770939125e-312 -> -708.36343567717392 0.00029509166223339815
log0121 log 6.9169190417774516e-323 -9.0414013188948118e-322 -> -739.22766796468386 -1.4944423210001669
log0122 log -1.5378064962914011e-316 1.8243628389354635e-310 -> -713.20014803142965 1.5707971697228842
log0123 log -2.3319898483706837e-321 -2.2358763941866371e-313 -> -719.9045008332522 -1.570796337224766
log0124 log 0.0 3.872770101081121e-315 -> -723.96033425374401 1.5707963267948966
log0125 log -0.0 9.6342800939043076e-322 -> -739.16707236281752 1.5707963267948966
log0126 log 0.0 -2.266099393427834e-308 -> -708.37814861757965 -1.5707963267948966
log0127 log -0.0 -2.1184695673766626e-315 -> -724.56361036731812 -1.5707963267948966
log0128 log 1.1363509854348671e-322 0.0 -> -741.30457770545206 0.0
log0129 log 3.5572726500569751e-322 -0.0 -> -740.16340580236522 -0.0
log0130 log -2.3696071074040593e-310 0.0 -> -712.93865466421641 3.1415926535897931
log0131 log -2.813283897266934e-317 -0.0 -> -728.88512203138862 -3.1415926535897931

-- values near the unit circle
log0200 log -0.59999999999999998 0.80000000000000004 -> 2.2204460492503132e-17 2.2142974355881808
log0201 log 0.79999999999999993 0.60000000000000009 -> 6.1629758220391547e-33 0.64350110879328448

-- special values
log1000 log -0.0 0.0 -> -inf 3.1415926535897931         divide-by-zero
log1001 log 0.0 0.0 -> -inf 0.0                         divide-by-zero
log1002 log 0.0 inf -> inf 1.5707963267948966
log1003 log 2.3 inf -> inf 1.5707963267948966
log1004 log -0.0 inf -> inf 1.5707963267948966
log1005 log -2.3 inf -> inf 1.5707963267948966
log1006 log 0.0 nan -> nan nan
log1007 log 2.3 nan -> nan nan
log1008 log -0.0 nan -> nan nan
log1009 log -2.3 nan -> nan nan
log1010 log -inf 0.0 -> inf 3.1415926535897931
log1011 log -inf 2.3 -> inf 3.1415926535897931
log1012 log inf 0.0 -> inf 0.0
log1013 log inf 2.3 -> inf 0.0
log1014 log -inf inf -> inf 2.3561944901923448
log1015 log inf inf -> inf 0.78539816339744828
log1016 log inf nan -> inf nan
log1017 log -inf nan -> inf nan
log1018 log nan 0.0 -> nan nan
log1019 log nan 2.3 -> nan nan
log1020 log nan inf -> inf nan
log1021 log nan nan -> nan nan
log1022 log -0.0 -0.0 -> -inf -3.1415926535897931       divide-by-zero
log1023 log 0.0 -0.0 -> -inf -0.0                       divide-by-zero
log1024 log 0.0 -inf -> inf -1.5707963267948966
log1025 log 2.3 -inf -> inf -1.5707963267948966
log1026 log -0.0 -inf -> inf -1.5707963267948966
log1027 log -2.3 -inf -> inf -1.5707963267948966
log1028 log -inf -0.0 -> inf -3.1415926535897931
log1029 log -inf -2.3 -> inf -3.1415926535897931
log1030 log inf -0.0 -> inf -0.0
log1031 log inf -2.3 -> inf -0.0
log1032 log -inf -inf -> inf -2.3561944901923448
log1033 log inf -inf -> inf -0.78539816339744828
log1034 log nan -0.0 -> nan nan
log1035 log nan -2.3 -> nan nan
log1036 log nan -inf -> inf nan


------------------------------
-- log10: Logarithm base 10 --
------------------------------

logt0000 log10 1.0 0.0 -> 0.0 0.0
logt0001 log10 1.0 -0.0 -> 0.0 -0.0
logt0002 log10 -1.0 0.0 -> 0.0 1.3643763538418414
logt0003 log10 -1.0 -0.0 -> 0.0 -1.3643763538418414
-- values along both sides of real axis
logt0010 log10 -9.8813129168249309e-324 0.0 -> -323.0051853474518 1.3643763538418414
logt0011 log10 -9.8813129168249309e-324 -0.0 -> -323.0051853474518 -1.3643763538418414
logt0012 log10 -1e-305 0.0 -> -305.0 1.3643763538418414
logt0013 log10 -1e-305 -0.0 -> -305.0 -1.3643763538418414
logt0014 log10 -1e-150 0.0 -> -150.0 1.3643763538418414
logt0015 log10 -1e-150 -0.0 -> -150.0 -1.3643763538418414
logt0016 log10 -9.9999999999999998e-17 0.0 -> -16.0 1.3643763538418414
logt0017 log10 -9.9999999999999998e-17 -0.0 -> -16.0 -1.3643763538418414
logt0018 log10 -0.001 0.0 -> -3.0 1.3643763538418414
logt0019 log10 -0.001 -0.0 -> -3.0 -1.3643763538418414
logt0020 log10 -0.57899999999999996 0.0 -> -0.23732143627256383 1.3643763538418414
logt0021 log10 -0.57899999999999996 -0.0 -> -0.23732143627256383 -1.3643763538418414
logt0022 log10 -0.99999999999999989 0.0 -> -4.821637332766436e-17 1.3643763538418414
logt0023 log10 -0.99999999999999989 -0.0 -> -4.821637332766436e-17 -1.3643763538418414
logt0024 log10 -1.0000000000000002 0.0 -> 9.6432746655328696e-17 1.3643763538418414
logt0025 log10 -1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -1.3643763538418414
logt0026 log10 -1.0009999999999999 0.0 -> 0.0004340774793185929 1.3643763538418414
logt0027 log10 -1.0009999999999999 -0.0 -> 0.0004340774793185929 -1.3643763538418414
logt0028 log10 -2.0 0.0 -> 0.3010299956639812 1.3643763538418414
logt0029 log10 -2.0 -0.0 -> 0.3010299956639812 -1.3643763538418414
logt0030 log10 -23.0 0.0 -> 1.3617278360175928 1.3643763538418414
logt0031 log10 -23.0 -0.0 -> 1.3617278360175928 -1.3643763538418414
logt0032 log10 -10000000000000000.0 0.0 -> 16.0 1.3643763538418414
logt0033 log10 -10000000000000000.0 -0.0 -> 16.0 -1.3643763538418414
logt0034 log10 -9.9999999999999998e+149 0.0 -> 150.0 1.3643763538418414
logt0035 log10 -9.9999999999999998e+149 -0.0 -> 150.0 -1.3643763538418414
logt0036 log10 -1.0000000000000001e+299 0.0 -> 299.0 1.3643763538418414
logt0037 log10 -1.0000000000000001e+299 -0.0 -> 299.0 -1.3643763538418414
logt0038 log10 9.8813129168249309e-324 0.0 -> -323.0051853474518 0.0
logt0039 log10 9.8813129168249309e-324 -0.0 -> -323.0051853474518 -0.0
logt0040 log10 1e-305 0.0 -> -305.0 0.0
logt0041 log10 1e-305 -0.0 -> -305.0 -0.0
logt0042 log10 1e-150 0.0 -> -150.0 0.0
logt0043 log10 1e-150 -0.0 -> -150.0 -0.0
logt0044 log10 9.9999999999999998e-17 0.0 -> -16.0 0.0
logt0045 log10 9.9999999999999998e-17 -0.0 -> -16.0 -0.0
logt0046 log10 0.001 0.0 -> -3.0 0.0
logt0047 log10 0.001 -0.0 -> -3.0 -0.0
logt0048 log10 0.57899999999999996 0.0 -> -0.23732143627256383 0.0
logt0049 log10 0.57899999999999996 -0.0 -> -0.23732143627256383 -0.0
logt0050 log10 0.99999999999999989 0.0 -> -4.821637332766436e-17 0.0
logt0051 log10 0.99999999999999989 -0.0 -> -4.821637332766436e-17 -0.0
logt0052 log10 1.0000000000000002 0.0 -> 9.6432746655328696e-17 0.0
logt0053 log10 1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -0.0
logt0054 log10 1.0009999999999999 0.0 -> 0.0004340774793185929 0.0
logt0055 log10 1.0009999999999999 -0.0 -> 0.0004340774793185929 -0.0
logt0056 log10 2.0 0.0 -> 0.3010299956639812 0.0
logt0057 log10 2.0 -0.0 -> 0.3010299956639812 -0.0
logt0058 log10 23.0 0.0 -> 1.3617278360175928 0.0
logt0059 log10 23.0 -0.0 -> 1.3617278360175928 -0.0
logt0060 log10 10000000000000000.0 0.0 -> 16.0 0.0
logt0061 log10 10000000000000000.0 -0.0 -> 16.0 -0.0
logt0062 log10 9.9999999999999998e+149 0.0 -> 150.0 0.0
logt0063 log10 9.9999999999999998e+149 -0.0 -> 150.0 -0.0
logt0064 log10 1.0000000000000001e+299 0.0 -> 299.0 0.0
logt0065 log10 1.0000000000000001e+299 -0.0 -> 299.0 -0.0

-- random inputs
logt0066 log10 -1.9830454945186191e-16 -2.0334448025673346 -> 0.30823238806798503 -0.68218817692092071
logt0067 log10 -0.96745853024741857 -0.84995816228299692 -> 0.10984528422284802 -1.051321426174086
logt0068 log10 -0.1603644313948418 -0.2929942111041835 -> -0.47624115633305419 -0.89967884023059597
logt0069 log10 -0.15917913168438699 -0.25238799251132177 -> -0.52521304641665956 -0.92655790645688119
logt0070 log10 -0.68907818535078802 -3.0693105853476346 -> 0.4977187885066448 -0.77809953119328823
logt0071 log10 -17.268133447565589 6.8165120014604756 -> 1.2686912008098534 1.2010954629104202
logt0072 log10 -1.7153894479690328 26.434055372802636 -> 1.423076309032751 0.71033145859005309
logt0073 log10 -8.0456794648936578e-06 0.19722758057570208 -> -0.70503235244987561 0.68220589348055516
logt0074 log10 -2.4306442691323173 0.6846919750700996 -> 0.40230257845332595 1.2451292533748923
logt0075 log10 -3.5488049250888194 0.45324040643185254 -> 0.55359553977141063 1.3092085108866405
logt0076 log10 0.18418516851510189 -0.26062518836212617 -> -0.49602019732913638 -0.41500503556604301
logt0077 log10 2.7124837795638399 -13.148769067133387 -> 1.1279348613317008 -0.59383616643803216
logt0078 log10 3.6521275476169149e-13 -3.7820543023170673e-05 -> -4.4222722398941112 -0.68218817272717114
logt0079 log10 5.0877545813862239 -1.2834978326786852 -> 0.71992371806426847 -0.10732104352159283
logt0080 log10 0.26477986808461512 -0.67659001194187429 -> -0.13873139935281681 -0.52018649631300229
logt0081 log10 0.0014754261398071962 5.3514691608205442 -> 0.72847304354528819 0.6820684398178033
logt0082 log10 0.29667334462157885 0.00020056045042584795 -> -0.52772137299296806 0.00029359659442937261
logt0083 log10 0.82104233671099425 3.9005387130133102 -> 0.60053889028349361 0.59208690021184018
logt0084 log10 0.27268135358180667 124.42088110945804 -> 2.094894315538069 0.68123637673656989
logt0085 log10 0.0026286959168267485 0.47795808180573013 -> -0.32060362226100814 0.67979964816877081

-- values near infinity
logt0100 log10 1.0512025744003172e+308 7.2621669750664611e+307 -> 308.10641562682065 0.26255461408256975
logt0101 log10 5.5344249034372126e+307 -1.2155859158431275e+308 -> 308.12569106009209 -0.496638782296212
logt0102 log10 -1.3155575403469408e+308 1.1610793541663864e+308 -> 308.24419052091019 1.0503359777705266
logt0103 log10 -1.632366720973235e+308 -1.54299446211448e+308 -> 308.3514500834093 -1.0355024924378222
logt0104 log10 0.0 5.9449276692327712e+307 -> 307.77414657501117 0.68218817692092071
logt0105 log10 -0.0 1.1201850459025692e+308 -> 308.04928977068465 0.68218817692092071
logt0106 log10 0.0 -1.6214225933466528e+308 -> 308.20989622030174 -0.68218817692092071
logt0107 log10 -0.0 -1.7453269791591058e+308 -> 308.24187680203539 -0.68218817692092071
logt0108 log10 1.440860577601428e+308 0.0 -> 308.15862195908755 0.0
logt0109 log10 1.391515176148282e+308 -0.0 -> 308.14348794720007 -0.0
logt0110 log10 -1.201354401295296e+308 0.0 -> 308.07967114380773 1.3643763538418414
logt0111 log10 -1.6704337825976804e+308 -0.0 -> 308.22282926451624 -1.3643763538418414
logt0112 log10 7.2276974655190223e+307 7.94879711369164 -> 307.85899996571993 4.7762357800858463e-308
logt0113 log10 1.1207859593716076e+308 -6.1956200868221147 -> 308.04952268169455 -2.4007470767963597e-308
logt0114 log10 -4.6678933874471045e+307 9.947107893220382 -> 307.66912092839902 1.3643763538418414
logt0115 log10 -1.5108012453950142e+308 -5.3117197179375619 -> 308.1792073341565 -1.3643763538418414
logt0116 log10 7.4903750871504435 1.5320703776626352e+308 -> 308.18527871564157 0.68218817692092071
logt0117 log10 5.9760325525654778 -8.0149473997349123e+307 -> 307.90390067652424 -0.68218817692092071
logt0118 log10 -7.880194206386629 1.7861845814767441e+308 -> 308.25192633617331 0.68218817692092071
logt0119 log10 -9.886438993852865 -6.19235781080747e+307 -> 307.79185604308338 -0.68218817692092071

-- values near 0
logt0120 log10 2.2996867579227779e-308 6.7861840770939125e-312 -> -307.63833129662572 0.00012815668056362305
logt0121 log10 6.9169190417774516e-323 -9.0414013188948118e-322 -> -321.04249706727148 -0.64902805353306059
logt0122 log10 -1.5378064962914011e-316 1.8243628389354635e-310 -> -309.73888878263222 0.68218854299989429
logt0123 log10 -2.3319898483706837e-321 -2.2358763941866371e-313 -> -312.65055220919641 -0.68218818145055538
logt0124 log10 0.0 3.872770101081121e-315 -> -314.41197828323476 0.68218817692092071
logt0125 log10 -0.0 9.6342800939043076e-322 -> -321.01618073175331 0.68218817692092071
logt0126 log10 0.0 -2.266099393427834e-308 -> -307.64472104545649 -0.68218817692092071
logt0127 log10 -0.0 -2.1184695673766626e-315 -> -314.67397777042407 -0.68218817692092071
logt0128 log10 1.1363509854348671e-322 0.0 -> -321.94448750709819 0.0
logt0129 log10 3.5572726500569751e-322 -0.0 -> -321.44888284668451 -0.0
logt0130 log10 -2.3696071074040593e-310 0.0 -> -309.62532365619722 1.3643763538418414
logt0131 log10 -2.813283897266934e-317 -0.0 -> -316.55078643961042 -1.3643763538418414

-- values near the unit circle
logt0200 log10 -0.59999999999999998 0.80000000000000004 -> 9.6432746655328709e-18 0.96165715756846815
logt0201 log10 0.79999999999999993 0.60000000000000009 -> 2.6765463916147622e-33 0.2794689806475476

-- special values
logt1000 log10 -0.0 0.0 -> -inf 1.3643763538418414         divide-by-zero
logt1001 log10 0.0 0.0 -> -inf 0.0                         divide-by-zero
logt1002 log10 0.0 inf -> inf 0.68218817692092071
logt1003 log10 2.3 inf -> inf 0.68218817692092071
logt1004 log10 -0.0 inf -> inf 0.68218817692092071
logt1005 log10 -2.3 inf -> inf 0.68218817692092071
logt1006 log10 0.0 nan -> nan nan
logt1007 log10 2.3 nan -> nan nan
logt1008 log10 -0.0 nan -> nan nan
logt1009 log10 -2.3 nan -> nan nan
logt1010 log10 -inf 0.0 -> inf 1.3643763538418414
logt1011 log10 -inf 2.3 -> inf 1.3643763538418414
logt1012 log10 inf 0.0 -> inf 0.0
logt1013 log10 inf 2.3 -> inf 0.0
logt1014 log10 -inf inf -> inf 1.0232822653813811
logt1015 log10 inf inf -> inf 0.34109408846046035
logt1016 log10 inf nan -> inf nan
logt1017 log10 -inf nan -> inf nan
logt1018 log10 nan 0.0 -> nan nan
logt1019 log10 nan 2.3 -> nan nan
logt1020 log10 nan inf -> inf nan
logt1021 log10 nan nan -> nan nan
logt1022 log10 -0.0 -0.0 -> -inf -1.3643763538418414       divide-by-zero
logt1023 log10 0.0 -0.0 -> -inf -0.0                       divide-by-zero
logt1024 log10 0.0 -inf -> inf -0.68218817692092071
logt1025 log10 2.3 -inf -> inf -0.68218817692092071
logt1026 log10 -0.0 -inf -> inf -0.68218817692092071
logt1027 log10 -2.3 -inf -> inf -0.68218817692092071
logt1028 log10 -inf -0.0 -> inf -1.3643763538418414
logt1029 log10 -inf -2.3 -> inf -1.3643763538418414
logt1030 log10 inf -0.0 -> inf -0.0
logt1031 log10 inf -2.3 -> inf -0.0
logt1032 log10 -inf -inf -> inf -1.0232822653813811
logt1033 log10 inf -inf -> inf -0.34109408846046035
logt1034 log10 nan -0.0 -> nan nan
logt1035 log10 nan -2.3 -> nan nan
logt1036 log10 nan -inf -> inf nan


-----------------------
-- sqrt: Square root --
-----------------------

-- zeros
sqrt0000 sqrt 0.0 0.0 -> 0.0 0.0
sqrt0001 sqrt 0.0 -0.0 -> 0.0 -0.0
sqrt0002 sqrt -0.0 0.0 -> 0.0 0.0
sqrt0003 sqrt -0.0 -0.0 -> 0.0 -0.0

-- values along both sides of real axis
sqrt0010 sqrt -9.8813129168249309e-324 0.0 -> 0.0 3.1434555694052576e-162
sqrt0011 sqrt -9.8813129168249309e-324 -0.0 -> 0.0 -3.1434555694052576e-162
sqrt0012 sqrt -1e-305 0.0 -> 0.0 3.1622776601683791e-153
sqrt0013 sqrt -1e-305 -0.0 -> 0.0 -3.1622776601683791e-153
sqrt0014 sqrt -1e-150 0.0 -> 0.0 9.9999999999999996e-76
sqrt0015 sqrt -1e-150 -0.0 -> 0.0 -9.9999999999999996e-76
sqrt0016 sqrt -9.9999999999999998e-17 0.0 -> 0.0 1e-08
sqrt0017 sqrt -9.9999999999999998e-17 -0.0 -> 0.0 -1e-08
sqrt0018 sqrt -0.001 0.0 -> 0.0 0.031622776601683791
sqrt0019 sqrt -0.001 -0.0 -> 0.0 -0.031622776601683791
sqrt0020 sqrt -0.57899999999999996 0.0 -> 0.0 0.76092049518987193
sqrt0021 sqrt -0.57899999999999996 -0.0 -> 0.0 -0.76092049518987193
sqrt0022 sqrt -0.99999999999999989 0.0 -> 0.0 0.99999999999999989
sqrt0023 sqrt -0.99999999999999989 -0.0 -> 0.0 -0.99999999999999989
sqrt0024 sqrt -1.0000000000000002 0.0 -> 0.0 1.0
sqrt0025 sqrt -1.0000000000000002 -0.0 -> 0.0 -1.0
sqrt0026 sqrt -1.0009999999999999 0.0 -> 0.0 1.000499875062461
sqrt0027 sqrt -1.0009999999999999 -0.0 -> 0.0 -1.000499875062461
sqrt0028 sqrt -2.0 0.0 -> 0.0 1.4142135623730951
sqrt0029 sqrt -2.0 -0.0 -> 0.0 -1.4142135623730951
sqrt0030 sqrt -23.0 0.0 -> 0.0 4.7958315233127191
sqrt0031 sqrt -23.0 -0.0 -> 0.0 -4.7958315233127191
sqrt0032 sqrt -10000000000000000.0 0.0 -> 0.0 100000000.0
sqrt0033 sqrt -10000000000000000.0 -0.0 -> 0.0 -100000000.0
sqrt0034 sqrt -9.9999999999999998e+149 0.0 -> 0.0 9.9999999999999993e+74
sqrt0035 sqrt -9.9999999999999998e+149 -0.0 -> 0.0 -9.9999999999999993e+74
sqrt0036 sqrt -1.0000000000000001e+299 0.0 -> 0.0 3.1622776601683796e+149
sqrt0037 sqrt -1.0000000000000001e+299 -0.0 -> 0.0 -3.1622776601683796e+149
sqrt0038 sqrt 9.8813129168249309e-324 0.0 -> 3.1434555694052576e-162 0.0
sqrt0039 sqrt 9.8813129168249309e-324 -0.0 -> 3.1434555694052576e-162 -0.0
sqrt0040 sqrt 1e-305 0.0 -> 3.1622776601683791e-153 0.0
sqrt0041 sqrt 1e-305 -0.0 -> 3.1622776601683791e-153 -0.0
sqrt0042 sqrt 1e-150 0.0 -> 9.9999999999999996e-76 0.0
sqrt0043 sqrt 1e-150 -0.0 -> 9.9999999999999996e-76 -0.0
sqrt0044 sqrt 9.9999999999999998e-17 0.0 -> 1e-08 0.0
sqrt0045 sqrt 9.9999999999999998e-17 -0.0 -> 1e-08 -0.0
sqrt0046 sqrt 0.001 0.0 -> 0.031622776601683791 0.0
sqrt0047 sqrt 0.001 -0.0 -> 0.031622776601683791 -0.0
sqrt0048 sqrt 0.57899999999999996 0.0 -> 0.76092049518987193 0.0
sqrt0049 sqrt 0.57899999999999996 -0.0 -> 0.76092049518987193 -0.0
sqrt0050 sqrt 0.99999999999999989 0.0 -> 0.99999999999999989 0.0
sqrt0051 sqrt 0.99999999999999989 -0.0 -> 0.99999999999999989 -0.0
sqrt0052 sqrt 1.0000000000000002 0.0 -> 1.0 0.0
sqrt0053 sqrt 1.0000000000000002 -0.0 -> 1.0 -0.0
sqrt0054 sqrt 1.0009999999999999 0.0 -> 1.000499875062461 0.0
sqrt0055 sqrt 1.0009999999999999 -0.0 -> 1.000499875062461 -0.0
sqrt0056 sqrt 2.0 0.0 -> 1.4142135623730951 0.0
sqrt0057 sqrt 2.0 -0.0 -> 1.4142135623730951 -0.0
sqrt0058 sqrt 23.0 0.0 -> 4.7958315233127191 0.0
sqrt0059 sqrt 23.0 -0.0 -> 4.7958315233127191 -0.0
sqrt0060 sqrt 10000000000000000.0 0.0 -> 100000000.0 0.0
sqrt0061 sqrt 10000000000000000.0 -0.0 -> 100000000.0 -0.0
sqrt0062 sqrt 9.9999999999999998e+149 0.0 -> 9.9999999999999993e+74 0.0
sqrt0063 sqrt 9.9999999999999998e+149 -0.0 -> 9.9999999999999993e+74 -0.0
sqrt0064 sqrt 1.0000000000000001e+299 0.0 -> 3.1622776601683796e+149 0.0
sqrt0065 sqrt 1.0000000000000001e+299 -0.0 -> 3.1622776601683796e+149 -0.0

-- random inputs
sqrt0100 sqrt -0.34252542541549913 -223039880.15076211 -> 10560.300180587592 -10560.300196805192
sqrt0101 sqrt -0.88790791393018909 -5.3307751730827402 -> 1.5027154613689004 -1.7737140896343291
sqrt0102 sqrt -113916.89291310767 -0.018143374626153858 -> 2.6877817875351178e-05 -337.51576691038952
sqrt0103 sqrt -0.63187172386197121 -0.26293913366617694 -> 0.16205707495266153 -0.81125471918761971
sqrt0104 sqrt -0.058185169308906215 -2.3548312990430991 -> 1.0717660342420072 -1.0985752598086966
sqrt0105 sqrt -1.0580584765935896 0.14400319259151736 -> 0.069837489270111242 1.030987755262468
sqrt0106 sqrt -1.1667595947504932 0.11159711473953678 -> 0.051598531319315251 1.0813981705111229
sqrt0107 sqrt -0.5123728411449906 0.026175433648339085 -> 0.018278026262418718 0.71603556293597614
sqrt0108 sqrt -3.7453400060067228 1.0946500314809635 -> 0.27990088541692498 1.9554243814742367
sqrt0109 sqrt -0.0027736121575097673 1.0367943000839817 -> 0.71903560338719175 0.72096172651250545
sqrt0110 sqrt 1501.2559699453188 -1.1997325207283589 -> 38.746047664730959 -0.015481998720355024
sqrt0111 sqrt 1.4830075326850578 -0.64100878436755349 -> 1.244712815741096 -0.25749264258434584
sqrt0112 sqrt 0.095395618499734602 -0.48226565701639595 -> 0.54175904053472879 -0.44509239434231551
sqrt0113 sqrt 0.50109185681863277 -0.54054037379892561 -> 0.7868179858332387 -0.34349772344520979
sqrt0114 sqrt 0.98779807595367897 -0.00019848758437225191 -> 0.99388031770665153 -9.9854872279921968e-05
sqrt0115 sqrt 11.845472380792259 0.0010051104581506761 -> 3.4417252072345397 0.00014601840612346451
sqrt0116 sqrt 2.3558249686735975 0.25605157371744403 -> 1.5371278477386647 0.083288964575761404
sqrt0117 sqrt 0.77584894123159098 1.0496420627016076 -> 1.0200744386390885 0.51449287568756552
sqrt0118 sqrt 1.8961715669604893 0.34940793467158854 -> 1.3827991781411615 0.12634080935066902
sqrt0119 sqrt 0.96025378316565801 0.69573224860140515 -> 1.0358710342209998 0.33581991658093457

-- values near 0
sqrt0120 sqrt 7.3577938365086866e-313 8.1181408465112743e-319 -> 8.5777583531543516e-157 4.732087634251168e-163
sqrt0121 sqrt 1.2406883874892108e-310 -5.1210133324269776e-312 -> 1.1140990057468052e-155 -2.2982756945349973e-157
sqrt0122 sqrt -7.1145453001139502e-322 2.9561379244703735e-314 -> 1.2157585807480286e-157 1.2157586100077242e-157
sqrt0123 sqrt -4.9963244206801218e-314 -8.4718424423690227e-319 -> 1.8950582312540437e-162 -2.2352459419578971e-157
sqrt0124 sqrt 0.0 7.699553609385195e-318 -> 1.9620848107797476e-159 1.9620848107797476e-159
sqrt0125 sqrt -0.0 3.3900826606499415e-309 -> 4.1170879639922327e-155 4.1170879639922327e-155
sqrt0126 sqrt 0.0 -9.8907989772250828e-319 -> 7.032353438652342e-160 -7.032353438652342e-160
sqrt0127 sqrt -0.0 -1.3722939367590908e-315 -> 2.6194407196566702e-158 -2.6194407196566702e-158
sqrt0128 sqrt 7.9050503334599447e-323 0.0 -> 8.8910349979403099e-162 0.0
sqrt0129 sqrt 1.8623241768349486e-309 -0.0 -> 4.3154654173506579e-155 -0.0
sqrt0130 sqrt -2.665971134499887e-308 0.0 -> 0.0 1.6327801856036491e-154
sqrt0131 sqrt -1.5477066694467245e-310 -0.0 -> 0.0 -1.2440685951533077e-155

-- inputs whose absolute value overflows
sqrt0140 sqrt 1.6999999999999999e+308 -1.6999999999999999e+308 -> 1.4325088230154573e+154 -5.9336458271212207e+153
sqrt0141 sqrt -1.797e+308 -9.9999999999999999e+306 -> 3.7284476432057307e+152 -1.3410406899802901e+154

-- Additional real values (mpmath)
sqrt0150 sqrt 1.7976931348623157e+308 0.0 -> 1.3407807929942596355e+154 0.0
sqrt0151 sqrt 2.2250738585072014e-308 0.0 -> 1.4916681462400413487e-154 0.0
sqrt0152 sqrt 5e-324 0.0 -> 2.2227587494850774834e-162 0.0

-- special values
sqrt1000 sqrt 0.0 0.0 -> 0.0 0.0
sqrt1001 sqrt -0.0 0.0 -> 0.0 0.0
sqrt1002 sqrt 0.0 inf -> inf inf
sqrt1003 sqrt 2.3 inf -> inf inf
sqrt1004 sqrt inf inf -> inf inf
sqrt1005 sqrt -0.0 inf -> inf inf
sqrt1006 sqrt -2.3 inf -> inf inf
sqrt1007 sqrt -inf inf -> inf inf
sqrt1008 sqrt nan inf -> inf inf
sqrt1009 sqrt 0.0 nan -> nan nan
sqrt1010 sqrt 2.3 nan -> nan nan
sqrt1011 sqrt -0.0 nan -> nan nan
sqrt1012 sqrt -2.3 nan -> nan nan
sqrt1013 sqrt -inf 0.0 -> 0.0 inf
sqrt1014 sqrt -inf 2.3 -> 0.0 inf
sqrt1015 sqrt inf 0.0 -> inf 0.0
sqrt1016 sqrt inf 2.3 -> inf 0.0
sqrt1017 sqrt -inf nan -> nan inf       ignore-imag-sign
sqrt1018 sqrt inf nan -> inf nan
sqrt1019 sqrt nan 0.0 -> nan nan
sqrt1020 sqrt nan 2.3 -> nan nan
sqrt1021 sqrt nan nan -> nan nan
sqrt1022 sqrt 0.0 -0.0 -> 0.0 -0.0
sqrt1023 sqrt -0.0 -0.0 -> 0.0 -0.0
sqrt1024 sqrt 0.0 -inf -> inf -inf
sqrt1025 sqrt 2.3 -inf -> inf -inf
sqrt1026 sqrt inf -inf -> inf -inf
sqrt1027 sqrt -0.0 -inf -> inf -inf
sqrt1028 sqrt -2.3 -inf -> inf -inf
sqrt1029 sqrt -inf -inf -> inf -inf
sqrt1030 sqrt nan -inf -> inf -inf
sqrt1031 sqrt -inf -0.0 -> 0.0 -inf
sqrt1032 sqrt -inf -2.3 -> 0.0 -inf
sqrt1033 sqrt inf -0.0 -> inf -0.0
sqrt1034 sqrt inf -2.3 -> inf -0.0
sqrt1035 sqrt nan -0.0 -> nan nan
sqrt1036 sqrt nan -2.3 -> nan nan


-- For exp, cosh, sinh, tanh we limit tests to arguments whose
-- imaginary part is less than 10 in absolute value:  most math
-- libraries have poor accuracy for (real) sine and cosine for
-- large arguments, and the accuracy of these complex functions
-- suffer correspondingly.
--
-- Similarly, for cos, sin and tan we limit tests to arguments
-- with relatively small real part.


-------------------------------
-- exp: Exponential function --
-------------------------------

-- zeros
exp0000 exp 0.0 0.0 -> 1.0 0.0
exp0001 exp 0.0 -0.0 -> 1.0 -0.0
exp0002 exp -0.0 0.0 -> 1.0 0.0
exp0003 exp -0.0 -0.0 -> 1.0 -0.0

-- random inputs
exp0004 exp -17.957359009564684 -1.108613895795274 -> 7.0869292576226611e-09 -1.4225929202377833e-08
exp0005 exp -1.4456149663368642e-15 -0.75359817331772239 -> 0.72923148323917997 -0.68426708517419033
exp0006 exp -0.76008654883512661 -0.46657235480105019 -> 0.41764393109928666 -0.21035108396792854
exp0007 exp -5.7071614697735731 -2.3744161818115816e-11 -> 0.0033220890242068356 -7.8880219364953578e-14
exp0008 exp -0.4653981327927097 -5.2236706667445587e-21 -> 0.62788507378216663 -3.2798648420026468e-21
exp0009 exp -3.2444565242295518 1.1535625304243959 -> 0.015799936931457641 0.035644950380024749
exp0010 exp -3.0651456337977727 0.87765086532391878 -> 0.029805595629855953 0.035882775180855669
exp0011 exp -0.11080823753233926 0.96486386300873106 -> 0.50979112534376314 0.73575512419561562
exp0012 exp -2.5629722598928648 0.019636235754708079 -> 0.077060452853917397 0.0015133717341137684
exp0013 exp -3.3201709957983357e-10 1.2684017344487268 -> 0.29780699855434889 0.95462610007689186
exp0014 exp 0.88767276057993272 -0.18953422986895557 -> 2.3859624049858095 -0.45771559132044426
exp0015 exp 1.5738333486794742 -2.2576803075544328e-11 -> 4.8251091132458654 -1.0893553826776623e-10
exp0016 exp 1.6408702341813795 -1.438879484380837 -> 0.6786733590689048 -5.1148284173168825
exp0017 exp 1.820279424202033 -0.020812040370785722 -> 6.1722462896420902 -0.1284755888435051
exp0018 exp 1.7273965735945873 -0.61140621328954947 -> 4.6067931898799976 -3.2294267694441308
exp0019 exp 2.5606034306862995 0.098153136008435504 -> 12.881325889966629 1.2684184812864494
exp0020 exp 10.280368619483029 3.4564622559748535 -> -27721.283321551502 -9028.9663215568835
exp0021 exp 1.104007405129741e-155 0.21258803067317278 -> 0.97748813933531764 0.21099037290544478
exp0022 exp 0.027364777809295172 0.00059226603500623363 -> 1.0277424518451876 0.0006086970181346579
exp0023 exp 0.94356313429255245 3.418530463518592 -> -2.4712285695346194 -0.70242654900218349

-- cases where exp(z) representable, exp(z.real) not
exp0030 exp 710.0 0.78500000000000003 -> 1.5803016909637158e+308 1.5790437551806911e+308
exp0031 exp 710.0 -0.78500000000000003 -> 1.5803016909637158e+308 -1.5790437551806911e+308

-- values for which exp(x) is subnormal, or underflows to 0
exp0040 exp -735.0 0.78500000000000003 -> 4.3976783136329355e-320 4.3942198541120468e-320
exp0041 exp -735.0 -2.3559999999999999 -> -4.3952079854037293e-320 -4.396690182341253e-320
exp0042 exp -745.0 0.0 -> 4.9406564584124654e-324 0.0
exp0043 exp -745.0 0.7 -> 0.0 0.0
exp0044 exp -745.0 2.1 -> -0.0 0.0
exp0045 exp -745.0 3.7 -> -0.0 -0.0
exp0046 exp -745.0 5.3 -> 0.0 -0.0

-- values for which exp(z) overflows
exp0050 exp 710.0 0.0 -> inf 0.0                        overflow
exp0051 exp 711.0 0.7 -> inf inf                        overflow
exp0052 exp 710.0 1.5 -> 1.5802653829857376e+307 inf    overflow
exp0053 exp 710.0 1.6 -> -6.5231579995501372e+306 inf   overflow
exp0054 exp 710.0 2.8 -> -inf 7.4836177417448528e+307   overflow

-- Additional real values (mpmath)
exp0070 exp 1e-08 0.0 -> 1.00000001000000005 0.0
exp0071 exp 0.0003 0.0 -> 1.0003000450045003375 0.0
exp0072 exp 0.2 0.0 -> 1.2214027581601698475 0.0
exp0073 exp 1.0 0.0 -> 2.7182818284590452354 0.0
exp0074 exp -1e-08 0.0 -> 0.99999999000000005 0.0
exp0075 exp -0.0003 0.0 -> 0.99970004499550033751 0.0
exp0076 exp -1.0 0.0 -> 0.3678794411714423216 0.0
exp0077 exp 2.220446049250313e-16 0.0 -> 1.000000000000000222 0.0
exp0078 exp -1.1102230246251565e-16 0.0 -> 0.99999999999999988898 0.0
exp0079 exp 2.302585092994046 0.0 -> 10.000000000000002171 0.0
exp0080 exp -2.302585092994046 0.0 -> 0.099999999999999978292 0.0
exp0081 exp 709.7827 0.0 -> 1.7976699566638014654e+308 0.0

-- special values
exp1000 exp 0.0 0.0 -> 1.0 0.0
exp1001 exp -0.0 0.0 -> 1.0 0.0
exp1002 exp 0.0 inf -> nan nan          invalid
exp1003 exp 2.3 inf -> nan nan          invalid
exp1004 exp -0.0 inf -> nan nan         invalid
exp1005 exp -2.3 inf -> nan nan         invalid
exp1006 exp 0.0 nan -> nan nan
exp1007 exp 2.3 nan -> nan nan
exp1008 exp -0.0 nan -> nan nan
exp1009 exp -2.3 nan -> nan nan
exp1010 exp -inf 0.0 -> 0.0 0.0
exp1011 exp -inf 1.4 -> 0.0 0.0
exp1012 exp -inf 2.8 -> -0.0 0.0
exp1013 exp -inf 4.2 -> -0.0 -0.0
exp1014 exp -inf 5.6 -> 0.0 -0.0
exp1015 exp -inf 7.0 -> 0.0 0.0
exp1016 exp inf 0.0 -> inf 0.0
exp1017 exp inf 1.4 -> inf inf
exp1018 exp inf 2.8 -> -inf inf
exp1019 exp inf 4.2 -> -inf -inf
exp1020 exp inf 5.6 -> inf -inf
exp1021 exp inf 7.0 -> inf inf
exp1022 exp -inf inf -> 0.0 0.0         ignore-real-sign ignore-imag-sign
exp1023 exp inf inf -> inf nan          invalid ignore-real-sign
exp1024 exp -inf nan -> 0.0 0.0         ignore-real-sign ignore-imag-sign
exp1025 exp inf nan -> inf nan          ignore-real-sign
exp1026 exp nan 0.0 -> nan 0.0
exp1027 exp nan 2.3 -> nan nan
exp1028 exp nan inf -> nan nan
exp1029 exp nan nan -> nan nan
exp1030 exp 0.0 -0.0 -> 1.0 -0.0
exp1031 exp -0.0 -0.0 -> 1.0 -0.0
exp1032 exp 0.0 -inf -> nan nan         invalid
exp1033 exp 2.3 -inf -> nan nan         invalid
exp1034 exp -0.0 -inf -> nan nan        invalid
exp1035 exp -2.3 -inf -> nan nan        invalid
exp1036 exp -inf -0.0 -> 0.0 -0.0
exp1037 exp -inf -1.4 -> 0.0 -0.0
exp1038 exp -inf -2.8 -> -0.0 -0.0
exp1039 exp -inf -4.2 -> -0.0 0.0
exp1040 exp -inf -5.6 -> 0.0 0.0
exp1041 exp -inf -7.0 -> 0.0 -0.0
exp1042 exp inf -0.0 -> inf -0.0
exp1043 exp inf -1.4 -> inf -inf
exp1044 exp inf -2.8 -> -inf -inf
exp1045 exp inf -4.2 -> -inf inf
exp1046 exp inf -5.6 -> inf inf
exp1047 exp inf -7.0 -> inf -inf
exp1048 exp -inf -inf -> 0.0 0.0        ignore-real-sign ignore-imag-sign
exp1049 exp inf -inf -> inf nan         invalid ignore-real-sign
exp1050 exp nan -0.0 -> nan -0.0
exp1051 exp nan -2.3 -> nan nan
exp1052 exp nan -inf -> nan nan


-----------------------------
-- cosh: Hyperbolic Cosine --
-----------------------------

-- zeros
cosh0000 cosh 0.0 0.0 -> 1.0 0.0
cosh0001 cosh 0.0 -0.0 -> 1.0 -0.0
cosh0002 cosh -0.0 0.0 -> 1.0 -0.0
cosh0003 cosh -0.0 -0.0 -> 1.0 0.0

-- random inputs
cosh0004 cosh -0.85395264297414253 -8.8553756148671958 -> -1.1684340348021185 0.51842195359787435
cosh0005 cosh -19.584904237211223 -0.066582627994906177 -> 159816812.23336992 10656776.050406246
cosh0006 cosh -0.11072618401130772 -1.484820215073247 -> 0.086397164744949503 0.11054275637717284
cosh0007 cosh -3.4764840250681752 -0.48440348288275276 -> 14.325931955190844 7.5242053548737955
cosh0008 cosh -0.52047063604524602 -0.3603805382775585 -> 1.0653940354683802 0.19193293606252473
cosh0009 cosh -1.39518962975995 0.0074738604700702906 -> 2.1417031027235969 -0.01415518712296308
cosh0010 cosh -0.37107064757653541 0.14728085307856609 -> 1.0580601496776991 -0.055712531964568587
cosh0011 cosh -5.8470200958739653 4.0021722388336292 -> -112.86220667618285 131.24734033545013
cosh0012 cosh -0.1700261444851883 0.97167540135354513 -> 0.57208748253577946 -0.1410904820240203
cosh0013 cosh -0.44042397902648783 1.0904791964139742 -> 0.50760322393058133 -0.40333966652010816
cosh0014 cosh 0.052267552491867299 -3.8889011430644174 -> -0.73452303414639297 0.035540704833537134
cosh0015 cosh 0.98000764177127453 -1.2548829247784097 -> 0.47220747341416142 -1.0879421432180316
cosh0016 cosh 0.083594701222644008 -0.88847899930181284 -> 0.63279782419312613 -0.064954566816002285
cosh0017 cosh 1.38173531783776 -0.43185040816732229 -> 1.9221663374671647 -0.78073830858849347
cosh0018 cosh 0.57315681120148465 -0.22255760951027942 -> 1.1399733125173004 -0.1335512343605956
cosh0019 cosh 1.8882512333062347 4.5024932182383797 -> -0.7041602065362691 -3.1573822131964615
cosh0020 cosh 0.5618219206858317 0.92620452129575348 -> 0.69822380405378381 0.47309067471054522
cosh0021 cosh 0.54361442847062591 0.64176483583018462 -> 0.92234462074193491 0.34167906495845501
cosh0022 cosh 0.0014777403107920331 1.3682028122677661 -> 0.2012106963899549 0.001447518137863219
cosh0023 cosh 2.218885944363501 2.0015727395883687 -> -1.94294321081968 4.1290269176083196

-- large real part
cosh0030 cosh 710.5 2.3519999999999999 -> -1.2967465239355998e+308 1.3076707908857333e+308
cosh0031 cosh -710.5 0.69999999999999996 -> 1.4085466381392499e+308 -1.1864024666450239e+308

-- Additional real values (mpmath)
cosh0050 cosh 1e-150 0.0 -> 1.0 0.0
cosh0051 cosh 1e-18 0.0 -> 1.0 0.0
cosh0052 cosh 1e-09 0.0 -> 1.0000000000000000005 0.0
cosh0053 cosh 0.0003 0.0 -> 1.0000000450000003375 0.0
cosh0054 cosh 0.2 0.0 -> 1.0200667556190758485 0.0
cosh0055 cosh 1.0 0.0 -> 1.5430806348152437785 0.0
cosh0056 cosh -1e-18 0.0 -> 1.0 -0.0
cosh0057 cosh -0.0003 0.0 -> 1.0000000450000003375 -0.0
cosh0058 cosh -1.0 0.0 -> 1.5430806348152437785 -0.0
cosh0059 cosh 1.3169578969248168 0.0 -> 2.0000000000000001504 0.0
cosh0060 cosh -1.3169578969248168 0.0 -> 2.0000000000000001504 -0.0
cosh0061 cosh 17.328679513998633 0.0 -> 16777216.000000021938 0.0
cosh0062 cosh 18.714973875118524 0.0 -> 67108864.000000043662 0.0
cosh0063 cosh 709.7827 0.0 -> 8.9883497833190073272e+307 0.0
cosh0064 cosh -709.7827 0.0 -> 8.9883497833190073272e+307 -0.0

-- special values
cosh1000 cosh 0.0 0.0 -> 1.0 0.0
cosh1001 cosh 0.0 inf -> nan 0.0        invalid ignore-imag-sign
cosh1002 cosh 0.0 nan -> nan 0.0        ignore-imag-sign
cosh1003 cosh 2.3 inf -> nan nan        invalid
cosh1004 cosh 2.3 nan -> nan nan
cosh1005 cosh inf 0.0 -> inf 0.0
cosh1006 cosh inf 1.4 -> inf inf
cosh1007 cosh inf 2.8 -> -inf inf
cosh1008 cosh inf 4.2 -> -inf -inf
cosh1009 cosh inf 5.6 -> inf -inf
cosh1010 cosh inf 7.0 -> inf inf
cosh1011 cosh inf inf -> inf nan        invalid ignore-real-sign
cosh1012 cosh inf nan -> inf nan
cosh1013 cosh nan 0.0 -> nan 0.0        ignore-imag-sign
cosh1014 cosh nan 2.3 -> nan nan
cosh1015 cosh nan inf -> nan nan
cosh1016 cosh nan nan -> nan nan
cosh1017 cosh 0.0 -0.0 -> 1.0 -0.0
cosh1018 cosh 0.0 -inf -> nan 0.0       invalid ignore-imag-sign
cosh1019 cosh 2.3 -inf -> nan nan       invalid
cosh1020 cosh inf -0.0 -> inf -0.0
cosh1021 cosh inf -1.4 -> inf -inf
cosh1022 cosh inf -2.8 -> -inf -inf
cosh1023 cosh inf -4.2 -> -inf inf
cosh1024 cosh inf -5.6 -> inf inf
cosh1025 cosh inf -7.0 -> inf -inf
cosh1026 cosh inf -inf -> inf nan       invalid ignore-real-sign
cosh1027 cosh nan -0.0 -> nan 0.0       ignore-imag-sign
cosh1028 cosh nan -2.3 -> nan nan
cosh1029 cosh nan -inf -> nan nan
cosh1030 cosh -0.0 -0.0 -> 1.0 0.0
cosh1031 cosh -0.0 -inf -> nan 0.0      invalid ignore-imag-sign
cosh1032 cosh -0.0 nan -> nan 0.0       ignore-imag-sign
cosh1033 cosh -2.3 -inf -> nan nan      invalid
cosh1034 cosh -2.3 nan -> nan nan
cosh1035 cosh -inf -0.0 -> inf 0.0
cosh1036 cosh -inf -1.4 -> inf inf
cosh1037 cosh -inf -2.8 -> -inf inf
cosh1038 cosh -inf -4.2 -> -inf -inf
cosh1039 cosh -inf -5.6 -> inf -inf
cosh1040 cosh -inf -7.0 -> inf inf
cosh1041 cosh -inf -inf -> inf nan      invalid ignore-real-sign
cosh1042 cosh -inf nan -> inf nan
cosh1043 cosh -0.0 0.0 -> 1.0 -0.0
cosh1044 cosh -0.0 inf -> nan 0.0       invalid ignore-imag-sign
cosh1045 cosh -2.3 inf -> nan nan       invalid
cosh1046 cosh -inf 0.0 -> inf -0.0
cosh1047 cosh -inf 1.4 -> inf -inf
cosh1048 cosh -inf 2.8 -> -inf -inf
cosh1049 cosh -inf 4.2 -> -inf inf
cosh1050 cosh -inf 5.6 -> inf inf
cosh1051 cosh -inf 7.0 -> inf -inf
cosh1052 cosh -inf inf -> inf nan       invalid ignore-real-sign


---------------------------
-- sinh: Hyperbolic Sine --
---------------------------

-- zeros
sinh0000 sinh 0.0 0.0 -> 0.0 0.0
sinh0001 sinh 0.0 -0.0 -> 0.0 -0.0
sinh0002 sinh -0.0 0.0 -> -0.0 0.0
sinh0003 sinh -0.0 -0.0 -> -0.0 -0.0

-- random inputs
sinh0004 sinh -17.282588091462742 -0.38187948694103546 -> -14867386.857248396 -5970648.6553516639
sinh0005 sinh -343.91971203143208 -5.0172868877771525e-22 -> -1.1518691776521735e+149 -5.7792581214689021e+127
sinh0006 sinh -14.178122253300922 -1.9387157579351293 -> 258440.37909034826 -670452.58500946441
sinh0007 sinh -1.0343810581686239 -1.0970235266369905 -> -0.56070858278092739 -1.4098883258046697
sinh0008 sinh -0.066126561416368204 -0.070461584169961872 -> -0.066010558700938124 -0.070557276738637542
sinh0009 sinh -0.37630149150308484 3.3621734692162173 -> 0.37591118119332617 -0.23447115926369383
sinh0010 sinh -0.049941960978670055 0.40323767020414625 -> -0.045955482136329009 0.3928878494430646
sinh0011 sinh -16.647852603903715 0.0026852219129082098 -> -8492566.5739382561 22804.480671133562
sinh0012 sinh -1.476625314303694 0.89473773116683386 -> -1.2982943334382224 1.7966593367791204
sinh0013 sinh -422.36429577556913 0.10366634502307912 -> -1.3400321008920044e+183 1.3941600948045599e+182
sinh0014 sinh 0.09108340745641981 -0.40408227416070353 -> 0.083863724802237902 -0.39480716553935602
sinh0015 sinh 2.036064132067386 -2.6831729961386239 -> -3.37621124363175 -1.723868330002817
sinh0016 sinh 2.5616717223063317 -0.0078978498622717767 -> 6.4399415853815869 -0.051472264400722133
sinh0017 sinh 0.336804011985188 -6.5654622971649337 -> 0.32962499307574578 -0.29449170159995197
sinh0018 sinh 0.23774603755649693 -0.92467195799232049 -> 0.14449839490603389 -0.82109449053556793
sinh0019 sinh 0.0011388273541465494 1.9676196882949855 -> -0.00044014605389634999 0.92229398407098806
sinh0020 sinh 3.2443870105663759 0.8054287559616895 -> 8.8702890778527426 9.2610748597042196
sinh0021 sinh 0.040628908857054738 0.098206391190944958 -> 0.04044426841671233 0.098129544739707392
sinh0022 sinh 4.7252283918217696e-30 9.1198155642656697 -> -4.5071980561644404e-30 0.30025730701661713
sinh0023 sinh 0.043713693678420068 0.22512549887532657 -> 0.042624198673416713 0.22344201231217961

-- large real part
sinh0030 sinh 710.5 -2.3999999999999999 -> -1.3579970564885919e+308 -1.24394470907798e+308
sinh0031 sinh -710.5 0.80000000000000004 -> -1.2830671601735164e+308 1.3210954193997678e+308

-- Additional real values (mpmath)
sinh0050 sinh 1e-100 0.0 -> 1.00000000000000002e-100 0.0
sinh0051 sinh 5e-17 0.0 -> 4.9999999999999998955e-17 0.0
sinh0052 sinh 1e-16 0.0 -> 9.999999999999999791e-17 0.0
sinh0053 sinh 3.7e-08 0.0 -> 3.7000000000000008885e-8 0.0
sinh0054 sinh 0.001 0.0 -> 0.0010000001666666750208 0.0
sinh0055 sinh 0.2 0.0 -> 0.20133600254109399895 0.0
sinh0056 sinh 1.0 0.0 -> 1.1752011936438014569 0.0
sinh0057 sinh -3.7e-08 0.0 -> -3.7000000000000008885e-8 0.0
sinh0058 sinh -0.001 0.0 -> -0.0010000001666666750208 0.0
sinh0059 sinh -1.0 0.0 -> -1.1752011936438014569 0.0
sinh0060 sinh 1.4436354751788103 0.0 -> 1.9999999999999999078 0.0
sinh0061 sinh -1.4436354751788103 0.0 -> -1.9999999999999999078 0.0
sinh0062 sinh 17.328679513998633 0.0 -> 16777215.999999992136 0.0
sinh0063 sinh 18.714973875118524 0.0 -> 67108864.000000036211 0.0
sinh0064 sinh 709.7827 0.0 -> 8.9883497833190073272e+307 0.0
sinh0065 sinh -709.7827 0.0 -> -8.9883497833190073272e+307 0.0

-- special values
sinh1000 sinh 0.0 0.0 -> 0.0 0.0
sinh1001 sinh 0.0 inf -> 0.0 nan        invalid ignore-real-sign
sinh1002 sinh 0.0 nan -> 0.0 nan        ignore-real-sign
sinh1003 sinh 2.3 inf -> nan nan        invalid
sinh1004 sinh 2.3 nan -> nan nan
sinh1005 sinh inf 0.0 -> inf 0.0
sinh1006 sinh inf 1.4 -> inf inf
sinh1007 sinh inf 2.8 -> -inf inf
sinh1008 sinh inf 4.2 -> -inf -inf
sinh1009 sinh inf 5.6 -> inf -inf
sinh1010 sinh inf 7.0 -> inf inf
sinh1011 sinh inf inf -> inf nan        invalid ignore-real-sign
sinh1012 sinh inf nan -> inf nan        ignore-real-sign
sinh1013 sinh nan 0.0 -> nan 0.0
sinh1014 sinh nan 2.3 -> nan nan
sinh1015 sinh nan inf -> nan nan
sinh1016 sinh nan nan -> nan nan
sinh1017 sinh 0.0 -0.0 -> 0.0 -0.0
sinh1018 sinh 0.0 -inf -> 0.0 nan       invalid ignore-real-sign
sinh1019 sinh 2.3 -inf -> nan nan       invalid
sinh1020 sinh inf -0.0 -> inf -0.0
sinh1021 sinh inf -1.4 -> inf -inf
sinh1022 sinh inf -2.8 -> -inf -inf
sinh1023 sinh inf -4.2 -> -inf inf
sinh1024 sinh inf -5.6 -> inf inf
sinh1025 sinh inf -7.0 -> inf -inf
sinh1026 sinh inf -inf -> inf nan       invalid ignore-real-sign
sinh1027 sinh nan -0.0 -> nan -0.0
sinh1028 sinh nan -2.3 -> nan nan
sinh1029 sinh nan -inf -> nan nan
sinh1030 sinh -0.0 -0.0 -> -0.0 -0.0
sinh1031 sinh -0.0 -inf -> 0.0 nan      invalid ignore-real-sign
sinh1032 sinh -0.0 nan -> 0.0 nan       ignore-real-sign
sinh1033 sinh -2.3 -inf -> nan nan      invalid
sinh1034 sinh -2.3 nan -> nan nan
sinh1035 sinh -inf -0.0 -> -inf -0.0
sinh1036 sinh -inf -1.4 -> -inf -inf
sinh1037 sinh -inf -2.8 -> inf -inf
sinh1038 sinh -inf -4.2 -> inf inf
sinh1039 sinh -inf -5.6 -> -inf inf
sinh1040 sinh -inf -7.0 -> -inf -inf
sinh1041 sinh -inf -inf -> inf nan      invalid ignore-real-sign
sinh1042 sinh -inf nan -> inf nan       ignore-real-sign
sinh1043 sinh -0.0 0.0 -> -0.0 0.0
sinh1044 sinh -0.0 inf -> 0.0 nan       invalid ignore-real-sign
sinh1045 sinh -2.3 inf -> nan nan       invalid
sinh1046 sinh -inf 0.0 -> -inf 0.0
sinh1047 sinh -inf 1.4 -> -inf inf
sinh1048 sinh -inf 2.8 -> inf inf
sinh1049 sinh -inf 4.2 -> inf -inf
sinh1050 sinh -inf 5.6 -> -inf -inf
sinh1051 sinh -inf 7.0 -> -inf inf
sinh1052 sinh -inf inf -> inf nan       invalid ignore-real-sign


------------------------------
-- tanh: Hyperbolic Tangent --
------------------------------

-- Disabled test: replaced by test_math.testTanhSign()
-- and test_cmath.testTanhSign()

-- -- zeros
-- tanh0000 tanh 0.0 0.0 -> 0.0 0.0
-- tanh0001 tanh 0.0 -0.0 -> 0.0 -0.0
-- tanh0002 tanh -0.0 0.0 -> -0.0 0.0
-- tanh0003 tanh -0.0 -0.0 -> -0.0 -0.0

-- random inputs
tanh0004 tanh -21.200500450664993 -1.6970729480342996 -> -1.0 1.9241352344849399e-19
tanh0005 tanh -0.34158771504251928 -8.0848504951747131 -> -2.123711225855613 1.2827526782026006
tanh0006 tanh -15.454144725193689 -0.23619582288265617 -> -0.99999999999993283 -3.4336684248260036e-14
tanh0007 tanh -7.6103163119661952 -0.7802748320307008 -> -0.99999999497219438 -4.9064845343755437e-07
tanh0008 tanh -0.15374717235792129 -0.6351086327306138 -> -0.23246081703561869 -0.71083467433910219
tanh0009 tanh -0.49101115474392465 0.09723001264886301 -> -0.45844445715492133 0.077191158541805888
tanh0010 tanh -0.10690612157664491 2.861612800856395 -> -0.11519761626257358 -0.28400488355647507
tanh0011 tanh -0.91505774192066702 1.5431174597727007 -> -1.381109893068114 0.025160819663709356
tanh0012 tanh -0.057433367093792223 0.35491159541246459 -> -0.065220499046696953 0.36921788332369498
tanh0013 tanh -1.3540418621233514 0.18969415642242535 -> -0.88235642861151387 0.043764069984411721
tanh0014 tanh 0.94864783961003529 -0.11333689578867717 -> 0.74348401861861368 -0.051271042543855221
tanh0015 tanh 1.9591698133845488 -0.0029654444904578339 -> 0.9610270776968135 -0.00022664240049212933
tanh0016 tanh 1.0949715796669197 -0.24706642853984456 -> 0.81636574501369386 -0.087767436914149954
tanh0017 tanh 5770428.2113731047 -3.7160580339833165 -> 1.0 -0.0
tanh0018 tanh 1.5576782321399629 -1.0357943787966468 -> 1.0403002384895388 -0.081126347894671463
tanh0019 tanh 0.62378536230552961 2.3471393579560216 -> 0.85582499238960363 -0.53569473646842869
tanh0020 tanh 17.400628602508025 9.3987059533841979 -> 0.99999999999999845 -8.0175867720530832e-17
tanh0021 tanh 0.15026177509871896 0.50630349159505472 -> 0.19367536571827768 0.53849847858853661
tanh0022 tanh 0.57433977530711167 1.0071604546265627 -> 1.0857848159262844 0.69139213955872214
tanh0023 tanh 0.16291181500449456 0.006972810241567544 -> 0.16149335907551157 0.0067910772903467817

-- large real part
tanh0030 tanh 710 0.13 -> 1.0 0.0
tanh0031 tanh -711 7.4000000000000004 -> -1.0 0.0
tanh0032 tanh 1000 -2.3199999999999998 -> 1.0 0.0
tanh0033 tanh -1.0000000000000001e+300 -9.6699999999999999 -> -1.0 -0.0

-- Additional real values (mpmath)
tanh0050 tanh 1e-100 0.0 -> 1.00000000000000002e-100 0.0
tanh0051 tanh 5e-17 0.0 -> 4.9999999999999998955e-17 0.0
tanh0052 tanh 1e-16 0.0 -> 9.999999999999999791e-17 0.0
tanh0053 tanh 3.7e-08 0.0 -> 3.6999999999999983559e-8 0.0
tanh0054 tanh 0.001 0.0 -> 0.00099999966666680002076 0.0
tanh0055 tanh 0.2 0.0 -> 0.19737532022490401141 0.0
tanh0056 tanh 1.0 0.0 -> 0.76159415595576488812 0.0
tanh0057 tanh -3.7e-08 0.0 -> -3.6999999999999983559e-8 0.0
tanh0058 tanh -0.001 0.0 -> -0.00099999966666680002076 0.0
tanh0059 tanh -1.0 0.0 -> -0.76159415595576488812 0.0
tanh0060 tanh 0.5493061443340549 0.0 -> 0.50000000000000003402 0.0
tanh0061 tanh -0.5493061443340549 0.0 -> -0.50000000000000003402 0.0
tanh0062 tanh 17.328679513998633 0.0 -> 0.99999999999999822364 0.0
tanh0063 tanh 18.714973875118524 0.0 -> 0.99999999999999988898 0.0
tanh0064 tanh 711 0.0 -> 1.0 0.0
tanh0065 tanh 1.797e+308 0.0 -> 1.0 0.0

--special values
tanh1000 tanh 0.0 0.0 -> 0.0 0.0
tanh1001 tanh 0.0 inf -> nan nan        invalid
tanh1002 tanh 2.3 inf -> nan nan        invalid
tanh1003 tanh 0.0 nan -> nan nan
tanh1004 tanh 2.3 nan -> nan nan
tanh1005 tanh inf 0.0 -> 1.0 0.0
tanh1006 tanh inf 0.7 -> 1.0 0.0
tanh1007 tanh inf 1.4 -> 1.0 0.0
tanh1008 tanh inf 2.1 -> 1.0 -0.0
tanh1009 tanh inf 2.8 -> 1.0 -0.0
tanh1010 tanh inf 3.5 -> 1.0 0.0
tanh1011 tanh inf inf -> 1.0 0.0        ignore-imag-sign
tanh1012 tanh inf nan -> 1.0 0.0        ignore-imag-sign
tanh1013 tanh nan 0.0 -> nan 0.0
tanh1014 tanh nan 2.3 -> nan nan
tanh1015 tanh nan inf -> nan nan
tanh1016 tanh nan nan -> nan nan
tanh1017 tanh 0.0 -0.0 -> 0.0 -0.0
tanh1018 tanh 0.0 -inf -> nan nan       invalid
tanh1019 tanh 2.3 -inf -> nan nan       invalid
tanh1020 tanh inf -0.0 -> 1.0 -0.0
tanh1021 tanh inf -0.7 -> 1.0 -0.0
tanh1022 tanh inf -1.4 -> 1.0 -0.0
tanh1023 tanh inf -2.1 -> 1.0 0.0
tanh1024 tanh inf -2.8 -> 1.0 0.0
tanh1025 tanh inf -3.5 -> 1.0 -0.0
tanh1026 tanh inf -inf -> 1.0 0.0       ignore-imag-sign
tanh1027 tanh nan -0.0 -> nan -0.0
tanh1028 tanh nan -2.3 -> nan nan
tanh1029 tanh nan -inf -> nan nan
tanh1030 tanh -0.0 -0.0 -> -0.0 -0.0
tanh1031 tanh -0.0 -inf -> nan nan      invalid
tanh1032 tanh -2.3 -inf -> nan nan      invalid
tanh1033 tanh -0.0 nan -> nan nan
tanh1034 tanh -2.3 nan -> nan nan
tanh1035 tanh -inf -0.0 -> -1.0 -0.0
tanh1036 tanh -inf -0.7 -> -1.0 -0.0
tanh1037 tanh -inf -1.4 -> -1.0 -0.0
tanh1038 tanh -inf -2.1 -> -1.0 0.0
tanh1039 tanh -inf -2.8 -> -1.0 0.0
tanh1040 tanh -inf -3.5 -> -1.0 -0.0
tanh1041 tanh -inf -inf -> -1.0 0.0     ignore-imag-sign
tanh1042 tanh -inf nan -> -1.0 0.0      ignore-imag-sign
tanh1043 tanh -0.0 0.0 -> -0.0 0.0
tanh1044 tanh -0.0 inf -> nan nan       invalid
tanh1045 tanh -2.3 inf -> nan nan       invalid
tanh1046 tanh -inf 0.0 -> -1.0 0.0
tanh1047 tanh -inf 0.7 -> -1.0 0.0
tanh1048 tanh -inf 1.4 -> -1.0 0.0
tanh1049 tanh -inf 2.1 -> -1.0 -0.0
tanh1050 tanh -inf 2.8 -> -1.0 -0.0
tanh1051 tanh -inf 3.5 -> -1.0 0.0
tanh1052 tanh -inf inf -> -1.0 0.0      ignore-imag-sign


-----------------
-- cos: Cosine --
-----------------

-- zeros
cos0000 cos 0.0 0.0 -> 1.0 -0.0
cos0001 cos 0.0 -0.0 -> 1.0 0.0
cos0002 cos -0.0 0.0 -> 1.0 0.0
cos0003 cos -0.0 -0.0 -> 1.0 -0.0

-- random inputs
cos0004 cos -2.0689194692073034 -0.0016802181751734313 -> -0.47777827208561469 -0.0014760401501695971
cos0005 cos -0.4209627318177977 -1.8238516774258027 -> 2.9010402201444108 -1.2329207042329617
cos0006 cos -1.9402181630694557 -2.9751857392891217 -> -3.5465459297970985 -9.1119163586282248
cos0007 cos -3.3118320290191616 -0.87871302909286142 -> -1.3911528636565498 0.16878141517391701
cos0008 cos -4.9540404623376872 -0.57949232239026827 -> 0.28062445586552065 0.59467861308508008
cos0009 cos -0.45374584316245026 1.3950283448373935 -> 1.9247665574290578 0.83004572204761107
cos0010 cos -0.42578172040176843 1.2715881615413049 -> 1.7517161459489148 0.67863902697363332
cos0011 cos -0.13862985354300136 0.43587635877670328 -> 1.0859880290361912 0.062157548146672272
cos0012 cos -0.11073221308966584 9.9384082307326475e-15 -> 0.99387545040722947 1.0982543264065479e-15
cos0013 cos -1.5027633662054623e-07 0.0069668060249955498 -> 1.0000242682912412 1.0469545565660995e-09
cos0014 cos 4.9728645490503052 -0.00027479808860952822 -> 0.25754011731975501 -0.00026552849549083186
cos0015 cos 7.81969303486719 -0.79621523445878783 -> 0.045734882501585063 0.88253139933082991
cos0016 cos 0.13272421880766716 -0.74668445308718201 -> 1.2806012244432847 0.10825373267437005
cos0017 cos 4.2396521985973274 -2.2178848380884881 -> -2.1165117057056855 -4.0416492444641401
cos0018 cos 1.1622206624927296 -0.50400115461197081 -> 0.44884072613370379 0.4823469915034318
cos0019 cos 1.628772864620884e-08 0.58205705428979282 -> 1.1742319995791435 -1.0024839481956604e-08
cos0020 cos 2.6385212606111241 2.9886107100937296 -> -8.7209475927161417 -4.7748352107199796
cos0021 cos 4.8048375263775256 0.0062248852898515658 -> 0.092318702015846243 0.0061983430422306142
cos0022 cos 7.9914515433858515 0.71659966615501436 -> -0.17375439906936566 -0.77217043527294582
cos0023 cos 0.45124351152540226 1.6992693993812158 -> 2.543477948972237 -1.1528193694875477

-- Additional real values (mpmath)
cos0050 cos 1e-150 0.0 -> 1.0 -0.0
cos0051 cos 1e-18 0.0 -> 1.0 -0.0
cos0052 cos 1e-09 0.0 -> 0.9999999999999999995 -0.0
cos0053 cos 0.0003 0.0 -> 0.9999999550000003375 -0.0
cos0054 cos 0.2 0.0 -> 0.98006657784124162892 -0.0
cos0055 cos 1.0 0.0 -> 0.5403023058681397174 -0.0
cos0056 cos -1e-18 0.0 -> 1.0 0.0
cos0057 cos -0.0003 0.0 -> 0.9999999550000003375 0.0
cos0058 cos -1.0 0.0 -> 0.5403023058681397174 0.0
cos0059 cos 1.0471975511965976 0.0 -> 0.50000000000000009945 -0.0
cos0060 cos 2.5707963267948966 0.0 -> -0.84147098480789647357 -0.0
cos0061 cos -2.5707963267948966 0.0 -> -0.84147098480789647357 0.0
cos0062 cos 7.225663103256523 0.0 -> 0.58778525229247407559 -0.0
cos0063 cos -8.79645943005142 0.0 -> -0.80901699437494722255 0.0

-- special values
cos1000 cos -0.0 0.0 -> 1.0 0.0
cos1001 cos -inf 0.0 -> nan 0.0 invalid ignore-imag-sign
cos1002 cos nan 0.0 -> nan 0.0 ignore-imag-sign
cos1003 cos -inf 2.2999999999999998 -> nan nan invalid
cos1004 cos nan 2.2999999999999998 -> nan nan
cos1005 cos -0.0 inf -> inf 0.0
cos1006 cos -1.3999999999999999 inf -> inf inf
cos1007 cos -2.7999999999999998 inf -> -inf inf
cos1008 cos -4.2000000000000002 inf -> -inf -inf
cos1009 cos -5.5999999999999996 inf -> inf -inf
cos1010 cos -7.0 inf -> inf inf
cos1011 cos -inf inf -> inf nan invalid ignore-real-sign
cos1012 cos nan inf -> inf nan
cos1013 cos -0.0 nan -> nan 0.0 ignore-imag-sign
cos1014 cos -2.2999999999999998 nan -> nan nan
cos1015 cos -inf nan -> nan nan
cos1016 cos nan nan -> nan nan
cos1017 cos 0.0 0.0 -> 1.0 -0.0
cos1018 cos inf 0.0 -> nan 0.0 invalid ignore-imag-sign
cos1019 cos inf 2.2999999999999998 -> nan nan invalid
cos1020 cos 0.0 inf -> inf -0.0
cos1021 cos 1.3999999999999999 inf -> inf -inf
cos1022 cos 2.7999999999999998 inf -> -inf -inf
cos1023 cos 4.2000000000000002 inf -> -inf inf
cos1024 cos 5.5999999999999996 inf -> inf inf
cos1025 cos 7.0 inf -> inf -inf
cos1026 cos inf inf -> inf nan invalid ignore-real-sign
cos1027 cos 0.0 nan -> nan 0.0 ignore-imag-sign
cos1028 cos 2.2999999999999998 nan -> nan nan
cos1029 cos inf nan -> nan nan
cos1030 cos 0.0 -0.0 -> 1.0 0.0
cos1031 cos inf -0.0 -> nan 0.0 invalid ignore-imag-sign
cos1032 cos nan -0.0 -> nan 0.0 ignore-imag-sign
cos1033 cos inf -2.2999999999999998 -> nan nan invalid
cos1034 cos nan -2.2999999999999998 -> nan nan
cos1035 cos 0.0 -inf -> inf 0.0
cos1036 cos 1.3999999999999999 -inf -> inf inf
cos1037 cos 2.7999999999999998 -inf -> -inf inf
cos1038 cos 4.2000000000000002 -inf -> -inf -inf
cos1039 cos 5.5999999999999996 -inf -> inf -inf
cos1040 cos 7.0 -inf -> inf inf
cos1041 cos inf -inf -> inf nan invalid ignore-real-sign
cos1042 cos nan -inf -> inf nan
cos1043 cos -0.0 -0.0 -> 1.0 -0.0
cos1044 cos -inf -0.0 -> nan 0.0 invalid ignore-imag-sign
cos1045 cos -inf -2.2999999999999998 -> nan nan invalid
cos1046 cos -0.0 -inf -> inf -0.0
cos1047 cos -1.3999999999999999 -inf -> inf -inf
cos1048 cos -2.7999999999999998 -inf -> -inf -inf
cos1049 cos -4.2000000000000002 -inf -> -inf inf
cos1050 cos -5.5999999999999996 -inf -> inf inf
cos1051 cos -7.0 -inf -> inf -inf
cos1052 cos -inf -inf -> inf nan invalid ignore-real-sign


---------------
-- sin: Sine --
---------------

-- zeros
sin0000 sin 0.0 0.0 -> 0.0 0.0
sin0001 sin 0.0 -0.0 -> 0.0 -0.0
sin0002 sin -0.0 0.0 -> -0.0 0.0
sin0003 sin -0.0 -0.0 -> -0.0 -0.0

-- random inputs
sin0004 sin -0.18691829163163759 -0.74388741985507034 -> -0.2396636733773444 -0.80023231101856751
sin0005 sin -0.45127453702459158 -461.81339920716164 -> -7.9722299331077877e+199 -1.6450205811004628e+200
sin0006 sin -0.47669228345768921 -2.7369936564987514 -> -3.557238022267124 -6.8308030771226615
sin0007 sin -0.31024285525950857 -1.4869219939188296 -> -0.70972676047175209 -1.9985029635426839
sin0008 sin -4.4194573407025608 -1.405999210989288 -> 2.0702480800802685 0.55362250792180601
sin0009 sin -1.7810832046434898e-05 0.0016439555384379083 -> -1.7810856113185261e-05 0.0016439562786668375
sin0010 sin -0.8200017874897666 0.61724876887771929 -> -0.8749078195948865 0.44835295550987758
sin0011 sin -1.4536502806107114 0.63998575534150415 -> -1.2035709929437679 0.080012187489163708
sin0012 sin -2.2653412155506079 0.13172760685583729 -> -0.77502093809190431 -0.084554426868229532
sin0013 sin -0.02613983069491858 0.18404766597776073 -> -0.026580778863127943 0.18502525396735642
sin0014 sin 1.5743065001054617 -0.53125574272642029 -> 1.1444596332092725 0.0019537598099352077
sin0015 sin 7.3833101791283289e-20 -0.16453221324236217 -> 7.4834720674379429e-20 -0.16527555646466915
sin0016 sin 0.34763834641254038 -2.8377416421089565 -> 2.918883541504663 -8.0002718053250224
sin0017 sin 0.077105785180421563 -0.090056027316200674 -> 0.077341973814471304 -0.089909869380524587
sin0018 sin 3.9063227798142329e-17 -0.05954098654295524 -> 3.9132490348956512e-17 -0.059576172859837351
sin0019 sin 0.57333917932544598 8.7785221430594696e-06 -> 0.54244029338302935 7.3747869125301368e-06
sin0020 sin 0.024861722816513169 0.33044620756118515 -> 0.026228801369651 0.3363889671570689
sin0021 sin 1.4342727387492671 0.81361889790284347 -> 1.3370960060947923 0.12336137961387163
sin0022 sin 1.1518087354403725 4.8597235966150558 -> 58.919141989603041 26.237003403758852
sin0023 sin 0.00087773078406649192 34.792379211312095 -> 565548145569.38245 644329685822700.62

-- Additional real values (mpmath)
sin0050 sin 1e-100 0.0 -> 1.00000000000000002e-100 0.0
sin0051 sin 3.7e-08 0.0 -> 3.6999999999999992001e-8 0.0
sin0052 sin 0.001 0.0 -> 0.00099999983333334168748 0.0
sin0053 sin 0.2 0.0 -> 0.19866933079506122634 0.0
sin0054 sin 1.0 0.0 -> 0.84147098480789650665 0.0
sin0055 sin -3.7e-08 0.0 -> -3.6999999999999992001e-8 0.0
sin0056 sin -0.001 0.0 -> -0.00099999983333334168748 0.0
sin0057 sin -1.0 0.0 -> -0.84147098480789650665 0.0
sin0058 sin 0.5235987755982989 0.0 -> 0.50000000000000004642 0.0
sin0059 sin -0.5235987755982989 0.0 -> -0.50000000000000004642 0.0
sin0060 sin 2.6179938779914944 0.0 -> 0.49999999999999996018 -0.0
sin0061 sin -2.6179938779914944 0.0 -> -0.49999999999999996018 -0.0
sin0062 sin 7.225663103256523 0.0 -> 0.80901699437494673648 0.0
sin0063 sin -8.79645943005142 0.0 -> -0.58778525229247340658 -0.0

-- special values
sin1000 sin -0.0 0.0 -> -0.0 0.0
sin1001 sin -inf 0.0 -> nan 0.0 invalid ignore-imag-sign
sin1002 sin nan 0.0 -> nan 0.0 ignore-imag-sign
sin1003 sin -inf 2.2999999999999998 -> nan nan invalid
sin1004 sin nan 2.2999999999999998 -> nan nan
sin1005 sin -0.0 inf -> -0.0 inf
sin1006 sin -1.3999999999999999 inf -> -inf inf
sin1007 sin -2.7999999999999998 inf -> -inf -inf
sin1008 sin -4.2000000000000002 inf -> inf -inf
sin1009 sin -5.5999999999999996 inf -> inf inf
sin1010 sin -7.0 inf -> -inf inf
sin1011 sin -inf inf -> nan inf invalid ignore-imag-sign
sin1012 sin nan inf -> nan inf ignore-imag-sign
sin1013 sin -0.0 nan -> -0.0 nan
sin1014 sin -2.2999999999999998 nan -> nan nan
sin1015 sin -inf nan -> nan nan
sin1016 sin nan nan -> nan nan
sin1017 sin 0.0 0.0 -> 0.0 0.0
sin1018 sin inf 0.0 -> nan 0.0 invalid ignore-imag-sign
sin1019 sin inf 2.2999999999999998 -> nan nan invalid
sin1020 sin 0.0 inf -> 0.0 inf
sin1021 sin 1.3999999999999999 inf -> inf inf
sin1022 sin 2.7999999999999998 inf -> inf -inf
sin1023 sin 4.2000000000000002 inf -> -inf -inf
sin1024 sin 5.5999999999999996 inf -> -inf inf
sin1025 sin 7.0 inf -> inf inf
sin1026 sin inf inf -> nan inf invalid ignore-imag-sign
sin1027 sin 0.0 nan -> 0.0 nan
sin1028 sin 2.2999999999999998 nan -> nan nan
sin1029 sin inf nan -> nan nan
sin1030 sin 0.0 -0.0 -> 0.0 -0.0
sin1031 sin inf -0.0 -> nan 0.0 invalid ignore-imag-sign
sin1032 sin nan -0.0 -> nan 0.0 ignore-imag-sign
sin1033 sin inf -2.2999999999999998 -> nan nan invalid
sin1034 sin nan -2.2999999999999998 -> nan nan
sin1035 sin 0.0 -inf -> 0.0 -inf
sin1036 sin 1.3999999999999999 -inf -> inf -inf
sin1037 sin 2.7999999999999998 -inf -> inf inf
sin1038 sin 4.2000000000000002 -inf -> -inf inf
sin1039 sin 5.5999999999999996 -inf -> -inf -inf
sin1040 sin 7.0 -inf -> inf -inf
sin1041 sin inf -inf -> nan inf invalid ignore-imag-sign
sin1042 sin nan -inf -> nan inf ignore-imag-sign
sin1043 sin -0.0 -0.0 -> -0.0 -0.0
sin1044 sin -inf -0.0 -> nan 0.0 invalid ignore-imag-sign
sin1045 sin -inf -2.2999999999999998 -> nan nan invalid
sin1046 sin -0.0 -inf -> -0.0 -inf
sin1047 sin -1.3999999999999999 -inf -> -inf -inf
sin1048 sin -2.7999999999999998 -inf -> -inf inf
sin1049 sin -4.2000000000000002 -inf -> inf inf
sin1050 sin -5.5999999999999996 -inf -> inf -inf
sin1051 sin -7.0 -inf -> -inf -inf
sin1052 sin -inf -inf -> nan inf invalid ignore-imag-sign


------------------
-- tan: Tangent --
------------------

-- zeros
tan0000 tan 0.0 0.0 -> 0.0 0.0
tan0001 tan 0.0 -0.0 -> 0.0 -0.0
tan0002 tan -0.0 0.0 -> -0.0 0.0
tan0003 tan -0.0 -0.0 -> -0.0 -0.0

-- random inputs
tan0004 tan -0.56378561833861074 -1.7110276237187664e+73 -> -0.0 -1.0
tan0005 tan -3.5451633993471915e-12 -2.855471863564059 -> -4.6622441304889575e-14 -0.99340273843093951
tan0006 tan -2.502442719638696 -0.26742234390504221 -> 0.66735215252994995 -0.39078997935420956
tan0007 tan -0.87639597720371365 -55.586225523280206 -> -1.0285264565948176e-48 -1.0
tan0008 tan -0.015783869596427243 -520.05944436039272 -> -0.0 -1.0
tan0009 tan -0.84643549990725164 2.0749097935396343 -> -0.031412661676959573 1.0033548479526764
tan0010 tan -0.43613792248559646 8.1082741629458059 -> -1.3879848444644593e-07 0.99999988344224011
tan0011 tan -1.0820906367833114 0.28571868992480248 -> -1.3622485737936536 0.99089269377971245
tan0012 tan -1.1477859580220084 1.9021637002708041 -> -0.034348450042071196 1.0293954097901687
tan0013 tan -0.12465543176953409 3.0606851016344815e-05 -> -0.12530514290387343 3.1087420769945479e-05
tan0014 tan 3.7582848717525343 -692787020.44038939 -> 0.0 -1.0
tan0015 tan 2.2321967655142176e-06 -10.090069423008169 -> 1.5369846120622643e-14 -0.99999999655723759
tan0016 tan 0.88371172390245012 -1.1635053630132823 -> 0.19705017118625889 -1.0196452280843129
tan0017 tan 2.1347414231849267 -1.9311339960416831 -> -0.038663576915982524 -1.0174399993980778
tan0018 tan 5.9027945255899974 -2.1574195684607135e-183 -> -0.39986591539281496 -2.5023753167976915e-183
tan0019 tan 0.44811489490805362 683216075670.07556 -> 0.0 1.0
tan0020 tan 4.1459766396068325 12.523017205605756 -> 2.4022514758988068e-11 1.0000000000112499
tan0021 tan 1.7809617968443272 1.5052381702853379 -> -0.044066222118946903 1.0932684517702778
tan0022 tan 1.1615313900880577 1.7956298728647107 -> 0.041793186826390362 1.0375339546034792
tan0023 tan 0.067014779477908945 5.8517361577457097 -> 2.2088639754800034e-06 0.9999836182420061

-- Additional real values (mpmath)
tan0050 tan 1e-100 0.0 -> 1.00000000000000002e-100 0.0
tan0051 tan 3.7e-08 0.0 -> 3.7000000000000017328e-8 0.0
tan0052 tan 0.001 0.0 -> 0.0010000003333334666875 0.0
tan0053 tan 0.2 0.0 -> 0.20271003550867249488 0.0
tan0054 tan 1.0 0.0 -> 1.5574077246549022305 0.0
tan0055 tan -3.7e-08 0.0 -> -3.7000000000000017328e-8 0.0
tan0056 tan -0.001 0.0 -> -0.0010000003333334666875 0.0
tan0057 tan -1.0 0.0 -> -1.5574077246549022305 0.0
tan0058 tan 0.4636476090008061 0.0 -> 0.49999999999999997163 0.0
tan0059 tan -0.4636476090008061 0.0 -> -0.49999999999999997163 0.0
tan0060 tan 1.1071487177940904 0.0 -> 1.9999999999999995298 0.0
tan0061 tan -1.1071487177940904 0.0 -> -1.9999999999999995298 0.0
tan0062 tan 1.5 0.0 -> 14.101419947171719388 0.0
tan0063 tan 1.57 0.0 -> 1255.7655915007896475 0.0
tan0064 tan 1.5707963267948961 0.0 -> 1978937966095219.0538 0.0
tan0065 tan 7.225663103256523 0.0 -> 1.3763819204711701522 0.0
tan0066 tan -8.79645943005142 0.0 -> 0.7265425280053614098 0.0

-- special values
tan1000 tan -0.0 0.0 -> -0.0 0.0
tan1001 tan -inf 0.0 -> nan nan invalid
tan1002 tan -inf 2.2999999999999998 -> nan nan invalid
tan1003 tan nan 0.0 -> nan nan
tan1004 tan nan 2.2999999999999998 -> nan nan
tan1005 tan -0.0 inf -> -0.0 1.0
tan1006 tan -0.69999999999999996 inf -> -0.0 1.0
tan1007 tan -1.3999999999999999 inf -> -0.0 1.0
tan1008 tan -2.1000000000000001 inf -> 0.0 1.0
tan1009 tan -2.7999999999999998 inf -> 0.0 1.0
tan1010 tan -3.5 inf -> -0.0 1.0
tan1011 tan -inf inf -> -0.0 1.0 ignore-real-sign
tan1012 tan nan inf -> -0.0 1.0 ignore-real-sign
tan1013 tan -0.0 nan -> -0.0 nan
tan1014 tan -2.2999999999999998 nan -> nan nan
tan1015 tan -inf nan -> nan nan
tan1016 tan nan nan -> nan nan
tan1017 tan 0.0 0.0 -> 0.0 0.0
tan1018 tan inf 0.0 -> nan nan invalid
tan1019 tan inf 2.2999999999999998 -> nan nan invalid
tan1020 tan 0.0 inf -> 0.0 1.0
tan1021 tan 0.69999999999999996 inf -> 0.0 1.0
tan1022 tan 1.3999999999999999 inf -> 0.0 1.0
tan1023 tan 2.1000000000000001 inf -> -0.0 1.0
tan1024 tan 2.7999999999999998 inf -> -0.0 1.0
tan1025 tan 3.5 inf -> 0.0 1.0
tan1026 tan inf inf -> -0.0 1.0 ignore-real-sign
tan1027 tan 0.0 nan -> 0.0 nan
tan1028 tan 2.2999999999999998 nan -> nan nan
tan1029 tan inf nan -> nan nan
tan1030 tan 0.0 -0.0 -> 0.0 -0.0
tan1031 tan inf -0.0 -> nan nan invalid
tan1032 tan inf -2.2999999999999998 -> nan nan invalid
tan1033 tan nan -0.0 -> nan nan
tan1034 tan nan -2.2999999999999998 -> nan nan
tan1035 tan 0.0 -inf -> 0.0 -1.0
tan1036 tan 0.69999999999999996 -inf -> 0.0 -1.0
tan1037 tan 1.3999999999999999 -inf -> 0.0 -1.0
tan1038 tan 2.1000000000000001 -inf -> -0.0 -1.0
tan1039 tan 2.7999999999999998 -inf -> -0.0 -1.0
tan1040 tan 3.5 -inf -> 0.0 -1.0
tan1041 tan inf -inf -> -0.0 -1.0 ignore-real-sign
tan1042 tan nan -inf -> -0.0 -1.0 ignore-real-sign
tan1043 tan -0.0 -0.0 -> -0.0 -0.0
tan1044 tan -inf -0.0 -> nan nan invalid
tan1045 tan -inf -2.2999999999999998 -> nan nan invalid
tan1046 tan -0.0 -inf -> -0.0 -1.0
tan1047 tan -0.69999999999999996 -inf -> -0.0 -1.0
tan1048 tan -1.3999999999999999 -inf -> -0.0 -1.0
tan1049 tan -2.1000000000000001 -inf -> 0.0 -1.0
tan1050 tan -2.7999999999999998 -inf -> 0.0 -1.0
tan1051 tan -3.5 -inf -> -0.0 -1.0
tan1052 tan -inf -inf -> -0.0 -1.0 ignore-real-sign


------------------------------------------------------------------------
-- rect: Conversion from polar coordinates to rectangular coordinates --
------------------------------------------------------------------------
--
-- For cmath.rect, we can use the same testcase syntax as for the
-- complex -> complex functions above, but here the input arguments
-- should be interpreted as a pair of floating-point numbers rather
-- than the real and imaginary parts of a complex number.
--
-- Here are the 'spirit of C99' rules for rect.  First, the short
-- version:
--
--    rect(x, t) = exp(log(x)+it) for positive-signed x
--    rect(x, t) = -exp(log(-x)+it) for negative-signed x
--    rect(nan, t) = exp(nan + it), except that in rect(nan, +-0) the
--      sign of the imaginary part is unspecified.
--
-- and now the long version:
--
--   rect(x, -t) = conj(rect(x, t)) for all x and t
--   rect(-x, t) = -rect(x, t) for all x and t
--   rect(+0, +0) returns +0 + i0
--   rect(+0, inf) returns +- 0 +- i0, where the signs of the real and
--     imaginary parts are unspecified.
--   rect(x, inf) returns NaN + i NaN and raises the "invalid"
--     floating-point exception, for finite nonzero x.
--   rect(inf, inf) returns +-inf + i NaN and raises the "invalid"
--     floating-point exception (where the sign of the real part of the
--     result is unspecified).
--   rect(inf, +0) returns inf+i0
--   rect(inf, x) returns inf*cis(x), for finite nonzero x
--   rect(inf, NaN) returns +-inf+i NaN, where the sign of the real part
--     of the result is unspecified.
--   rect(NaN, x) returns NaN + i NaN for all nonzero numbers (including
--     infinities) x
--   rect(NaN, 0) returns NaN +- i0, where the sign of the imaginary
--     part is unspecified
--   rect(NaN, NaN) returns NaN + i NaN
--   rect(x, NaN) returns NaN + i NaN for finite nonzero x
--   rect(+0, NaN) return +-0 +- i0, where the signs of the real and
--     imaginary parts are unspecified.

-- special values
rect1000 rect 0.0 0.0 -> 0.0 0.0
rect1001 rect 0.0 inf -> 0.0 0.0        ignore-real-sign ignore-imag-sign
rect1002 rect 2.3 inf -> nan nan        invalid
rect1003 rect inf inf -> inf nan        invalid ignore-real-sign
rect1004 rect inf 0.0 -> inf 0.0
rect1005 rect inf 1.4 -> inf inf
rect1006 rect inf 2.8 -> -inf inf
rect1007 rect inf 4.2 -> -inf -inf
rect1008 rect inf 5.6 -> inf -inf
rect1009 rect inf 7.0 -> inf inf
rect1010 rect nan 0.0 -> nan 0.0        ignore-imag-sign
rect1011 rect nan 2.3 -> nan nan
rect1012 rect nan inf -> nan nan
rect1013 rect nan nan -> nan nan
rect1014 rect inf nan -> inf nan        ignore-real-sign
rect1015 rect 2.3 nan -> nan nan
rect1016 rect 0.0 nan -> 0.0 0.0        ignore-real-sign ignore-imag-sign
rect1017 rect 0.0 -0.0 -> 0.0 -0.0
rect1018 rect 0.0 -inf -> 0.0 0.0       ignore-real-sign ignore-imag-sign
rect1019 rect 2.3 -inf -> nan nan       invalid
rect1020 rect inf -inf -> inf nan       invalid ignore-real-sign
rect1021 rect inf -0.0 -> inf -0.0
rect1022 rect inf -1.4 -> inf -inf
rect1023 rect inf -2.8 -> -inf -inf
rect1024 rect inf -4.2 -> -inf inf
rect1025 rect inf -5.6 -> inf inf
rect1026 rect inf -7.0 -> inf -inf
rect1027 rect nan -0.0 -> nan 0.0       ignore-imag-sign
rect1028 rect nan -2.3 -> nan nan
rect1029 rect nan -inf -> nan nan
rect1030 rect -0.0 0.0 -> -0.0 -0.0
rect1031 rect -0.0 inf -> 0.0 0.0       ignore-real-sign ignore-imag-sign
rect1032 rect -2.3 inf -> nan nan       invalid
rect1033 rect -inf inf -> -inf nan      invalid ignore-real-sign
rect1034 rect -inf 0.0 -> -inf -0.0
rect1035 rect -inf 1.4 -> -inf -inf
rect1036 rect -inf 2.8 -> inf -inf
rect1037 rect -inf 4.2 -> inf inf
rect1038 rect -inf 5.6 -> -inf inf
rect1039 rect -inf 7.0 -> -inf -inf
rect1040 rect -inf nan -> inf nan       ignore-real-sign
rect1041 rect -2.3 nan -> nan nan
rect1042 rect -0.0 nan -> 0.0 0.0       ignore-real-sign ignore-imag-sign
rect1043 rect -0.0 -0.0 -> -0.0 0.0
rect1044 rect -0.0 -inf -> 0.0 0.0      ignore-real-sign ignore-imag-sign
rect1045 rect -2.3 -inf -> nan nan      invalid
rect1046 rect -inf -inf -> -inf nan     invalid ignore-real-sign
rect1047 rect -inf -0.0 -> -inf 0.0
rect1048 rect -inf -1.4 -> -inf inf
rect1049 rect -inf -2.8 -> inf inf
rect1050 rect -inf -4.2 -> inf -inf
rect1051 rect -inf -5.6 -> -inf -inf
rect1052 rect -inf -7.0 -> -inf inf

-------------------------------------------------------------------------
-- polar: Conversion from rectangular coordinates to polar coordinates --
-------------------------------------------------------------------------
--
-- For cmath.polar, we can use the same testcase syntax as for the
-- complex -> complex functions above, but here the output arguments
-- should be interpreted as a pair of floating-point numbers rather
-- than the real and imaginary parts of a complex number.
--
-- Annex G of the C99 standard describes fully both the real and
-- imaginary parts of polar (as cabs and carg, respectively, which in turn
-- are defined in terms of the functions hypot and atan2).

-- overflow
polar0100 polar 1.4e308 1.4e308 -> inf 0.78539816339744828      overflow

-- special values
polar1000 polar 0.0 0.0 -> 0.0 0.0
polar1001 polar 0.0 -0.0 -> 0.0 -0.0
polar1002 polar -0.0 0.0 -> 0.0 3.1415926535897931
polar1003 polar -0.0 -0.0 -> 0.0 -3.1415926535897931
polar1004 polar inf 0.0 -> inf 0.0
polar1005 polar inf 2.3 -> inf 0.0
polar1006 polar inf inf -> inf 0.78539816339744828
polar1007 polar 2.3 inf -> inf 1.5707963267948966
polar1008 polar 0.0 inf -> inf 1.5707963267948966
polar1009 polar -0.0 inf -> inf 1.5707963267948966
polar1010 polar -2.3 inf -> inf 1.5707963267948966
polar1011 polar -inf inf -> inf 2.3561944901923448
polar1012 polar -inf 2.3 -> inf 3.1415926535897931
polar1013 polar -inf 0.0 -> inf 3.1415926535897931
polar1014 polar -inf -0.0 -> inf -3.1415926535897931
polar1015 polar -inf -2.3 -> inf -3.1415926535897931
polar1016 polar -inf -inf -> inf -2.3561944901923448
polar1017 polar -2.3 -inf -> inf -1.5707963267948966
polar1018 polar -0.0 -inf -> inf -1.5707963267948966
polar1019 polar 0.0 -inf -> inf -1.5707963267948966
polar1020 polar 2.3 -inf -> inf -1.5707963267948966
polar1021 polar inf -inf -> inf -0.78539816339744828
polar1022 polar inf -2.3 -> inf -0.0
polar1023 polar inf -0.0 -> inf -0.0
polar1024 polar nan -inf -> inf nan
polar1025 polar nan -2.3 -> nan nan
polar1026 polar nan -0.0 -> nan nan
polar1027 polar nan 0.0 -> nan nan
polar1028 polar nan 2.3 -> nan nan
polar1029 polar nan inf -> inf nan
polar1030 polar nan nan -> nan nan
polar1031 polar inf nan -> inf nan
polar1032 polar 2.3 nan -> nan nan
polar1033 polar 0.0 nan -> nan nan
polar1034 polar -0.0 nan -> nan nan
polar1035 polar -2.3 nan -> nan nan
polar1036 polar -inf nan -> inf nan
======================================
Python IEEE 754 floating point support
======================================

>>> from sys import float_info as FI
>>> from math import *
>>> PI = pi
>>> E = e

You must never compare two floats with == because you are not going to get
what you expect. We treat two floats as equal if the difference between them
is small than epsilon.
>>> EPS = 1E-15
>>> def equal(x, y):
...     """Almost equal helper for floats"""
...     return abs(x - y) < EPS


NaNs and INFs
=============

In Python 2.6 and newer NaNs (not a number) and infinity can be constructed
from the strings 'inf' and 'nan'.

>>> INF = float('inf')
>>> NINF = float('-inf')
>>> NAN = float('nan')

>>> INF
inf
>>> NINF
-inf
>>> NAN
nan

The math module's ``isnan`` and ``isinf`` functions can be used to detect INF
and NAN:
>>> isinf(INF), isinf(NINF), isnan(NAN)
(True, True, True)
>>> INF == -NINF
True

Infinity
--------

Ambiguous operations like ``0 * inf`` or ``inf - inf`` result in NaN.
>>> INF * 0
nan
>>> INF - INF
nan
>>> INF / INF
nan

However unambigous operations with inf return inf:
>>> INF * INF
inf
>>> 1.5 * INF
inf
>>> 0.5 * INF
inf
>>> INF / 1000
inf

Not a Number
------------

NaNs are never equal to another number, even itself
>>> NAN == NAN
False
>>> NAN < 0
False
>>> NAN >= 0
False

All operations involving a NaN return a NaN except for nan**0 and 1**nan.
>>> 1 + NAN
nan
>>> 1 * NAN
nan
>>> 0 * NAN
nan
>>> 1 ** NAN
1.0
>>> NAN ** 0
1.0
>>> 0 ** NAN
nan
>>> (1.0 + FI.epsilon) * NAN
nan

Misc Functions
==============

The power of 1 raised to x is always 1.0, even for special values like 0,
infinity and NaN.

>>> pow(1, 0)
1.0
>>> pow(1, INF)
1.0
>>> pow(1, -INF)
1.0
>>> pow(1, NAN)
1.0

The power of 0 raised to x is defined as 0, if x is positive. Negative
values are a domain error or zero division error and NaN result in a
silent NaN.

>>> pow(0, 0)
1.0
>>> pow(0, INF)
0.0
>>> pow(0, -INF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> 0 ** -1
Traceback (most recent call last):
...
ZeroDivisionError: 0.0 cannot be raised to a negative power
>>> pow(0, NAN)
nan


Trigonometric Functions
=======================

>>> sin(INF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> sin(NINF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> sin(NAN)
nan
>>> cos(INF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> cos(NINF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> cos(NAN)
nan
>>> tan(INF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> tan(NINF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> tan(NAN)
nan

Neither pi nor tan are exact, but you can assume that tan(pi/2) is a large value
and tan(pi) is a very small value:
>>> tan(PI/2) > 1E10
True
>>> -tan(-PI/2) > 1E10
True
>>> tan(PI) < 1E-15
True

>>> asin(NAN), acos(NAN), atan(NAN)
(nan, nan, nan)
>>> asin(INF), asin(NINF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> acos(INF), acos(NINF)
Traceback (most recent call last):
...
ValueError: math domain error
>>> equal(atan(INF), PI/2), equal(atan(NINF), -PI/2)
(True, True)


Hyberbolic Functions
====================

This is a sample doctest in a text file that contains non-ASCII characters.
This file is encoded using UTF-8.

In order to get this test to pass, we have to manually specify the
encoding.

  >>> 'föö'
  'f\xf6\xf6'

  >>> 'bąr'
  'b\u0105r'
-- 'f' code formatting, with explicit precision (>= 0).  Output always
-- has the given number of places after the point;  zeros are added if
-- necessary to make this true.

-- zeros
%.0f 0 -> 0
%.1f 0 -> 0.0
%.2f 0 -> 0.00
%.3f 0 -> 0.000
%.50f 0 -> 0.00000000000000000000000000000000000000000000000000

-- precision 0;  result should never include a .
%.0f 1.5 -> 2
%.0f 2.5 -> 2
%.0f 3.5 -> 4
%.0f 0.0 -> 0
%.0f 0.1 -> 0
%.0f 0.001 -> 0
%.0f 10.0 -> 10
%.0f 10.1 -> 10
%.0f 10.01 -> 10
%.0f 123.456 -> 123
%.0f 1234.56 -> 1235
%.0f 1e49 -> 9999999999999999464902769475481793196872414789632
%.0f 9.9999999999999987e+49 -> 99999999999999986860582406952576489172979654066176
%.0f 1e50 -> 100000000000000007629769841091887003294964970946560

-- precision 1
%.1f 0.0001 -> 0.0
%.1f 0.001 -> 0.0
%.1f 0.01 -> 0.0
%.1f 0.04 -> 0.0
%.1f 0.06 -> 0.1
%.1f 0.25 -> 0.2
%.1f 0.75 -> 0.8
%.1f 1.4 -> 1.4
%.1f 1.5 -> 1.5
%.1f 10.0 -> 10.0
%.1f 1000.03 -> 1000.0
%.1f 1234.5678 -> 1234.6
%.1f 1234.7499 -> 1234.7
%.1f 1234.75 -> 1234.8

-- precision 2
%.2f 0.0001 -> 0.00
%.2f 0.001 -> 0.00
%.2f 0.004999 -> 0.00
%.2f 0.005001 -> 0.01
%.2f 0.01 -> 0.01
%.2f 0.125 -> 0.12
%.2f 0.375 -> 0.38
%.2f 1234500 -> 1234500.00
%.2f 1234560 -> 1234560.00
%.2f 1234567 -> 1234567.00
%.2f 1234567.8 -> 1234567.80
%.2f 1234567.89 -> 1234567.89
%.2f 1234567.891 -> 1234567.89
%.2f 1234567.8912 -> 1234567.89

-- alternate form always includes a decimal point.  This only
-- makes a difference when the precision is 0.
%#.0f 0 -> 0.
%#.1f 0 -> 0.0
%#.0f 1.5 -> 2.
%#.0f 2.5 -> 2.
%#.0f 10.1 -> 10.
%#.0f 1234.56 -> 1235.
%#.1f 1.4 -> 1.4
%#.2f 0.375 -> 0.38

-- if precision is omitted it defaults to 6
%f 0 -> 0.000000
%f 1230000 -> 1230000.000000
%f 1234567 -> 1234567.000000
%f 123.4567 -> 123.456700
%f 1.23456789 -> 1.234568
%f 0.00012 -> 0.000120
%f 0.000123 -> 0.000123
%f 0.00012345 -> 0.000123
%f 0.000001 -> 0.000001
%f 0.0000005001 -> 0.000001
%f 0.0000004999 -> 0.000000

-- 'e' code formatting with explicit precision (>= 0). Output should
-- always have exactly the number of places after the point that were
-- requested.

-- zeros
%.0e 0 -> 0e+00
%.1e 0 -> 0.0e+00
%.2e 0 -> 0.00e+00
%.10e 0 -> 0.0000000000e+00
%.50e 0 -> 0.00000000000000000000000000000000000000000000000000e+00

-- precision 0.  no decimal point in the output
%.0e 0.01 -> 1e-02
%.0e 0.1 -> 1e-01
%.0e 1 -> 1e+00
%.0e 10 -> 1e+01
%.0e 100 -> 1e+02
%.0e 0.012 -> 1e-02
%.0e 0.12 -> 1e-01
%.0e 1.2 -> 1e+00
%.0e 12 -> 1e+01
%.0e 120 -> 1e+02
%.0e 123.456 -> 1e+02
%.0e 0.000123456 -> 1e-04
%.0e 123456000 -> 1e+08
%.0e 0.5 -> 5e-01
%.0e 1.4 -> 1e+00
%.0e 1.5 -> 2e+00
%.0e 1.6 -> 2e+00
%.0e 2.4999999 -> 2e+00
%.0e 2.5 -> 2e+00
%.0e 2.5000001 -> 3e+00
%.0e 3.499999999999 -> 3e+00
%.0e 3.5 -> 4e+00
%.0e 4.5 -> 4e+00
%.0e 5.5 -> 6e+00
%.0e 6.5 -> 6e+00
%.0e 7.5 -> 8e+00
%.0e 8.5 -> 8e+00
%.0e 9.4999 -> 9e+00
%.0e 9.5 -> 1e+01
%.0e 10.5 -> 1e+01
%.0e 14.999 -> 1e+01
%.0e 15 -> 2e+01

-- precision 1
%.1e 0.0001 -> 1.0e-04
%.1e 0.001 -> 1.0e-03
%.1e 0.01 -> 1.0e-02
%.1e 0.1 -> 1.0e-01
%.1e 1 -> 1.0e+00
%.1e 10 -> 1.0e+01
%.1e 100 -> 1.0e+02
%.1e 120 -> 1.2e+02
%.1e 123 -> 1.2e+02
%.1e 123.4 -> 1.2e+02

-- precision 2
%.2e 0.00013 -> 1.30e-04
%.2e 0.000135 -> 1.35e-04
%.2e 0.0001357 -> 1.36e-04
%.2e 0.0001 -> 1.00e-04
%.2e 0.001 -> 1.00e-03
%.2e 0.01 -> 1.00e-02
%.2e 0.1 -> 1.00e-01
%.2e 1 -> 1.00e+00
%.2e 10 -> 1.00e+01
%.2e 100 -> 1.00e+02
%.2e 1000 -> 1.00e+03
%.2e 1500 -> 1.50e+03
%.2e 1590 -> 1.59e+03
%.2e 1598 -> 1.60e+03
%.2e 1598.7 -> 1.60e+03
%.2e 1598.76 -> 1.60e+03
%.2e 9999 -> 1.00e+04

-- omitted precision defaults to 6
%e 0 -> 0.000000e+00
%e 165 -> 1.650000e+02
%e 1234567 -> 1.234567e+06
%e 12345678 -> 1.234568e+07
%e 1.1 -> 1.100000e+00

-- alternate form always contains a decimal point.  This only makes
-- a difference when precision is 0.

%#.0e 0.01 -> 1.e-02
%#.0e 0.1 -> 1.e-01
%#.0e 1 -> 1.e+00
%#.0e 10 -> 1.e+01
%#.0e 100 -> 1.e+02
%#.0e 0.012 -> 1.e-02
%#.0e 0.12 -> 1.e-01
%#.0e 1.2 -> 1.e+00
%#.0e 12 -> 1.e+01
%#.0e 120 -> 1.e+02
%#.0e 123.456 -> 1.e+02
%#.0e 0.000123456 -> 1.e-04
%#.0e 123456000 -> 1.e+08
%#.0e 0.5 -> 5.e-01
%#.0e 1.4 -> 1.e+00
%#.0e 1.5 -> 2.e+00
%#.0e 1.6 -> 2.e+00
%#.0e 2.4999999 -> 2.e+00
%#.0e 2.5 -> 2.e+00
%#.0e 2.5000001 -> 3.e+00
%#.0e 3.499999999999 -> 3.e+00
%#.0e 3.5 -> 4.e+00
%#.0e 4.5 -> 4.e+00
%#.0e 5.5 -> 6.e+00
%#.0e 6.5 -> 6.e+00
%#.0e 7.5 -> 8.e+00
%#.0e 8.5 -> 8.e+00
%#.0e 9.4999 -> 9.e+00
%#.0e 9.5 -> 1.e+01
%#.0e 10.5 -> 1.e+01
%#.0e 14.999 -> 1.e+01
%#.0e 15 -> 2.e+01
%#.1e 123.4 -> 1.2e+02
%#.2e 0.0001357 -> 1.36e-04

-- 'g' code formatting.

-- zeros
%.0g 0 -> 0
%.1g 0 -> 0
%.2g 0 -> 0
%.3g 0 -> 0
%.4g 0 -> 0
%.10g 0 -> 0
%.50g 0 -> 0
%.100g 0 -> 0

-- precision 0 doesn't make a lot of sense for the 'g' code (what does
-- it mean to have no significant digits?); in practice, it's interpreted
-- as identical to precision 1
%.0g 1000 -> 1e+03
%.0g 100 -> 1e+02
%.0g 10 -> 1e+01
%.0g 1 -> 1
%.0g 0.1 -> 0.1
%.0g 0.01 -> 0.01
%.0g 1e-3 -> 0.001
%.0g 1e-4 -> 0.0001
%.0g 1e-5 -> 1e-05
%.0g 1e-6 -> 1e-06
%.0g 12 -> 1e+01
%.0g 120 -> 1e+02
%.0g 1.2 -> 1
%.0g 0.12 -> 0.1
%.0g 0.012 -> 0.01
%.0g 0.0012 -> 0.001
%.0g 0.00012 -> 0.0001
%.0g 0.000012 -> 1e-05
%.0g 0.0000012 -> 1e-06

-- precision 1 identical to precision 0
%.1g 1000 -> 1e+03
%.1g 100 -> 1e+02
%.1g 10 -> 1e+01
%.1g 1 -> 1
%.1g 0.1 -> 0.1
%.1g 0.01 -> 0.01
%.1g 1e-3 -> 0.001
%.1g 1e-4 -> 0.0001
%.1g 1e-5 -> 1e-05
%.1g 1e-6 -> 1e-06
%.1g 12 -> 1e+01
%.1g 120 -> 1e+02
%.1g 1.2 -> 1
%.1g 0.12 -> 0.1
%.1g 0.012 -> 0.01
%.1g 0.0012 -> 0.001
%.1g 0.00012 -> 0.0001
%.1g 0.000012 -> 1e-05
%.1g 0.0000012 -> 1e-06

-- precision 2
%.2g 1000 -> 1e+03
%.2g 100 -> 1e+02
%.2g 10 -> 10
%.2g 1 -> 1
%.2g 0.1 -> 0.1
%.2g 0.01 -> 0.01
%.2g 0.001 -> 0.001
%.2g 1e-4 -> 0.0001
%.2g 1e-5 -> 1e-05
%.2g 1e-6 -> 1e-06
%.2g 1234 -> 1.2e+03
%.2g 123 -> 1.2e+02
%.2g 12.3 -> 12
%.2g 1.23 -> 1.2
%.2g 0.123 -> 0.12
%.2g 0.0123 -> 0.012
%.2g 0.00123 -> 0.0012
%.2g 0.000123 -> 0.00012
%.2g 0.0000123 -> 1.2e-05

-- bad cases from http://bugs.python.org/issue9980
%.12g 38210.0 -> 38210
%.12g 37210.0 -> 37210
%.12g 36210.0 -> 36210

-- alternate g formatting:  always include decimal point and
-- exactly <precision> significant digits.
%#.0g 0 -> 0.
%#.1g 0 -> 0.
%#.2g 0 -> 0.0
%#.3g 0 -> 0.00
%#.4g 0 -> 0.000

%#.0g 0.2 -> 0.2
%#.1g 0.2 -> 0.2
%#.2g 0.2 -> 0.20
%#.3g 0.2 -> 0.200
%#.4g 0.2 -> 0.2000
%#.10g 0.2 -> 0.2000000000

%#.0g 2 -> 2.
%#.1g 2 -> 2.
%#.2g 2 -> 2.0
%#.3g 2 -> 2.00
%#.4g 2 -> 2.000

%#.0g 20 -> 2.e+01
%#.1g 20 -> 2.e+01
%#.2g 20 -> 20.
%#.3g 20 -> 20.0
%#.4g 20 -> 20.00

%#.0g 234.56 -> 2.e+02
%#.1g 234.56 -> 2.e+02
%#.2g 234.56 -> 2.3e+02
%#.3g 234.56 -> 235.
%#.4g 234.56 -> 234.6
%#.5g 234.56 -> 234.56
%#.6g 234.56 -> 234.560

-- repr formatting.  Result always includes decimal point and at
-- least one digit after the point, or an exponent.
%r 0 -> 0.0
%r 1 -> 1.0

%r 0.01 -> 0.01
%r 0.02 -> 0.02
%r 0.03 -> 0.03
%r 0.04 -> 0.04
%r 0.05 -> 0.05

-- values >= 1e16 get an exponent
%r 10 -> 10.0
%r 100 -> 100.0
%r 1e15 -> 1000000000000000.0
%r 9.999e15 -> 9999000000000000.0
%r 9999999999999998 -> 9999999999999998.0
%r 9999999999999999 -> 1e+16
%r 1e16 -> 1e+16
%r 1e17 -> 1e+17

-- as do values < 1e-4
%r 1e-3 -> 0.001
%r 1.001e-4 -> 0.0001001
%r 1.0000000000000001e-4 -> 0.0001
%r 1.000000000000001e-4 -> 0.0001000000000000001
%r 1.00000000001e-4 -> 0.000100000000001
%r 1.0000000001e-4 -> 0.00010000000001
%r 1e-4 -> 0.0001
%r 0.99999999999999999e-4 -> 0.0001
%r 0.9999999999999999e-4 -> 9.999999999999999e-05
%r 0.999999999999e-4 -> 9.99999999999e-05
%r 0.999e-4 -> 9.99e-05
%r 1e-5 -> 1e-05
# -*- coding: utf-8 -*-
# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf' 
# at the start of it.  Make sure this is preserved if any changes
# are made!

# Arbitrary encoded utf-8 text (stolen from test_doctest2.py).
x = 'ЉЊЈЁЂ'
def y():
    """
    And again in a comment.  ЉЊЈЁЂ
    """
    pass
This is a sample doctest in a text file.

In this example, we'll rely on a global variable being set for us
already:

  >>> favorite_color
  'blue'

We can make this fail by disabling the blank-line feature.

  >>> if 1:
  ...    print('a')
  ...    print()
  ...    print('b')
  a
  <BLANKLINE>
  b
# These numbers are used to test floating point binary-to-decimal conversion.
# They are based on the TCL test suite (tests/expr.test), which is based on
# test data from:
# Brigitte Verdonk, Annie Cuyt, Dennis Verschaeren, A precision and range
# independent tool for testing floating-point arithmetic II: Conversions,
# ACM Transactions on Mathematical Software 27:2 (March 2001), pp. 119-140.

0E0
-0E0
1E0
15E-1
125E-2
1125E-3
10625E-4
103125E-5
1015625E-6
10078125E-7
100390625E-8
1001953125E-9
10009765625E-10
100048828125E-11
1000244140625E-12
10001220703125E-13
100006103515625E-14
1000030517578125E-15
10000152587890625E-16
+8E153
-1E153
+9E306
-2E153
+7E-304
-3E-49
+7E-303
-6E-49
+9E43
-9E44
+8E303
-1E303
+7E-287
-2E-204
+2E-205
-9E-47
+34E195
-68E195
+85E194
-67E97
+93E-234
-19E-87
+38E-87
-38E-88
-69E220
+18E43
-36E43
+61E-99
-43E-92
+86E-92
-51E-74
+283E85
-566E85
+589E187
-839E143
-744E-234
+930E-235
-186E-234
+604E175
-302E175
+755E174
-151E175
+662E-213
-408E-74
+510E-75
+6782E55
-2309E92
+7963E34
-3391E55
+7903E-96
-7611E-226
+4907E-196
-5547E-311
+5311E241
-5311E243
+5311E242
+9269E-45
-8559E-289
+8699E-276
-8085E-64
+74819E201
-82081E41
+51881E37
-55061E157
+77402E-215
-33891E-92
+38701E-215
-82139E-76
+75859E25
+89509E140
-57533E287
+46073E-32
-92146E-32
+83771E-74
-34796E-276
+584169E229
+164162E41
-328324E41
+209901E-11
-419802E-11
+940189E-112
-892771E-213
+757803E120
-252601E120
+252601E121
-505202E120
+970811E-264
-654839E-60
+289767E-178
-579534E-178
-8823691E130
+9346704E229
-1168338E229
-6063369E-136
+3865421E-225
-5783893E-127
+2572231E223
-5144462E223
+1817623E109
+6431543E-97
-5444097E-21
+8076999E-121
-9997649E-270
+50609263E157
+70589528E130
-88236910E129
+87575437E-310
-23135572E-127
+85900881E177
-84863171E113
+68761586E232
-50464069E286
+27869147E-248
-55738294E-248
+70176353E-53
-80555086E-32
-491080654E121
+526250918E287
-245540327E121
-175150874E-310
+350301748E-310
-437877185E-311
+458117166E52
-916234332E52
+229058583E52
-525789935E98
+282926897E-227
-565853794E-227
+667284113E-240
-971212611E-126
+9981396317E-182
-5035231965E-156
+8336960483E-153
-8056371144E-155
+6418488827E79
-3981006983E252
+7962013966E252
-4713898551E261
+8715380633E-58
-9078555839E-109
+9712126110E-127
+42333842451E201
-84667684902E201
+23792120709E-315
-78564021519E-227
+71812054883E-188
-30311163631E-116
+71803914657E292
+36314223356E-109
+18157111678E-109
-45392779195E-110
+778380362293E218
-685763015669E280
+952918668151E70
-548357443505E32
+384865004907E-285
-769730009814E-285
+697015418417E-93
-915654049301E-28
+178548656339E169
-742522891517E259
+742522891517E258
-357097312678E169
-3113521449172E218
+3891901811465E217
-1556760724586E218
+9997878507563E-195
-7247563029154E-319
+3623781514577E-319
-3092446298323E-200
+6363857920591E145
-8233559360849E94
+2689845954547E49
-5379691909094E49
+5560322501926E-301
-7812878489261E-179
+8439398533053E-256
-2780161250963E-301
-87605699161665E155
-17521139832333E156
-88218101363513E-170
+38639244311627E-115
+35593959807306E261
-53390939710959E260
+71187919614612E261
-88984899518265E260
+77003665618895E-73
-15400733123779E-72
+61602932495116E-72
-30801466247558E-72
+834735494917063E-300
-589795149206434E-151
+475603213226859E-42
-294897574603217E-151
+850813008001913E93
-203449172043339E185
+406898344086678E185
-813796688173356E185
+6045338514609393E244
-5145963778954906E142
+2572981889477453E142
-6965949469487146E74
+6182410494241627E-119
-8510309498186985E-277
+6647704637273331E-212
-2215901545757777E-212
+3771476185376383E276
-3729901848043846E212
+3771476185376383E277
-9977830465649166E119
+8439928496349319E-142
-8204230082070882E-59
+8853686434843997E-244
-5553274272288559E-104
+36149023611096162E144
-36149023611096162E147
+18074511805548081E146
-18074511805548081E147
+97338774138954421E-290
-88133809804950961E-308
+94080055902682397E-243
-24691002732654881E-115
+52306490527514614E49
-26153245263757307E49
+55188692254193604E165
-68985865317742005E164
+27176258005319167E-261
-73169230107256116E-248
+91461537634070145E-249
-54352516010638334E-261
+586144289638535878E280
-601117006785295431E245
+293072144819267939E280
-953184713238516652E272
+902042358290366539E-281
-557035730189854663E-294
+902042358290366539E-280
-354944100507554393E-238
+272104041512242479E199
-816312124536727437E199
+544208083024484958E199
-792644927852378159E78
-679406450132979175E-263
+543525160106383340E-262
+7400253695682920196E215
-1850063423920730049E215
+3700126847841460098E215
-9250317119603650245E214
+8396094300569779681E-252
-3507665085003296281E-75
+7015330170006592562E-75
-7015330170006592562E-74
+7185620434951919351E205
-1360520207561212395E198
+2178999185345151731E-184
-8691089486201567102E-218
+4345544743100783551E-218
-4357998370690303462E-184
+59825267349106892461E177
-62259110684423957791E47
+58380168477038565599E265
-62259110684423957791E48
-33584377202279118724E-252
-57484963479615354808E205
+71856204349519193510E204
-14371240869903838702E205
+36992084760177624177E-318
-73984169520355248354E-318
+99257763227713890244E-115
-87336362425182547697E-280
+7E289
-3E153
+6E153
-5E243
+7E-161
-7E-172
+8E-63
-7E-113
+8E126
-4E126
+5E125
-1E126
+8E-163
-1E-163
+2E-163
-4E-163
+51E195
-37E46
+74E46
-56E289
+69E-145
-70E-162
+56E-161
-21E-303
+34E-276
-68E-276
+85E-277
-87E-274
+829E102
-623E100
+723E-162
-457E-102
+914E-102
-323E-135
+151E176
-302E176
+921E90
-604E176
+823E-206
-463E-114
+348E-274
+9968E100
-6230E99
+1246E100
+6676E-296
-8345E-297
+1669E-296
-3338E-296
+3257E58
-6514E58
+2416E176
+8085E-63
-3234E-62
+1617E-62
-6468E-62
+53418E111
-60513E160
+26709E111
-99447E166
+12549E48
-25098E48
+50196E48
-62745E47
+83771E-73
-97451E-167
+86637E-203
-75569E-254
+473806E83
-947612E83
+292369E76
-584738E76
+933587E-140
-720919E-14
+535001E-149
-890521E-235
+548057E81
-706181E88
+820997E106
-320681E63
+928609E-261
-302276E-254
+151138E-254
+4691773E45
-9383546E45
+3059949E-243
-6119898E-243
+5356626E-213
-4877378E-199
+7716693E223
-5452869E109
+4590831E156
-9181662E156
-3714436E-261
+4643045E-262
-7428872E-261
+52942146E130
-27966061E145
+26471073E130
-55932122E145
+95412548E-99
-47706274E-99
+23853137E-99
-78493654E-301
+65346417E29
-51083099E167
+89396333E264
-84863171E114
+59540836E-251
-74426045E-252
+14885209E-251
-29770418E-251
+982161308E122
-245540327E122
+491080654E122
+525452622E-310
-771837113E-134
+820858081E-150
-262726311E-310
+923091487E209
-653777767E273
+842116236E-53
-741111169E-202
+839507247E-284
-951487269E-264
-9821613080E121
+6677856011E-31
-3573796826E-266
+7147593652E-266
-9981396317E-181
+3268888835E272
-2615111068E273
+1307555534E273
+2990671154E-190
-1495335577E-190
+5981342308E-190
-7476677885E-191
+82259684194E-202
-93227267727E-49
+41129842097E-202
-47584241418E-314
-79360293406E92
+57332259349E225
-57202326162E111
+86860597053E-206
-53827010643E-200
+53587107423E-61
+635007636765E200
+508006109412E201
-254003054706E201
+561029718715E-72
-897647549944E-71
+112205943743E-71
-873947086081E-236
+809184709177E116
-573112917422E81
+286556458711E81
+952805821491E-259
-132189992873E-44
-173696038493E-144
+1831132757599E-107
-9155663787995E-108
+7324531030396E-107
-9277338894969E-200
+8188292423973E287
-5672557437938E59
+2836278718969E59
-9995153153494E54
+9224786422069E-291
-3142213164987E-294
+6284426329974E-294
-8340483752889E-301
+67039371486466E89
-62150786615239E197
+33519685743233E89
-52563419496999E156
+32599460466991E-65
-41010988798007E-133
+65198920933982E-65
-82021977596014E-133
+80527976643809E61
-74712611505209E158
+53390939710959E261
-69277302659155E225
+46202199371337E-72
-23438635467783E-179
+41921560615349E-67
-92404398742674E-72
+738545606647197E124
-972708181182949E117
-837992143580825E87
+609610927149051E-255
-475603213226859E-41
+563002800671023E-177
-951206426453718E-41
+805416432656519E202
-530658674694337E159
+946574173863918E208
-318329953318553E113
-462021993713370E-73
+369617594970696E-72
+3666156212014994E233
-1833078106007497E233
+8301790508624232E174
-1037723813578029E174
+7297662880581139E-286
-5106185698912191E-276
+7487252720986826E-165
-3743626360493413E-165
+3773057430100257E230
-7546114860200514E230
+4321222892463822E58
-7793560217139653E51
+26525993941010681E112
-53051987882021362E112
+72844871414247907E77
-88839359596763261E105
+18718131802467065E-166
-14974505441973652E-165
+73429396004640239E106
-58483921078398283E57
+41391519190645203E165
-82783038381290406E165
+58767043776702677E-163
-90506231831231999E-129
+64409240769861689E-159
-77305427432277771E-190
+476592356619258326E273
-953184713238516652E273
+899810892172646163E283
-929167076892018333E187
+647761278967534239E-312
-644290479820542942E-180
+926145344610700019E-225
-958507931896511964E-246
+272104041512242479E200
-792644927852378159E79
+544208083024484958E200
-929963218616126365E290
+305574339166810102E-219
-152787169583405051E-219
+611148678333620204E-219
-763935847917025255E-220
+7439550220920798612E158
-3719775110460399306E158
+9299437776150998265E157
-7120190517612959703E120
+3507665085003296281E-73
-7015330170006592562E-73
-6684428762278255956E-294
-1088416166048969916E200
-8707329328391759328E200
+4439021781608558002E-65
-8878043563217116004E-65
+2219510890804279001E-65
+33051223951904955802E55
-56961524140903677624E120
+71201905176129597030E119
+14030660340013185124E-73
-17538325425016481405E-74
+67536228609141569109E-133
-35620497849450218807E-306
+66550376797582521751E-126
-71240995698900437614E-306
+3E24
-6E24
+6E26
-7E25
+1E-14
-2E-14
+4E-14
-8E-14
+5E26
-8E27
+1E27
-4E27
+9E-13
-7E-20
+56E25
-70E24
+51E26
+71E-17
-31E-5
+62E-5
-94E-8
+67E27
-81E24
+54E23
-54E25
+63E-22
-63E-23
+43E-4
-86E-4
+942E26
-471E25
+803E24
-471E26
-409E-21
+818E-21
-867E-8
+538E27
-857E24
+269E27
-403E26
+959E-7
-959E-6
+373E-27
-746E-27
+4069E24
-4069E23
-8138E24
+8294E-15
-4147E-14
+4147E-15
-8294E-14
+538E27
-2690E26
+269E27
-2152E27
+1721E-17
-7979E-27
+6884E-17
-8605E-18
+82854E27
-55684E24
+27842E24
-48959E25
+81921E-17
-76207E-8
+4147E-15
-41470E-16
+89309E24
+75859E26
-75859E25
+14257E-23
-28514E-23
+57028E-23
-71285E-24
+344863E27
-951735E27
+200677E23
-401354E24
+839604E-11
-209901E-11
+419802E-11
-537734E-24
+910308E26
-227577E26
+455154E26
-531013E25
+963019E-21
-519827E-13
+623402E-27
-311701E-27
+9613651E26
-9191316E23
+4595658E23
-2297829E23
-1679208E-11
+3379223E27
-6758446E27
+5444097E-21
-8399969E-27
+8366487E-16
-8366487E-15
+65060671E25
+65212389E23
+55544957E-13
-51040905E-20
+99585767E-22
-99585767E-23
+40978393E26
-67488159E24
+69005339E23
-81956786E26
-87105552E-21
+10888194E-21
-21776388E-21
+635806667E27
-670026614E25
+335013307E26
-335013307E25
+371790617E-24
-371790617E-25
+743581234E-24
-743581234E-25
+202464477E24
-404928954E24
+997853758E27
-997853758E26
+405498418E-17
-582579084E-14
+608247627E-18
-291289542E-14
-9537100005E26
+6358066670E27
-1271613334E27
+5229646999E-16
+5229646999E-17
+4429943614E24
-8859887228E24
+2214971807E24
-4176887093E26
+4003495257E-20
-4361901637E-23
+8723803274E-23
-8006990514E-20
+72835110098E27
-36417555049E27
+84279630104E25
-84279630104E24
+21206176437E-27
-66461566917E-22
+64808355539E-16
-84932679673E-19
+65205430094E26
-68384463429E25
+32602715047E26
-62662203426E27
+58784444678E-18
-50980203373E-21
+29392222339E-18
-75529940323E-27
-937495906299E26
+842642485799E-20
-387824150699E-23
+924948814726E-27
-775648301398E-23
+547075707432E25
+683844634290E24
-136768926858E25
+509802033730E-22
+101960406746E-21
-815683253968E-21
+7344124123524E24
-9180155154405E23
+6479463327323E27
-1836031030881E24
+4337269293039E-19
-4599163554373E-23
+9198327108746E-23
+4812803938347E27
-8412030890011E23
+9625607876694E27
-4739968828249E24
+9697183891673E-23
-7368108517543E-20
+51461358161422E25
-77192037242133E26
+77192037242133E25
-51461358161422E27
+43999661561541E-21
-87999323123082E-21
+48374886826137E-26
-57684246567111E-23
+87192805957686E23
-75108713005913E24
+64233110587487E27
-77577471133384E-23
+48485919458365E-24
-56908598265713E-26
+589722294620133E23
+652835804449289E-22
-656415363936202E-23
+579336749585745E-25
-381292764980839E-26
+965265859649698E23
-848925235434882E27
+536177612222491E23
-424462617717441E27
+276009279888989E-27
-608927158043691E-26
+552018559777978E-27
-425678377667758E-22
+8013702726927119E26
+8862627962362001E27
-5068007907757162E26
-7379714799828406E-23
+4114538064016107E-27
-3689857399914203E-23
+5575954851815478E23
+3395700941739528E27
+4115535777581961E-23
-8231071555163922E-23
+6550246696190871E-26
-68083046403986701E27
+43566388595783643E27
-87132777191567286E27
+59644881059342141E25
-83852770718576667E23
+99482967418206961E-25
-99482967418206961E-26
+87446669969994614E-27
-43723334984997307E-27
+5E24
-8E25
+1E25
-4E25
+2E-5
-5E-6
+4E-5
-3E-20
+3E27
-9E26
+7E25
-6E27
+2E-21
-5E-22
-4E-21
+87E25
-97E24
+82E-24
-41E-24
+76E-23
+83E25
-50E27
+25E27
-99E27
+97E-10
-57E-20
+997E23
+776E24
-388E24
+521E-10
-506E-26
+739E-10
-867E-7
-415E24
+332E25
-664E25
+291E-13
-982E-8
+582E-13
-491E-8
+4574E26
-8609E26
+2287E26
-4818E24
+6529E-8
-8151E-21
+1557E-12
-2573E-18
+4929E-16
-3053E-22
+9858E-16
-7767E-11
+54339E26
-62409E25
+32819E27
-89849E27
+63876E-20
-15969E-20
+31938E-20
-79845E-21
+89306E27
-25487E24
+79889E24
-97379E26
+81002E-8
-43149E-25
+40501E-8
-60318E-10
-648299E27
+780649E24
+720919E-14
-629703E-11
+557913E24
-847899E23
+565445E27
-736531E24
+680013E-19
-529981E-10
+382923E-23
-633614E-18
+2165479E27
-8661916E27
+4330958E27
-9391993E22
-5767352E-14
+7209190E-15
-1441838E-14
+8478990E22
+1473062E24
+8366487E-14
-8399969E-25
+9366737E-12
-9406141E-13
+65970979E24
-65060671E26
+54923002E27
-63846927E25
+99585767E-21
+67488159E25
-69005339E24
+81956786E27
-40978393E27
+77505754E-12
-38752877E-12
+82772981E-15
-95593517E-25
+200036989E25
-772686455E27
+859139907E23
-400073978E25
+569014327E-14
-794263862E-15
+397131931E-15
-380398957E-16
+567366773E27
-337440795E24
+134976318E25
-269952636E25
+932080597E-20
-331091924E-15
-413864905E-16
+8539246247E26
-5859139791E26
+6105010149E24
-3090745820E27
+3470877773E-20
-6136309089E-27
+8917758713E-19
-6941755546E-20
+9194900535E25
-1838980107E26
+7355920428E26
-3677960214E26
+8473634343E-17
-8870766274E-16
+4435383137E-16
-9598990129E-15
+71563496764E26
-89454370955E25
+17890874191E26
-35781748382E26
+57973447842E-19
-28986723921E-19
+76822711313E-19
-97699466874E-20
+67748656762E27
-19394840991E24
+38789681982E24
-33874328381E27
+54323763886E-27
-58987193887E-20
+27161881943E-27
-93042648033E-19
+520831059055E27
-768124264394E25
+384062132197E25
+765337749889E-25
+794368912771E25
-994162090146E23
+781652779431E26
+910077190046E-26
-455038595023E-26
+471897551096E-20
-906698409911E-21
+8854128003935E25
-8146122716299E27
+7083302403148E26
-3541651201574E26
+8394920649291E-25
-7657975756753E-22
+5473834002228E-20
-6842292502785E-21
-2109568884597E25
+8438275538388E25
-4219137769194E25
+3200141789841E-25
-8655689322607E-22
+6400283579682E-25
-8837719634493E-21
+19428217075297E24
-38856434150594E24
+77712868301188E24
-77192037242133E27
+76579757567530E-23
+15315951513506E-22
-38289878783765E-23
+49378033925202E25
-50940527102367E24
+98756067850404E25
-99589397544892E26
-56908598265713E-25
+97470695699657E-22
-35851901247343E-25
+154384074484266E27
-308768148968532E27
+910990389005985E23
+271742424169201E-27
-543484848338402E-27
+162192083357563E-26
-869254552770081E-23
+664831007626046E24
-332415503813023E24
+943701829041427E24
-101881054204734E24
+828027839666967E-27
-280276135608777E-27
+212839188833879E-21
-113817196531426E-25
+9711553197796883E27
-2739849386524269E26
+5479698773048538E26
+6124568318523113E-25
-1139777988171071E-24
+6322612303128019E-27
-2955864564844617E-25
-9994029144998961E25
-2971238324022087E27
-1656055679333934E-27
-1445488709150234E-26
+55824717499885172E27
-69780896874856465E26
+84161538867545199E25
-27912358749942586E27
+24711112462926331E-25
-12645224606256038E-27
-12249136637046226E-25
+74874448287465757E27
-35642836832753303E24
-71285673665506606E24
+43723334984997307E-26
+10182419849537963E-24
-93501703572661982E-26

# A value that caused a crash in debug builds for Python >= 2.7, 3.1
# See http://bugs.python.org/issue7632
2183167012312112312312.23538020374420446192e-370

# Another value designed to test a corner case of Python's strtod code.
0.99999999999999999999999999999999999999999e+23
# Mailcap file for test_mailcap; based on RFC 1524
# Referred to by test_mailcap.py

#
# This is a comment.
#

application/frame; showframe %s; print="cat %s | lp"
application/postscript; ps-to-terminal %s;\
    needsterminal
application/postscript; ps-to-terminal %s; \
    compose=idraw %s
application/x-dvi; xdvi %s
application/x-movie; movieplayer %s; compose=moviemaker %s; \
       description="Movie"; \
       x11-bitmap="/usr/lib/Zmail/bitmaps/movie.xbm"
application/*; echo "This is \"%t\" but \
       is 50 \% Greek to me" \; cat %s; copiousoutput

audio/basic; showaudio %s; compose=audiocompose %s; edit=audiocompose %s;\
description="An audio fragment"
audio/* ; /usr/local/bin/showaudio %t

image/rgb; display %s
#image/gif; display %s
image/x-xwindowdump; display %s

# The continuation char shouldn't \
# make a difference in a comment.

message/external-body; showexternal %s %{access-type} %{name} %{site} \
    %{directory} %{mode} %{server}; needsterminal; composetyped = extcompose %s; \
    description="A reference to data stored in an external location"

text/richtext; shownonascii iso-8859-8 -e richtext -p %s; test=test "`echo \
    %{charset} | tr '[A-Z]' '[a-z]'`"  = iso-8859-8; copiousoutput

video/*; animate %s
video/mpeg; mpeg_play %s
Here we check that `__file__` is provided:

  >>> type(__file__)
  <class 'str'>
This directory contains test cases that are known to leak references.
The idea is that you can import these modules while in the interpreter
and call the leak function repeatedly.  This will only be helpful if
the interpreter was built in debug mode.  If the total ref count
doesn't increase, the bug has been fixed and the file should be removed
from the repository.

Note:  be careful to check for cyclic garbage.  Sometimes it may be helpful
to define the leak function like:

def leak():
    def inner_leak():
        # this is the function that leaks, but also creates cycles
    inner_leak()
    gc.collect() ; gc.collect() ; gc.collect()

Here's an example interpreter session for test_gestalt which still leaks:

>>> from test.leakers.test_gestalt import leak
[24275 refs]
>>> leak()
[28936 refs]
>>> leak()
[28938 refs]
>>> leak()
[28940 refs]
>>> 

Once the leak is fixed, the test case should be moved into an appropriate
test (even if it was originally from the test suite).  This ensures the
regression doesn't happen again.  And if it does, it should be easier
to track down.
# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf' 
# at the start of it.  Make sure this is preserved if any changes
# are made!

# Arbitrary encoded utf-8 text (stolen from test_doctest2.py).
x = 'ЉЊЈЁЂ'
def y():
    """
    And again in a comment.  ЉЊЈЁЂ
    """
    pass
*********************************************************************
 THESE INSTRUCTIONS ARE ONLY FOR MAC OS X 10.3, AND WILL ONLY CREATE 
 STANDALONE BUNDLES FOR MAC OS X 10.3.  THERE IS NO SUPPORT FOR 
 MAC OS X 10.2.

Also works on 10.4 and 10.5
*********************************************************************


Install py2app and its dependencies.

easy_install py2app



To create the bundle:
    python setup.py py2app
Copyright (c) 2005-2017, NumPy Developers.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

    * Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above
       copyright notice, this list of conditions and the following
       disclaimer in the documentation and/or other materials provided
       with the distribution.

    * Neither the name of the NumPy Developers nor the names of any
       contributors may be used to endorse or promote products derived
       from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



The NumPy repository and source distributions bundle several libraries that are
compatibly licensed.  We list these here.

Name: Numpydoc
Files: doc/sphinxext/numpydoc/*
License: 2-clause BSD
  For details, see doc/sphinxext/LICENSE.txt

Name: scipy-sphinx-theme
Files: doc/scipy-sphinx-theme/*
License: 3-clause BSD, PSF and Apache 2.0
  For details, see doc/sphinxext/LICENSE.txt

Name: lapack-lite
Files: numpy/linalg/lapack_lite/*
License: 3-clause BSD
  For details, see numpy/linalg/lapack_lite/LICENSE.txt

Name: tempita
Files: tools/npy_tempita/*
License: BSD derived
  For details, see tools/npy_tempita/license.txt

Name: dragon4
Files: numpy/core/src/multiarray/dragon4.c
License: One of a kind
  For license text, see numpy/core/src/multiarray/dragon4.c

----

This binary distribution of NumPy also bundles the following software:


Name: OpenBLAS
Files: extra-dll\libopenb*.dll
Description: bundled as a dynamically linked library
Availability: https://github.com/xianyi/OpenBLAS/
License: 3-clause BSD
  Copyright (c) 2011-2014, The OpenBLAS Project
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are
  met:

     1. Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.

     2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in
        the documentation and/or other materials provided with the
        distribution.
     3. Neither the name of the OpenBLAS project nor the names of
        its contributors may be used to endorse or promote products
        derived from this software without specific prior written
        permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Name: LAPACK
Files: extra-dll\libopenb*.dll
Description: bundled in OpenBLAS
Availability: https://github.com/xianyi/OpenBLAS/
License 3-clause BSD
  Copyright (c) 1992-2013 The University of Tennessee and The University
                          of Tennessee Research Foundation.  All rights
                          reserved.
  Copyright (c) 2000-2013 The University of California Berkeley. All
                          rights reserved.
  Copyright (c) 2006-2013 The University of Colorado Denver.  All rights
                          reserved.

  $COPYRIGHT$

  Additional copyrights may follow

  $HEADER$

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are
  met:

  - Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

  - Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer listed
    in this license in the documentation and/or other materials
    provided with the distribution.

  - Neither the name of the copyright holders nor the names of its
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.

  The copyright holders provide no reassurances that the source code
  provided does not infringe any patent, copyright, or any other
  intellectual property rights of third parties.  The copyright holders
  disclaim any liability to any recipient for claims brought against
  recipient by any third party for infringement of that parties
  intellectual property rights.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Name: GCC runtime library
Files: extra-dll\*.dll
Description: statically linked, in DLL files compiled with gfortran only
Availability: https://gcc.gnu.org/viewcvs/gcc/
License: GPLv3 + runtime exception
  Copyright (C) 2002-2017 Free Software Foundation, Inc.

  Libgfortran is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 3, or (at your option)
  any later version.

  Libgfortran is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  Under Section 7 of GPL version 3, you are granted additional
  permissions described in the GCC Runtime Library Exception, version
  3.1, as published by the Free Software Foundation.

  You should have received a copy of the GNU General Public License and
  a copy of the GCC Runtime Library Exception along with this program;
  see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  <http://www.gnu.org/licenses/>.


Name: Microsoft Visual C++ Runtime Files
Files: extra-dll\msvcp140.dll
License: MSVC
  https://www.visualstudio.com/license-terms/distributable-code-microsoft-visual-studio-2015-rc-microsoft-visual-studio-2015-sdk-rc-includes-utilities-buildserver-files/#visual-c-runtime

  Subject to the License Terms for the software, you may copy and
  distribute with your program any of the files within the followng
  folder and its subfolders except as noted below. You may not modify
  these files.

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist

  You may not distribute the contents of the following folders:

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\debug_nonredist
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\onecore\debug_nonredist

  Subject to the License Terms for the software, you may copy and
  distribute the following files with your program in your program’s
  application local folder or by deploying them into the Global
  Assembly Cache (GAC):

  VC\atlmfc\lib\mfcmifc80.dll
  VC\atlmfc\lib\amd64\mfcmifc80.dll


Name: Microsoft Visual C++ Runtime Files
Files: extra-dll\msvc*90.dll, extra-dll\Microsoft.VC90.CRT.manifest
License: MSVC
  For your convenience, we have provided the following folders for
  use when redistributing VC++ runtime files. Subject to the license
  terms for the software, you may redistribute the folder
  (unmodified) in the application local folder as a sub-folder with
  no change to the folder name. You may also redistribute all the
  files (*.dll and *.manifest) within a folder, listed below the
  folder for your convenience, as an entire set.

  \VC\redist\x86\Microsoft.VC90.ATL\
   atl90.dll
   Microsoft.VC90.ATL.manifest
  \VC\redist\ia64\Microsoft.VC90.ATL\
   atl90.dll
   Microsoft.VC90.ATL.manifest
  \VC\redist\amd64\Microsoft.VC90.ATL\
   atl90.dll
   Microsoft.VC90.ATL.manifest
  \VC\redist\x86\Microsoft.VC90.CRT\
   msvcm90.dll
   msvcp90.dll
   msvcr90.dll
   Microsoft.VC90.CRT.manifest
  \VC\redist\ia64\Microsoft.VC90.CRT\
   msvcm90.dll
   msvcp90.dll
   msvcr90.dll
   Microsoft.VC90.CRT.manifest

----

Full text of license texts referred to above follows (that they are
listed below does not necessarily imply the conditions apply to the
present binary release):

----

GCC RUNTIME LIBRARY EXCEPTION

Version 3.1, 31 March 2009

Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

This GCC Runtime Library Exception ("Exception") is an additional
permission under section 7 of the GNU General Public License, version
3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
bears a notice placed by the copyright holder of the file stating that
the file is governed by GPLv3 along with this Exception.

When you use GCC to compile a program, GCC may combine portions of
certain GCC header files and runtime libraries with the compiled
program. The purpose of this Exception is to allow compilation of
non-GPL (including proprietary) programs to use, in this way, the
header files and runtime libraries covered by this Exception.

0. Definitions.

A file is an "Independent Module" if it either requires the Runtime
Library for execution after a Compilation Process, or makes use of an
interface provided by the Runtime Library, but is not otherwise based
on the Runtime Library.

"GCC" means a version of the GNU Compiler Collection, with or without
modifications, governed by version 3 (or a specified later version) of
the GNU General Public License (GPL) with the option of using any
subsequent versions published by the FSF.

"GPL-compatible Software" is software whose conditions of propagation,
modification and use would permit combination with GCC in accord with
the license of GCC.

"Target Code" refers to output from any compiler for a real or virtual
target processor architecture, in executable form or suitable for
input to an assembler, loader, linker and/or execution
phase. Notwithstanding that, Target Code does not include data in any
format that is used as a compiler intermediate representation, or used
for producing a compiler intermediate representation.

The "Compilation Process" transforms code entirely represented in
non-intermediate languages designed for human-written code, and/or in
Java Virtual Machine byte code, into Target Code. Thus, for example,
use of source code generators and preprocessors need not be considered
part of the Compilation Process, since the Compilation Process can be
understood as starting with the output of the generators or
preprocessors.

A Compilation Process is "Eligible" if it is done using GCC, alone or
with other GPL-compatible software, or if it is done without using any
work based on GCC. For example, using non-GPL-compatible Software to
optimize any GCC intermediate representations would not qualify as an
Eligible Compilation Process.

1. Grant of Additional Permission.

You have permission to propagate a work of Target Code formed by
combining the Runtime Library with Independent Modules, even if such
propagation would otherwise violate the terms of GPLv3, provided that
all Target Code was generated by Eligible Compilation Processes. You
may then convey such a combination under terms of your choice,
consistent with the licensing of the Independent Modules.

2. No Weakening of GCC Copyleft.

The availability of this Exception does not imply any general
presumption that third-party software is unaffected by the copyleft
requirements of the license of GCC.

----

                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

=================
NumPy Ufunc C-API
=================
::

  PyObject *
  PyUFunc_FromFuncAndData(PyUFuncGenericFunction *func, void
                          **data, char *types, int ntypes, int nin, int
                          nout, int identity, const char *name, const
                          char *doc, int unused)


::

  int
  PyUFunc_RegisterLoopForType(PyUFuncObject *ufunc, int
                              usertype, PyUFuncGenericFunction
                              function, int *arg_types, void *data)


::

  int
  PyUFunc_GenericFunction(PyUFuncObject *ufunc, PyObject *args, PyObject
                          *kwds, PyArrayObject **op)


This generic function is called with the ufunc object, the arguments to it,
and an array of (pointers to) PyArrayObjects which are NULL.

'op' is an array of at least NPY_MAXARGS PyArrayObject *.

::

  void
  PyUFunc_f_f_As_d_d(char **args, npy_intp *dimensions, npy_intp
                     *steps, void *func)


::

  void
  PyUFunc_d_d(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_f_f(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_g_g(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_F_F_As_D_D(char **args, npy_intp *dimensions, npy_intp
                     *steps, void *func)


::

  void
  PyUFunc_F_F(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_D_D(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_G_G(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_O_O(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_ff_f_As_dd_d(char **args, npy_intp *dimensions, npy_intp
                       *steps, void *func)


::

  void
  PyUFunc_ff_f(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_dd_d(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_gg_g(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_FF_F_As_DD_D(char **args, npy_intp *dimensions, npy_intp
                       *steps, void *func)


::

  void
  PyUFunc_DD_D(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_FF_F(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_GG_G(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_OO_O(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_O_O_method(char **args, npy_intp *dimensions, npy_intp
                     *steps, void *func)


::

  void
  PyUFunc_OO_O_method(char **args, npy_intp *dimensions, npy_intp
                      *steps, void *func)


::

  void
  PyUFunc_On_Om(char **args, npy_intp *dimensions, npy_intp *steps, void
                *func)


::

  int
  PyUFunc_GetPyValues(char *name, int *bufsize, int *errmask, PyObject
                      **errobj)


On return, if errobj is populated with a non-NULL value, the caller
owns a new reference to errobj.

::

  int
  PyUFunc_checkfperr(int errmask, PyObject *errobj, int *first)


::

  void
  PyUFunc_clearfperr()


::

  int
  PyUFunc_getfperr(void )


::

  int
  PyUFunc_handlefperr(int errmask, PyObject *errobj, int retstatus, int
                      *first)


::

  int
  PyUFunc_ReplaceLoopBySignature(PyUFuncObject
                                 *func, PyUFuncGenericFunction
                                 newfunc, int
                                 *signature, PyUFuncGenericFunction
                                 *oldfunc)


::

  PyObject *
  PyUFunc_FromFuncAndDataAndSignature(PyUFuncGenericFunction *func, void
                                      **data, char *types, int
                                      ntypes, int nin, int nout, int
                                      identity, const char *name, const
                                      char *doc, int unused, const char
                                      *signature)


::

  int
  PyUFunc_SetUsesArraysAsData(void **data, size_t i)


::

  void
  PyUFunc_e_e(char **args, npy_intp *dimensions, npy_intp *steps, void
              *func)


::

  void
  PyUFunc_e_e_As_f_f(char **args, npy_intp *dimensions, npy_intp
                     *steps, void *func)


::

  void
  PyUFunc_e_e_As_d_d(char **args, npy_intp *dimensions, npy_intp
                     *steps, void *func)


::

  void
  PyUFunc_ee_e(char **args, npy_intp *dimensions, npy_intp *steps, void
               *func)


::

  void
  PyUFunc_ee_e_As_ff_f(char **args, npy_intp *dimensions, npy_intp
                       *steps, void *func)


::

  void
  PyUFunc_ee_e_As_dd_d(char **args, npy_intp *dimensions, npy_intp
                       *steps, void *func)


::

  int
  PyUFunc_DefaultTypeResolver(PyUFuncObject *ufunc, NPY_CASTING
                              casting, PyArrayObject
                              **operands, PyObject
                              *type_tup, PyArray_Descr **out_dtypes)


This function applies the default type resolution rules
for the provided ufunc.

Returns 0 on success, -1 on error.

::

  int
  PyUFunc_ValidateCasting(PyUFuncObject *ufunc, NPY_CASTING
                          casting, PyArrayObject
                          **operands, PyArray_Descr **dtypes)


Validates that the input operands can be cast to
the input types, and the output types can be cast to
the output operands where provided.

Returns 0 on success, -1 (with exception raised) on validation failure.

::

  int
  PyUFunc_RegisterLoopForDescr(PyUFuncObject *ufunc, PyArray_Descr
                               *user_dtype, PyUFuncGenericFunction
                               function, PyArray_Descr
                               **arg_dtypes, void *data)



===========
NumPy C-API
===========
::

  unsigned int
  PyArray_GetNDArrayCVersion(void )


Included at the very first so not auto-grabbed and thus not labeled.

::

  int
  PyArray_SetNumericOps(PyObject *dict)

Set internal structure with number functions that all arrays will use

::

  PyObject *
  PyArray_GetNumericOps(void )

Get dictionary showing number functions that all arrays will use

::

  int
  PyArray_INCREF(PyArrayObject *mp)

For object arrays, increment all internal references.

::

  int
  PyArray_XDECREF(PyArrayObject *mp)

Decrement all internal references for object arrays.
(or arrays with object fields)

::

  void
  PyArray_SetStringFunction(PyObject *op, int repr)

Set the array print function to be a Python function.

::

  PyArray_Descr *
  PyArray_DescrFromType(int type)

Get the PyArray_Descr structure for a type.

::

  PyObject *
  PyArray_TypeObjectFromType(int type)

Get a typeobject from a type-number -- can return NULL.

New reference

::

  char *
  PyArray_Zero(PyArrayObject *arr)

Get pointer to zero of correct type for array.

::

  char *
  PyArray_One(PyArrayObject *arr)

Get pointer to one of correct type for array

::

  PyObject *
  PyArray_CastToType(PyArrayObject *arr, PyArray_Descr *dtype, int
                     is_f_order)

For backward compatibility

Cast an array using typecode structure.
steals reference to dtype --- cannot be NULL

This function always makes a copy of arr, even if the dtype
doesn't change.

::

  int
  PyArray_CastTo(PyArrayObject *out, PyArrayObject *mp)

Cast to an already created array.

::

  int
  PyArray_CastAnyTo(PyArrayObject *out, PyArrayObject *mp)

Cast to an already created array.  Arrays don't have to be "broadcastable"
Only requirement is they have the same number of elements.

::

  int
  PyArray_CanCastSafely(int fromtype, int totype)

Check the type coercion rules.

::

  npy_bool
  PyArray_CanCastTo(PyArray_Descr *from, PyArray_Descr *to)

leaves reference count alone --- cannot be NULL

PyArray_CanCastTypeTo is equivalent to this, but adds a 'casting'
parameter.

::

  int
  PyArray_ObjectType(PyObject *op, int minimum_type)

Return the typecode of the array a Python object would be converted to

Returns the type number the result should have, or NPY_NOTYPE on error.

::

  PyArray_Descr *
  PyArray_DescrFromObject(PyObject *op, PyArray_Descr *mintype)

new reference -- accepts NULL for mintype

::

  PyArrayObject **
  PyArray_ConvertToCommonType(PyObject *op, int *retn)


::

  PyArray_Descr *
  PyArray_DescrFromScalar(PyObject *sc)

Return descr object from array scalar.

New reference

::

  PyArray_Descr *
  PyArray_DescrFromTypeObject(PyObject *type)


::

  npy_intp
  PyArray_Size(PyObject *op)

Compute the size of an array (in number of items)

::

  PyObject *
  PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)

Get scalar-equivalent to a region of memory described by a descriptor.

::

  PyObject *
  PyArray_FromScalar(PyObject *scalar, PyArray_Descr *outcode)

Get 0-dim array from scalar

0-dim array from array-scalar object
always contains a copy of the data
unless outcode is NULL, it is of void type and the referrer does
not own it either.

steals reference to outcode

::

  void
  PyArray_ScalarAsCtype(PyObject *scalar, void *ctypeptr)

Convert to c-type

no error checking is performed -- ctypeptr must be same type as scalar
in case of flexible type, the data is not copied
into ctypeptr which is expected to be a pointer to pointer

::

  int
  PyArray_CastScalarToCtype(PyObject *scalar, void
                            *ctypeptr, PyArray_Descr *outcode)

Cast Scalar to c-type

The output buffer must be large-enough to receive the value
Even for flexible types which is different from ScalarAsCtype
where only a reference for flexible types is returned

This may not work right on narrow builds for NumPy unicode scalars.

::

  int
  PyArray_CastScalarDirect(PyObject *scalar, PyArray_Descr
                           *indescr, void *ctypeptr, int outtype)

Cast Scalar to c-type

::

  PyObject *
  PyArray_ScalarFromObject(PyObject *object)

Get an Array Scalar From a Python Object

Returns NULL if unsuccessful but error is only set if another error occurred.
Currently only Numeric-like object supported.

::

  PyArray_VectorUnaryFunc *
  PyArray_GetCastFunc(PyArray_Descr *descr, int type_num)

Get a cast function to cast from the input descriptor to the
output type_number (must be a registered data-type).
Returns NULL if un-successful.

::

  PyObject *
  PyArray_FromDims(int nd, int *d, int type)

Construct an empty array from dimensions and typenum

::

  PyObject *
  PyArray_FromDimsAndDataAndDescr(int nd, int *d, PyArray_Descr
                                  *descr, char *data)

Like FromDimsAndData but uses the Descr structure instead of typecode
as input.

::

  PyObject *
  PyArray_FromAny(PyObject *op, PyArray_Descr *newtype, int
                  min_depth, int max_depth, int flags, PyObject
                  *context)

Does not check for NPY_ARRAY_ENSURECOPY and NPY_ARRAY_NOTSWAPPED in flags
Steals a reference to newtype --- which can be NULL

::

  PyObject *
  PyArray_EnsureArray(PyObject *op)

This is a quick wrapper around
PyArray_FromAny(op, NULL, 0, 0, NPY_ARRAY_ENSUREARRAY, NULL)
that special cases Arrays and PyArray_Scalars up front
It *steals a reference* to the object
It also guarantees that the result is PyArray_Type
Because it decrefs op if any conversion needs to take place
so it can be used like PyArray_EnsureArray(some_function(...))

::

  PyObject *
  PyArray_EnsureAnyArray(PyObject *op)


::

  PyObject *
  PyArray_FromFile(FILE *fp, PyArray_Descr *dtype, npy_intp num, char
                   *sep)


Given a ``FILE *`` pointer ``fp``, and a ``PyArray_Descr``, return an
array corresponding to the data encoded in that file.

If the dtype is NULL, the default array type is used (double).
If non-null, the reference is stolen and if dtype->subarray is true dtype
will be decrefed even on success.

The number of elements to read is given as ``num``; if it is < 0, then
then as many as possible are read.

If ``sep`` is NULL or empty, then binary data is assumed, else
text data, with ``sep`` as the separator between elements. Whitespace in
the separator matches any length of whitespace in the text, and a match
for whitespace around the separator is added.

For memory-mapped files, use the buffer interface. No more data than
necessary is read by this routine.

::

  PyObject *
  PyArray_FromString(char *data, npy_intp slen, PyArray_Descr
                     *dtype, npy_intp num, char *sep)


Given a pointer to a string ``data``, a string length ``slen``, and
a ``PyArray_Descr``, return an array corresponding to the data
encoded in that string.

If the dtype is NULL, the default array type is used (double).
If non-null, the reference is stolen.

If ``slen`` is < 0, then the end of string is used for text data.
It is an error for ``slen`` to be < 0 for binary data (since embedded NULLs
would be the norm).

The number of elements to read is given as ``num``; if it is < 0, then
then as many as possible are read.

If ``sep`` is NULL or empty, then binary data is assumed, else
text data, with ``sep`` as the separator between elements. Whitespace in
the separator matches any length of whitespace in the text, and a match
for whitespace around the separator is added.

::

  PyObject *
  PyArray_FromBuffer(PyObject *buf, PyArray_Descr *type, npy_intp
                     count, npy_intp offset)


::

  PyObject *
  PyArray_FromIter(PyObject *obj, PyArray_Descr *dtype, npy_intp count)


steals a reference to dtype (which cannot be NULL)

::

  PyObject *
  PyArray_Return(PyArrayObject *mp)


Return either an array or the appropriate Python object if the array
is 0d and matches a Python type.
steals reference to mp

::

  PyObject *
  PyArray_GetField(PyArrayObject *self, PyArray_Descr *typed, int
                   offset)

Get a subset of bytes from each element of the array
steals reference to typed, must not be NULL

::

  int
  PyArray_SetField(PyArrayObject *self, PyArray_Descr *dtype, int
                   offset, PyObject *val)

Set a subset of bytes from each element of the array
steals reference to dtype, must not be NULL

::

  PyObject *
  PyArray_Byteswap(PyArrayObject *self, npy_bool inplace)


::

  PyObject *
  PyArray_Resize(PyArrayObject *self, PyArray_Dims *newshape, int
                 refcheck, NPY_ORDER order)

Resize (reallocate data).  Only works if nothing else is referencing this
array and it is contiguous.  If refcheck is 0, then the reference count is
not checked and assumed to be 1.  You still must own this data and have no
weak-references and no base object.

::

  int
  PyArray_MoveInto(PyArrayObject *dst, PyArrayObject *src)

Move the memory of one array into another, allowing for overlapping data.

Returns 0 on success, negative on failure.

::

  int
  PyArray_CopyInto(PyArrayObject *dst, PyArrayObject *src)

Copy an Array into another array.
Broadcast to the destination shape if necessary.

Returns 0 on success, -1 on failure.

::

  int
  PyArray_CopyAnyInto(PyArrayObject *dst, PyArrayObject *src)

Copy an Array into another array -- memory must not overlap
Does not require src and dest to have "broadcastable" shapes
(only the same number of elements).

TODO: For NumPy 2.0, this could accept an order parameter which
only allows NPY_CORDER and NPY_FORDER.  Could also rename
this to CopyAsFlat to make the name more intuitive.

Returns 0 on success, -1 on error.

::

  int
  PyArray_CopyObject(PyArrayObject *dest, PyObject *src_object)


::

  PyObject *
  PyArray_NewCopy(PyArrayObject *obj, NPY_ORDER order)

Copy an array.

::

  PyObject *
  PyArray_ToList(PyArrayObject *self)

To List

::

  PyObject *
  PyArray_ToString(PyArrayObject *self, NPY_ORDER order)


::

  int
  PyArray_ToFile(PyArrayObject *self, FILE *fp, char *sep, char *format)

To File

::

  int
  PyArray_Dump(PyObject *self, PyObject *file, int protocol)


::

  PyObject *
  PyArray_Dumps(PyObject *self, int protocol)


::

  int
  PyArray_ValidType(int type)

Is the typenum valid?

::

  void
  PyArray_UpdateFlags(PyArrayObject *ret, int flagmask)

Update Several Flags at once.

::

  PyObject *
  PyArray_New(PyTypeObject *subtype, int nd, npy_intp *dims, int
              type_num, npy_intp *strides, void *data, int itemsize, int
              flags, PyObject *obj)

Generic new array creation routine.

::

  PyObject *
  PyArray_NewFromDescr(PyTypeObject *subtype, PyArray_Descr *descr, int
                       nd, npy_intp *dims, npy_intp *strides, void
                       *data, int flags, PyObject *obj)

Generic new array creation routine.

steals a reference to descr. On failure or when dtype->subarray is
true, dtype will be decrefed.

::

  PyArray_Descr *
  PyArray_DescrNew(PyArray_Descr *base)

base cannot be NULL

::

  PyArray_Descr *
  PyArray_DescrNewFromType(int type_num)


::

  double
  PyArray_GetPriority(PyObject *obj, double default_)

Get Priority from object

::

  PyObject *
  PyArray_IterNew(PyObject *obj)

Get Iterator.

::

  PyObject *
  PyArray_MultiIterNew(int n, ... )

Get MultiIterator,

::

  int
  PyArray_PyIntAsInt(PyObject *o)


::

  npy_intp
  PyArray_PyIntAsIntp(PyObject *o)


::

  int
  PyArray_Broadcast(PyArrayMultiIterObject *mit)


::

  void
  PyArray_FillObjectArray(PyArrayObject *arr, PyObject *obj)

Assumes contiguous

::

  int
  PyArray_FillWithScalar(PyArrayObject *arr, PyObject *obj)


::

  npy_bool
  PyArray_CheckStrides(int elsize, int nd, npy_intp numbytes, npy_intp
                       offset, npy_intp *dims, npy_intp *newstrides)


::

  PyArray_Descr *
  PyArray_DescrNewByteorder(PyArray_Descr *self, char newendian)


returns a copy of the PyArray_Descr structure with the byteorder
altered:
no arguments:  The byteorder is swapped (in all subfields as well)
single argument:  The byteorder is forced to the given state
(in all subfields as well)

Valid states:  ('big', '>') or ('little' or '<')
('native', or '=')

If a descr structure with | is encountered it's own
byte-order is not changed but any fields are:


Deep bytorder change of a data-type descriptor
Leaves reference count of self unchanged --- does not DECREF self ***

::

  PyObject *
  PyArray_IterAllButAxis(PyObject *obj, int *inaxis)

Get Iterator that iterates over all but one axis (don't use this with
PyArray_ITER_GOTO1D).  The axis will be over-written if negative
with the axis having the smallest stride.

::

  PyObject *
  PyArray_CheckFromAny(PyObject *op, PyArray_Descr *descr, int
                       min_depth, int max_depth, int requires, PyObject
                       *context)

steals a reference to descr -- accepts NULL

::

  PyObject *
  PyArray_FromArray(PyArrayObject *arr, PyArray_Descr *newtype, int
                    flags)

steals reference to newtype --- acc. NULL

::

  PyObject *
  PyArray_FromInterface(PyObject *origin)


::

  PyObject *
  PyArray_FromStructInterface(PyObject *input)


::

  PyObject *
  PyArray_FromArrayAttr(PyObject *op, PyArray_Descr *typecode, PyObject
                        *context)


::

  NPY_SCALARKIND
  PyArray_ScalarKind(int typenum, PyArrayObject **arr)

ScalarKind

Returns the scalar kind of a type number, with an
optional tweak based on the scalar value itself.
If no scalar is provided, it returns INTPOS_SCALAR
for both signed and unsigned integers, otherwise
it checks the sign of any signed integer to choose
INTNEG_SCALAR when appropriate.

::

  int
  PyArray_CanCoerceScalar(int thistype, int neededtype, NPY_SCALARKIND
                          scalar)


Determines whether the data type 'thistype', with
scalar kind 'scalar', can be coerced into 'neededtype'.

::

  PyObject *
  PyArray_NewFlagsObject(PyObject *obj)


Get New ArrayFlagsObject

::

  npy_bool
  PyArray_CanCastScalar(PyTypeObject *from, PyTypeObject *to)

See if array scalars can be cast.

TODO: For NumPy 2.0, add a NPY_CASTING parameter.

::

  int
  PyArray_CompareUCS4(npy_ucs4 *s1, npy_ucs4 *s2, size_t len)


::

  int
  PyArray_RemoveSmallest(PyArrayMultiIterObject *multi)

Adjusts previously broadcasted iterators so that the axis with
the smallest sum of iterator strides is not iterated over.
Returns dimension which is smallest in the range [0,multi->nd).
A -1 is returned if multi->nd == 0.

don't use with PyArray_ITER_GOTO1D because factors are not adjusted

::

  int
  PyArray_ElementStrides(PyObject *obj)


::

  void
  PyArray_Item_INCREF(char *data, PyArray_Descr *descr)


::

  void
  PyArray_Item_XDECREF(char *data, PyArray_Descr *descr)


::

  PyObject *
  PyArray_FieldNames(PyObject *fields)

Return the tuple of ordered field names from a dictionary.

::

  PyObject *
  PyArray_Transpose(PyArrayObject *ap, PyArray_Dims *permute)

Return Transpose.

::

  PyObject *
  PyArray_TakeFrom(PyArrayObject *self0, PyObject *indices0, int
                   axis, PyArrayObject *out, NPY_CLIPMODE clipmode)

Take

::

  PyObject *
  PyArray_PutTo(PyArrayObject *self, PyObject*values0, PyObject
                *indices0, NPY_CLIPMODE clipmode)

Put values into an array

::

  PyObject *
  PyArray_PutMask(PyArrayObject *self, PyObject*values0, PyObject*mask0)

Put values into an array according to a mask.

::

  PyObject *
  PyArray_Repeat(PyArrayObject *aop, PyObject *op, int axis)

Repeat the array.

::

  PyObject *
  PyArray_Choose(PyArrayObject *ip, PyObject *op, PyArrayObject
                 *out, NPY_CLIPMODE clipmode)


::

  int
  PyArray_Sort(PyArrayObject *op, int axis, NPY_SORTKIND which)

Sort an array in-place

::

  PyObject *
  PyArray_ArgSort(PyArrayObject *op, int axis, NPY_SORTKIND which)

ArgSort an array

::

  PyObject *
  PyArray_SearchSorted(PyArrayObject *op1, PyObject *op2, NPY_SEARCHSIDE
                       side, PyObject *perm)


Search the sorted array op1 for the location of the items in op2. The
result is an array of indexes, one for each element in op2, such that if
the item were to be inserted in op1 just before that index the array
would still be in sorted order.

Parameters
----------
op1 : PyArrayObject *
Array to be searched, must be 1-D.
op2 : PyObject *
Array of items whose insertion indexes in op1 are wanted
side : {NPY_SEARCHLEFT, NPY_SEARCHRIGHT}
If NPY_SEARCHLEFT, return first valid insertion indexes
If NPY_SEARCHRIGHT, return last valid insertion indexes
perm : PyObject *
Permutation array that sorts op1 (optional)

Returns
-------
ret : PyObject *
New reference to npy_intp array containing indexes where items in op2
could be validly inserted into op1. NULL on error.

Notes
-----
Binary search is used to find the indexes.

::

  PyObject *
  PyArray_ArgMax(PyArrayObject *op, int axis, PyArrayObject *out)

ArgMax

::

  PyObject *
  PyArray_ArgMin(PyArrayObject *op, int axis, PyArrayObject *out)

ArgMin

::

  PyObject *
  PyArray_Reshape(PyArrayObject *self, PyObject *shape)

Reshape

::

  PyObject *
  PyArray_Newshape(PyArrayObject *self, PyArray_Dims *newdims, NPY_ORDER
                   order)

New shape for an array

::

  PyObject *
  PyArray_Squeeze(PyArrayObject *self)


return a new view of the array object with all of its unit-length
dimensions squeezed out if needed, otherwise
return the same array.

::

  PyObject *
  PyArray_View(PyArrayObject *self, PyArray_Descr *type, PyTypeObject
               *pytype)

View
steals a reference to type -- accepts NULL

::

  PyObject *
  PyArray_SwapAxes(PyArrayObject *ap, int a1, int a2)

SwapAxes

::

  PyObject *
  PyArray_Max(PyArrayObject *ap, int axis, PyArrayObject *out)

Max

::

  PyObject *
  PyArray_Min(PyArrayObject *ap, int axis, PyArrayObject *out)

Min

::

  PyObject *
  PyArray_Ptp(PyArrayObject *ap, int axis, PyArrayObject *out)

Ptp

::

  PyObject *
  PyArray_Mean(PyArrayObject *self, int axis, int rtype, PyArrayObject
               *out)

Mean

::

  PyObject *
  PyArray_Trace(PyArrayObject *self, int offset, int axis1, int
                axis2, int rtype, PyArrayObject *out)

Trace

::

  PyObject *
  PyArray_Diagonal(PyArrayObject *self, int offset, int axis1, int
                   axis2)

Diagonal

In NumPy versions prior to 1.7,  this function always returned a copy of
the diagonal array. In 1.7, the code has been updated to compute a view
onto 'self', but it still copies this array before returning, as well as
setting the internal WARN_ON_WRITE flag. In a future version, it will
simply return a view onto self.

::

  PyObject *
  PyArray_Clip(PyArrayObject *self, PyObject *min, PyObject
               *max, PyArrayObject *out)

Clip

::

  PyObject *
  PyArray_Conjugate(PyArrayObject *self, PyArrayObject *out)

Conjugate

::

  PyObject *
  PyArray_Nonzero(PyArrayObject *self)

Nonzero

TODO: In NumPy 2.0, should make the iteration order a parameter.

::

  PyObject *
  PyArray_Std(PyArrayObject *self, int axis, int rtype, PyArrayObject
              *out, int variance)

Set variance to 1 to by-pass square-root calculation and return variance
Std

::

  PyObject *
  PyArray_Sum(PyArrayObject *self, int axis, int rtype, PyArrayObject
              *out)

Sum

::

  PyObject *
  PyArray_CumSum(PyArrayObject *self, int axis, int rtype, PyArrayObject
                 *out)

CumSum

::

  PyObject *
  PyArray_Prod(PyArrayObject *self, int axis, int rtype, PyArrayObject
               *out)

Prod

::

  PyObject *
  PyArray_CumProd(PyArrayObject *self, int axis, int
                  rtype, PyArrayObject *out)

CumProd

::

  PyObject *
  PyArray_All(PyArrayObject *self, int axis, PyArrayObject *out)

All

::

  PyObject *
  PyArray_Any(PyArrayObject *self, int axis, PyArrayObject *out)

Any

::

  PyObject *
  PyArray_Compress(PyArrayObject *self, PyObject *condition, int
                   axis, PyArrayObject *out)

Compress

::

  PyObject *
  PyArray_Flatten(PyArrayObject *a, NPY_ORDER order)

Flatten

::

  PyObject *
  PyArray_Ravel(PyArrayObject *arr, NPY_ORDER order)

Ravel
Returns a contiguous array

::

  npy_intp
  PyArray_MultiplyList(npy_intp *l1, int n)

Multiply a List

::

  int
  PyArray_MultiplyIntList(int *l1, int n)

Multiply a List of ints

::

  void *
  PyArray_GetPtr(PyArrayObject *obj, npy_intp*ind)

Produce a pointer into array

::

  int
  PyArray_CompareLists(npy_intp *l1, npy_intp *l2, int n)

Compare Lists

::

  int
  PyArray_AsCArray(PyObject **op, void *ptr, npy_intp *dims, int
                   nd, PyArray_Descr*typedescr)

Simulate a C-array
steals a reference to typedescr -- can be NULL

::

  int
  PyArray_As1D(PyObject **op, char **ptr, int *d1, int typecode)

Convert to a 1D C-array

::

  int
  PyArray_As2D(PyObject **op, char ***ptr, int *d1, int *d2, int
               typecode)

Convert to a 2D C-array

::

  int
  PyArray_Free(PyObject *op, void *ptr)

Free pointers created if As2D is called

::

  int
  PyArray_Converter(PyObject *object, PyObject **address)


Useful to pass as converter function for O& processing in PyArgs_ParseTuple.

This conversion function can be used with the "O&" argument for
PyArg_ParseTuple.  It will immediately return an object of array type
or will convert to a NPY_ARRAY_CARRAY any other object.

If you use PyArray_Converter, you must DECREF the array when finished
as you get a new reference to it.

::

  int
  PyArray_IntpFromSequence(PyObject *seq, npy_intp *vals, int maxvals)

PyArray_IntpFromSequence
Returns the number of integers converted or -1 if an error occurred.
vals must be large enough to hold maxvals

::

  PyObject *
  PyArray_Concatenate(PyObject *op, int axis)

Concatenate

Concatenate an arbitrary Python sequence into an array.
op is a python object supporting the sequence interface.
Its elements will be concatenated together to form a single
multidimensional array. If axis is NPY_MAXDIMS or bigger, then
each sequence object will be flattened before concatenation

::

  PyObject *
  PyArray_InnerProduct(PyObject *op1, PyObject *op2)

Numeric.innerproduct(a,v)

::

  PyObject *
  PyArray_MatrixProduct(PyObject *op1, PyObject *op2)

Numeric.matrixproduct(a,v)
just like inner product but does the swapaxes stuff on the fly

::

  PyObject *
  PyArray_CopyAndTranspose(PyObject *op)

Copy and Transpose

Could deprecate this function, as there isn't a speed benefit over
calling Transpose and then Copy.

::

  PyObject *
  PyArray_Correlate(PyObject *op1, PyObject *op2, int mode)

Numeric.correlate(a1,a2,mode)

::

  int
  PyArray_TypestrConvert(int itemsize, int gentype)

Typestr converter

::

  int
  PyArray_DescrConverter(PyObject *obj, PyArray_Descr **at)

Get typenum from an object -- None goes to NPY_DEFAULT_TYPE
This function takes a Python object representing a type and converts it
to a the correct PyArray_Descr * structure to describe the type.

Many objects can be used to represent a data-type which in NumPy is
quite a flexible concept.

This is the central code that converts Python objects to
Type-descriptor objects that are used throughout numpy.

Returns a new reference in *at, but the returned should not be
modified as it may be one of the canonical immutable objects or
a reference to the input obj.

::

  int
  PyArray_DescrConverter2(PyObject *obj, PyArray_Descr **at)

Get typenum from an object -- None goes to NULL

::

  int
  PyArray_IntpConverter(PyObject *obj, PyArray_Dims *seq)

Get intp chunk from sequence

This function takes a Python sequence object and allocates and
fills in an intp array with the converted values.

Remember to free the pointer seq.ptr when done using
PyDimMem_FREE(seq.ptr)**

::

  int
  PyArray_BufferConverter(PyObject *obj, PyArray_Chunk *buf)

Get buffer chunk from object

this function takes a Python object which exposes the (single-segment)
buffer interface and returns a pointer to the data segment

You should increment the reference count by one of buf->base
if you will hang on to a reference

You only get a borrowed reference to the object. Do not free the
memory...

::

  int
  PyArray_AxisConverter(PyObject *obj, int *axis)

Get axis from an object (possibly None) -- a converter function,

See also PyArray_ConvertMultiAxis, which also handles a tuple of axes.

::

  int
  PyArray_BoolConverter(PyObject *object, npy_bool *val)

Convert an object to true / false

::

  int
  PyArray_ByteorderConverter(PyObject *obj, char *endian)

Convert object to endian

::

  int
  PyArray_OrderConverter(PyObject *object, NPY_ORDER *val)

Convert an object to FORTRAN / C / ANY / KEEP

::

  unsigned char
  PyArray_EquivTypes(PyArray_Descr *type1, PyArray_Descr *type2)


This function returns true if the two typecodes are
equivalent (same basic kind and same itemsize).

::

  PyObject *
  PyArray_Zeros(int nd, npy_intp *dims, PyArray_Descr *type, int
                is_f_order)

Zeros

steals a reference to type. On failure or when dtype->subarray is
true, dtype will be decrefed.
accepts NULL type

::

  PyObject *
  PyArray_Empty(int nd, npy_intp *dims, PyArray_Descr *type, int
                is_f_order)

Empty

accepts NULL type
steals referenct to type

::

  PyObject *
  PyArray_Where(PyObject *condition, PyObject *x, PyObject *y)

Where

::

  PyObject *
  PyArray_Arange(double start, double stop, double step, int type_num)

Arange,

::

  PyObject *
  PyArray_ArangeObj(PyObject *start, PyObject *stop, PyObject
                    *step, PyArray_Descr *dtype)


ArangeObj,

this doesn't change the references

::

  int
  PyArray_SortkindConverter(PyObject *obj, NPY_SORTKIND *sortkind)

Convert object to sort kind

::

  PyObject *
  PyArray_LexSort(PyObject *sort_keys, int axis)

LexSort an array providing indices that will sort a collection of arrays
lexicographically.  The first key is sorted on first, followed by the second key
-- requires that arg"merge"sort is available for each sort_key

Returns an index array that shows the indexes for the lexicographic sort along
the given axis.

::

  PyObject *
  PyArray_Round(PyArrayObject *a, int decimals, PyArrayObject *out)

Round

::

  unsigned char
  PyArray_EquivTypenums(int typenum1, int typenum2)


::

  int
  PyArray_RegisterDataType(PyArray_Descr *descr)

Register Data type
Does not change the reference count of descr

::

  int
  PyArray_RegisterCastFunc(PyArray_Descr *descr, int
                           totype, PyArray_VectorUnaryFunc *castfunc)

Register Casting Function
Replaces any function currently stored.

::

  int
  PyArray_RegisterCanCast(PyArray_Descr *descr, int
                          totype, NPY_SCALARKIND scalar)

Register a type number indicating that a descriptor can be cast
to it safely

::

  void
  PyArray_InitArrFuncs(PyArray_ArrFuncs *f)

Initialize arrfuncs to NULL

::

  PyObject *
  PyArray_IntTupleFromIntp(int len, npy_intp *vals)

PyArray_IntTupleFromIntp

::

  int
  PyArray_TypeNumFromName(char *str)


::

  int
  PyArray_ClipmodeConverter(PyObject *object, NPY_CLIPMODE *val)

Convert an object to NPY_RAISE / NPY_CLIP / NPY_WRAP

::

  int
  PyArray_OutputConverter(PyObject *object, PyArrayObject **address)

Useful to pass as converter function for O& processing in
PyArgs_ParseTuple for output arrays

::

  PyObject *
  PyArray_BroadcastToShape(PyObject *obj, npy_intp *dims, int nd)

Get Iterator broadcast to a particular shape

::

  void
  _PyArray_SigintHandler(int signum)


::

  void*
  _PyArray_GetSigintBuf(void )


::

  int
  PyArray_DescrAlignConverter(PyObject *obj, PyArray_Descr **at)


Get type-descriptor from an object forcing alignment if possible
None goes to DEFAULT type.

any object with the .fields attribute and/or .itemsize attribute (if the
.fields attribute does not give the total size -- i.e. a partial record
naming).  If itemsize is given it must be >= size computed from fields

The .fields attribute must return a convertible dictionary if present.
Result inherits from NPY_VOID.

::

  int
  PyArray_DescrAlignConverter2(PyObject *obj, PyArray_Descr **at)


Get type-descriptor from an object forcing alignment if possible
None goes to NULL.

::

  int
  PyArray_SearchsideConverter(PyObject *obj, void *addr)

Convert object to searchsorted side

::

  PyObject *
  PyArray_CheckAxis(PyArrayObject *arr, int *axis, int flags)

PyArray_CheckAxis

check that axis is valid
convert 0-d arrays to 1-d arrays

::

  npy_intp
  PyArray_OverflowMultiplyList(npy_intp *l1, int n)

Multiply a List of Non-negative numbers with over-flow detection.

::

  int
  PyArray_CompareString(char *s1, char *s2, size_t len)


::

  PyObject *
  PyArray_MultiIterFromObjects(PyObject **mps, int n, int nadd, ... )

Get MultiIterator from array of Python objects and any additional

PyObject **mps -- array of PyObjects
int n - number of PyObjects in the array
int nadd - number of additional arrays to include in the iterator.

Returns a multi-iterator object.

::

  int
  PyArray_GetEndianness(void )


::

  unsigned int
  PyArray_GetNDArrayCFeatureVersion(void )

Returns the built-in (at compilation time) C API version

::

  PyObject *
  PyArray_Correlate2(PyObject *op1, PyObject *op2, int mode)

correlate(a1,a2,mode)

This function computes the usual correlation (correlate(a1, a2) !=
correlate(a2, a1), and conjugate the second argument for complex inputs

::

  PyObject*
  PyArray_NeighborhoodIterNew(PyArrayIterObject *x, npy_intp
                              *bounds, int mode, PyArrayObject*fill)

A Neighborhood Iterator object.

::

  void
  PyArray_SetDatetimeParseFunction(PyObject *op)

This function is scheduled to be removed

TO BE REMOVED - NOT USED INTERNALLY.

::

  void
  PyArray_DatetimeToDatetimeStruct(npy_datetime val, NPY_DATETIMEUNIT
                                   fr, npy_datetimestruct *result)

Fill the datetime struct from the value and resolution unit.

TO BE REMOVED - NOT USED INTERNALLY.

::

  void
  PyArray_TimedeltaToTimedeltaStruct(npy_timedelta val, NPY_DATETIMEUNIT
                                     fr, npy_timedeltastruct *result)

Fill the timedelta struct from the timedelta value and resolution unit.

TO BE REMOVED - NOT USED INTERNALLY.

::

  npy_datetime
  PyArray_DatetimeStructToDatetime(NPY_DATETIMEUNIT
                                   fr, npy_datetimestruct *d)

Create a datetime value from a filled datetime struct and resolution unit.

TO BE REMOVED - NOT USED INTERNALLY.

::

  npy_datetime
  PyArray_TimedeltaStructToTimedelta(NPY_DATETIMEUNIT
                                     fr, npy_timedeltastruct *d)

Create a timdelta value from a filled timedelta struct and resolution unit.

TO BE REMOVED - NOT USED INTERNALLY.

::

  NpyIter *
  NpyIter_New(PyArrayObject *op, npy_uint32 flags, NPY_ORDER
              order, NPY_CASTING casting, PyArray_Descr*dtype)

Allocate a new iterator for one array object.

::

  NpyIter *
  NpyIter_MultiNew(int nop, PyArrayObject **op_in, npy_uint32
                   flags, NPY_ORDER order, NPY_CASTING
                   casting, npy_uint32 *op_flags, PyArray_Descr
                   **op_request_dtypes)

Allocate a new iterator for more than one array object, using
standard NumPy broadcasting rules and the default buffer size.

::

  NpyIter *
  NpyIter_AdvancedNew(int nop, PyArrayObject **op_in, npy_uint32
                      flags, NPY_ORDER order, NPY_CASTING
                      casting, npy_uint32 *op_flags, PyArray_Descr
                      **op_request_dtypes, int oa_ndim, int
                      **op_axes, npy_intp *itershape, npy_intp
                      buffersize)

Allocate a new iterator for multiple array objects, and advanced
options for controlling the broadcasting, shape, and buffer size.

::

  NpyIter *
  NpyIter_Copy(NpyIter *iter)

Makes a copy of the iterator

::

  int
  NpyIter_Deallocate(NpyIter *iter)

Deallocate an iterator

::

  npy_bool
  NpyIter_HasDelayedBufAlloc(NpyIter *iter)

Whether the buffer allocation is being delayed

::

  npy_bool
  NpyIter_HasExternalLoop(NpyIter *iter)

Whether the iterator handles the inner loop

::

  int
  NpyIter_EnableExternalLoop(NpyIter *iter)

Removes the inner loop handling (so HasExternalLoop returns true)

::

  npy_intp *
  NpyIter_GetInnerStrideArray(NpyIter *iter)

Get the array of strides for the inner loop (when HasExternalLoop is true)

This function may be safely called without holding the Python GIL.

::

  npy_intp *
  NpyIter_GetInnerLoopSizePtr(NpyIter *iter)

Get a pointer to the size of the inner loop  (when HasExternalLoop is true)

This function may be safely called without holding the Python GIL.

::

  int
  NpyIter_Reset(NpyIter *iter, char **errmsg)

Resets the iterator to its initial state

If errmsg is non-NULL, it should point to a variable which will
receive the error message, and no Python exception will be set.
This is so that the function can be called from code not holding
the GIL.

::

  int
  NpyIter_ResetBasePointers(NpyIter *iter, char **baseptrs, char
                            **errmsg)

Resets the iterator to its initial state, with new base data pointers.
This function requires great caution.

If errmsg is non-NULL, it should point to a variable which will
receive the error message, and no Python exception will be set.
This is so that the function can be called from code not holding
the GIL.

::

  int
  NpyIter_ResetToIterIndexRange(NpyIter *iter, npy_intp istart, npy_intp
                                iend, char **errmsg)

Resets the iterator to a new iterator index range

If errmsg is non-NULL, it should point to a variable which will
receive the error message, and no Python exception will be set.
This is so that the function can be called from code not holding
the GIL.

::

  int
  NpyIter_GetNDim(NpyIter *iter)

Gets the number of dimensions being iterated

::

  int
  NpyIter_GetNOp(NpyIter *iter)

Gets the number of operands being iterated

::

  NpyIter_IterNextFunc *
  NpyIter_GetIterNext(NpyIter *iter, char **errmsg)

Compute the specialized iteration function for an iterator

If errmsg is non-NULL, it should point to a variable which will
receive the error message, and no Python exception will be set.
This is so that the function can be called from code not holding
the GIL.

::

  npy_intp
  NpyIter_GetIterSize(NpyIter *iter)

Gets the number of elements being iterated

::

  void
  NpyIter_GetIterIndexRange(NpyIter *iter, npy_intp *istart, npy_intp
                            *iend)

Gets the range of iteration indices being iterated

::

  npy_intp
  NpyIter_GetIterIndex(NpyIter *iter)

Gets the current iteration index

::

  int
  NpyIter_GotoIterIndex(NpyIter *iter, npy_intp iterindex)

Sets the iterator position to the specified iterindex,
which matches the iteration order of the iterator.

Returns NPY_SUCCEED on success, NPY_FAIL on failure.

::

  npy_bool
  NpyIter_HasMultiIndex(NpyIter *iter)

Whether the iterator is tracking a multi-index

::

  int
  NpyIter_GetShape(NpyIter *iter, npy_intp *outshape)

Gets the broadcast shape if a multi-index is being tracked by the iterator,
otherwise gets the shape of the iteration as Fortran-order
(fastest-changing index first).

The reason Fortran-order is returned when a multi-index
is not enabled is that this is providing a direct view into how
the iterator traverses the n-dimensional space. The iterator organizes
its memory from fastest index to slowest index, and when
a multi-index is enabled, it uses a permutation to recover the original
order.

Returns NPY_SUCCEED or NPY_FAIL.

::

  NpyIter_GetMultiIndexFunc *
  NpyIter_GetGetMultiIndex(NpyIter *iter, char **errmsg)

Compute a specialized get_multi_index function for the iterator

If errmsg is non-NULL, it should point to a variable which will
receive the error message, and no Python exception will be set.
This is so that the function can be called from code not holding
the GIL.

::

  int
  NpyIter_GotoMultiIndex(NpyIter *iter, npy_intp *multi_index)

Sets the iterator to the specified multi-index, which must have the
correct number of entries for 'ndim'.  It is only valid
when NPY_ITER_MULTI_INDEX was passed to the constructor.  This operation
fails if the multi-index is out of bounds.

Returns NPY_SUCCEED on success, NPY_FAIL on failure.

::

  int
  NpyIter_RemoveMultiIndex(NpyIter *iter)

Removes multi-index support from an iterator.

Returns NPY_SUCCEED or NPY_FAIL.

::

  npy_bool
  NpyIter_HasIndex(NpyIter *iter)

Whether the iterator is tracking an index

::

  npy_bool
  NpyIter_IsBuffered(NpyIter *iter)

Whether the iterator is buffered

::

  npy_bool
  NpyIter_IsGrowInner(NpyIter *iter)

Whether the inner loop can grow if buffering is unneeded

::

  npy_intp
  NpyIter_GetBufferSize(NpyIter *iter)

Gets the size of the buffer, or 0 if buffering is not enabled

::

  npy_intp *
  NpyIter_GetIndexPtr(NpyIter *iter)

Get a pointer to the index, if it is being tracked

::

  int
  NpyIter_GotoIndex(NpyIter *iter, npy_intp flat_index)

If the iterator is tracking an index, sets the iterator
to the specified index.

Returns NPY_SUCCEED on success, NPY_FAIL on failure.

::

  char **
  NpyIter_GetDataPtrArray(NpyIter *iter)

Get the array of data pointers (1 per object being iterated)

This function may be safely called without holding the Python GIL.

::

  PyArray_Descr **
  NpyIter_GetDescrArray(NpyIter *iter)

Get the array of data type pointers (1 per object being iterated)

::

  PyArrayObject **
  NpyIter_GetOperandArray(NpyIter *iter)

Get the array of objects being iterated

::

  PyArrayObject *
  NpyIter_GetIterView(NpyIter *iter, npy_intp i)

Returns a view to the i-th object with the iterator's internal axes

::

  void
  NpyIter_GetReadFlags(NpyIter *iter, char *outreadflags)

Gets an array of read flags (1 per object being iterated)

::

  void
  NpyIter_GetWriteFlags(NpyIter *iter, char *outwriteflags)

Gets an array of write flags (1 per object being iterated)

::

  void
  NpyIter_DebugPrint(NpyIter *iter)

For debugging

::

  npy_bool
  NpyIter_IterationNeedsAPI(NpyIter *iter)

Whether the iteration loop, and in particular the iternext()
function, needs API access.  If this is true, the GIL must
be retained while iterating.

::

  void
  NpyIter_GetInnerFixedStrideArray(NpyIter *iter, npy_intp *out_strides)

Get an array of strides which are fixed.  Any strides which may
change during iteration receive the value NPY_MAX_INTP.  Once
the iterator is ready to iterate, call this to get the strides
which will always be fixed in the inner loop, then choose optimized
inner loop functions which take advantage of those fixed strides.

This function may be safely called without holding the Python GIL.

::

  int
  NpyIter_RemoveAxis(NpyIter *iter, int axis)

Removes an axis from iteration. This requires that NPY_ITER_MULTI_INDEX
was set for iterator creation, and does not work if buffering is
enabled. This function also resets the iterator to its initial state.

Returns NPY_SUCCEED or NPY_FAIL.

::

  npy_intp *
  NpyIter_GetAxisStrideArray(NpyIter *iter, int axis)

Gets the array of strides for the specified axis.
If the iterator is tracking a multi-index, gets the strides
for the axis specified, otherwise gets the strides for
the iteration axis as Fortran order (fastest-changing axis first).

Returns NULL if an error occurs.

::

  npy_bool
  NpyIter_RequiresBuffering(NpyIter *iter)

Whether the iteration could be done with no buffering.

::

  char **
  NpyIter_GetInitialDataPtrArray(NpyIter *iter)

Get the array of data pointers (1 per object being iterated),
directly into the arrays (never pointing to a buffer), for starting
unbuffered iteration. This always returns the addresses for the
iterator position as reset to iterator index 0.

These pointers are different from the pointers accepted by
NpyIter_ResetBasePointers, because the direction along some
axes may have been reversed, requiring base offsets.

This function may be safely called without holding the Python GIL.

::

  int
  NpyIter_CreateCompatibleStrides(NpyIter *iter, npy_intp
                                  itemsize, npy_intp *outstrides)

Builds a set of strides which are the same as the strides of an
output array created using the NPY_ITER_ALLOCATE flag, where NULL
was passed for op_axes.  This is for data packed contiguously,
but not necessarily in C or Fortran order. This should be used
together with NpyIter_GetShape and NpyIter_GetNDim.

A use case for this function is to match the shape and layout of
the iterator and tack on one or more dimensions.  For example,
in order to generate a vector per input value for a numerical gradient,
you pass in ndim*itemsize for itemsize, then add another dimension to
the end with size ndim and stride itemsize.  To do the Hessian matrix,
you do the same thing but add two dimensions, or take advantage of
the symmetry and pack it into 1 dimension with a particular encoding.

This function may only be called if the iterator is tracking a multi-index
and if NPY_ITER_DONT_NEGATE_STRIDES was used to prevent an axis from
being iterated in reverse order.

If an array is created with this method, simply adding 'itemsize'
for each iteration will traverse the new array matching the
iterator.

Returns NPY_SUCCEED or NPY_FAIL.

::

  int
  PyArray_CastingConverter(PyObject *obj, NPY_CASTING *casting)

Convert any Python object, *obj*, to an NPY_CASTING enum.

::

  npy_intp
  PyArray_CountNonzero(PyArrayObject *self)

Counts the number of non-zero elements in the array.

Returns -1 on error.

::

  PyArray_Descr *
  PyArray_PromoteTypes(PyArray_Descr *type1, PyArray_Descr *type2)

Produces the smallest size and lowest kind type to which both
input types can be cast.

::

  PyArray_Descr *
  PyArray_MinScalarType(PyArrayObject *arr)

If arr is a scalar (has 0 dimensions) with a built-in number data type,
finds the smallest type size/kind which can still represent its data.
Otherwise, returns the array's data type.


::

  PyArray_Descr *
  PyArray_ResultType(npy_intp narrs, PyArrayObject **arr, npy_intp
                     ndtypes, PyArray_Descr **dtypes)

Produces the result type of a bunch of inputs, using the UFunc
type promotion rules. Use this function when you have a set of
input arrays, and need to determine an output array dtype.

If all the inputs are scalars (have 0 dimensions) or the maximum "kind"
of the scalars is greater than the maximum "kind" of the arrays, does
a regular type promotion.

Otherwise, does a type promotion on the MinScalarType
of all the inputs.  Data types passed directly are treated as array
types.


::

  npy_bool
  PyArray_CanCastArrayTo(PyArrayObject *arr, PyArray_Descr
                         *to, NPY_CASTING casting)

Returns 1 if the array object may be cast to the given data type using
the casting rule, 0 otherwise.  This differs from PyArray_CanCastTo in
that it handles scalar arrays (0 dimensions) specially, by checking
their value.

::

  npy_bool
  PyArray_CanCastTypeTo(PyArray_Descr *from, PyArray_Descr
                        *to, NPY_CASTING casting)

Returns true if data of type 'from' may be cast to data of type
'to' according to the rule 'casting'.

::

  PyArrayObject *
  PyArray_EinsteinSum(char *subscripts, npy_intp nop, PyArrayObject
                      **op_in, PyArray_Descr *dtype, NPY_ORDER
                      order, NPY_CASTING casting, PyArrayObject *out)

This function provides summation of array elements according to
the Einstein summation convention.  For example:
- trace(a)        -> einsum("ii", a)
- transpose(a)    -> einsum("ji", a)
- multiply(a,b)   -> einsum(",", a, b)
- inner(a,b)      -> einsum("i,i", a, b)
- outer(a,b)      -> einsum("i,j", a, b)
- matvec(a,b)     -> einsum("ij,j", a, b)
- matmat(a,b)     -> einsum("ij,jk", a, b)

subscripts: The string of subscripts for einstein summation.
nop:        The number of operands
op_in:      The array of operands
dtype:      Either NULL, or the data type to force the calculation as.
order:      The order for the calculation/the output axes.
casting:    What kind of casts should be permitted.
out:        Either NULL, or an array into which the output should be placed.

By default, the labels get placed in alphabetical order
at the end of the output. So, if c = einsum("i,j", a, b)
then c[i,j] == a[i]*b[j], but if c = einsum("j,i", a, b)
then c[i,j] = a[j]*b[i].

Alternatively, you can control the output order or prevent
an axis from being summed/force an axis to be summed by providing
indices for the output. This allows us to turn 'trace' into
'diag', for example.
- diag(a)         -> einsum("ii->i", a)
- sum(a, axis=0)  -> einsum("i...->", a)

Subscripts at the beginning and end may be specified by
putting an ellipsis "..." in the middle.  For example,
the function einsum("i...i", a) takes the diagonal of
the first and last dimensions of the operand, and
einsum("ij...,jk...->ik...") takes the matrix product using
the first two indices of each operand instead of the last two.

When there is only one operand, no axes being summed, and
no output parameter, this function returns a view
into the operand instead of making a copy.

::

  PyObject *
  PyArray_NewLikeArray(PyArrayObject *prototype, NPY_ORDER
                       order, PyArray_Descr *dtype, int subok)

Creates a new array with the same shape as the provided one,
with possible memory layout order and data type changes.

prototype - The array the new one should be like.
order     - NPY_CORDER - C-contiguous result.
NPY_FORTRANORDER - Fortran-contiguous result.
NPY_ANYORDER - Fortran if prototype is Fortran, C otherwise.
NPY_KEEPORDER - Keeps the axis ordering of prototype.
dtype     - If not NULL, overrides the data type of the result.
subok     - If 1, use the prototype's array subtype, otherwise
always create a base-class array.

NOTE: If dtype is not NULL, steals the dtype reference.  On failure or when
dtype->subarray is true, dtype will be decrefed.

::

  int
  PyArray_GetArrayParamsFromObject(PyObject *op, PyArray_Descr
                                   *requested_dtype, npy_bool
                                   writeable, PyArray_Descr
                                   **out_dtype, int *out_ndim, npy_intp
                                   *out_dims, PyArrayObject
                                   **out_arr, PyObject *context)

Retrieves the array parameters for viewing/converting an arbitrary
PyObject* to a NumPy array. This allows the "innate type and shape"
of Python list-of-lists to be discovered without
actually converting to an array.

In some cases, such as structured arrays and the __array__ interface,
a data type needs to be used to make sense of the object.  When
this is needed, provide a Descr for 'requested_dtype', otherwise
provide NULL. This reference is not stolen. Also, if the requested
dtype doesn't modify the interpretation of the input, out_dtype will
still get the "innate" dtype of the object, not the dtype passed
in 'requested_dtype'.

If writing to the value in 'op' is desired, set the boolean
'writeable' to 1.  This raises an error when 'op' is a scalar, list
of lists, or other non-writeable 'op'.

Result: When success (0 return value) is returned, either out_arr
is filled with a non-NULL PyArrayObject and
the rest of the parameters are untouched, or out_arr is
filled with NULL, and the rest of the parameters are
filled.

Typical usage:

PyArrayObject *arr = NULL;
PyArray_Descr *dtype = NULL;
int ndim = 0;
npy_intp dims[NPY_MAXDIMS];

if (PyArray_GetArrayParamsFromObject(op, NULL, 1, &dtype,
&ndim, dims, &arr, NULL) < 0) {
return NULL;
}
if (arr == NULL) {
... validate/change dtype, validate flags, ndim, etc ...
// Could make custom strides here too
arr = PyArray_NewFromDescr(&PyArray_Type, dtype, ndim,
dims, NULL,
is_f_order ? NPY_ARRAY_F_CONTIGUOUS : 0,
NULL);
if (arr == NULL) {
return NULL;
}
if (PyArray_CopyObject(arr, op) < 0) {
Py_DECREF(arr);
return NULL;
}
}
else {
... in this case the other parameters weren't filled, just
validate and possibly copy arr itself ...
}
... use arr ...

::

  int
  PyArray_ConvertClipmodeSequence(PyObject *object, NPY_CLIPMODE
                                  *modes, int n)

Convert an object to an array of n NPY_CLIPMODE values.
This is intended to be used in functions where a different mode
could be applied to each axis, like in ravel_multi_index.

::

  PyObject *
  PyArray_MatrixProduct2(PyObject *op1, PyObject
                         *op2, PyArrayObject*out)

Numeric.matrixproduct2(a,v,out)
just like inner product but does the swapaxes stuff on the fly

::

  npy_bool
  NpyIter_IsFirstVisit(NpyIter *iter, int iop)

Checks to see whether this is the first time the elements
of the specified reduction operand which the iterator points at are
being seen for the first time. The function returns
a reasonable answer for reduction operands and when buffering is
disabled. The answer may be incorrect for buffered non-reduction
operands.

This function is intended to be used in EXTERNAL_LOOP mode only,
and will produce some wrong answers when that mode is not enabled.

If this function returns true, the caller should also
check the inner loop stride of the operand, because if
that stride is 0, then only the first element of the innermost
external loop is being visited for the first time.

WARNING: For performance reasons, 'iop' is not bounds-checked,
it is not confirmed that 'iop' is actually a reduction
operand, and it is not confirmed that EXTERNAL_LOOP
mode is enabled. These checks are the responsibility of
the caller, and should be done outside of any inner loops.

::

  int
  PyArray_SetBaseObject(PyArrayObject *arr, PyObject *obj)

Sets the 'base' attribute of the array. This steals a reference
to 'obj'.

Returns 0 on success, -1 on failure.

::

  void
  PyArray_CreateSortedStridePerm(int ndim, npy_intp
                                 *strides, npy_stride_sort_item
                                 *out_strideperm)


This function populates the first ndim elements
of strideperm with sorted descending by their absolute values.
For example, the stride array (4, -2, 12) becomes
[(2, 12), (0, 4), (1, -2)].

::

  void
  PyArray_RemoveAxesInPlace(PyArrayObject *arr, npy_bool *flags)


Removes the axes flagged as True from the array,
modifying it in place. If an axis flagged for removal
has a shape entry bigger than one, this effectively selects
index zero for that axis.

WARNING: If an axis flagged for removal has a shape equal to zero,
the array will point to invalid memory. The caller must
validate this!
If an axis flagged for removal has a shape larger then one,
the aligned flag (and in the future the contiguous flags),
may need explicit update.
(check also NPY_RELAXED_STRIDES_CHECKING)

For example, this can be used to remove the reduction axes
from a reduction result once its computation is complete.

::

  void
  PyArray_DebugPrint(PyArrayObject *obj)

Prints the raw data of the ndarray in a form useful for debugging
low-level C issues.

::

  int
  PyArray_FailUnlessWriteable(PyArrayObject *obj, const char *name)


This function does nothing if obj is writeable, and raises an exception
(and returns -1) if obj is not writeable. It may also do other
house-keeping, such as issuing warnings on arrays which are transitioning
to become views. Always call this function at some point before writing to
an array.

'name' is a name for the array, used to give better error
messages. Something like "assignment destination", "output array", or even
just "array".

::

  int
  PyArray_SetUpdateIfCopyBase(PyArrayObject *arr, PyArrayObject *base)


Precondition: 'arr' is a copy of 'base' (though possibly with different
strides, ordering, etc.). This function sets the UPDATEIFCOPY flag and the
->base pointer on 'arr', so that when 'arr' is destructed, it will copy any
changes back to 'base'. DEPRECATED, use PyArray_SetWritebackIfCopyBase

Steals a reference to 'base'.

Returns 0 on success, -1 on failure.

::

  void *
  PyDataMem_NEW(size_t size)

Allocates memory for array data.

::

  void
  PyDataMem_FREE(void *ptr)

Free memory for array data.

::

  void *
  PyDataMem_RENEW(void *ptr, size_t size)

Reallocate/resize memory for array data.

::

  PyDataMem_EventHookFunc *
  PyDataMem_SetEventHook(PyDataMem_EventHookFunc *newhook, void
                         *user_data, void **old_data)

Sets the allocation event hook for numpy array data.
Takes a PyDataMem_EventHookFunc *, which has the signature:
void hook(void *old, void *new, size_t size, void *user_data).
Also takes a void *user_data, and void **old_data.

Returns a pointer to the previous hook or NULL.  If old_data is
non-NULL, the previous user_data pointer will be copied to it.

If not NULL, hook will be called at the end of each PyDataMem_NEW/FREE/RENEW:
result = PyDataMem_NEW(size)        -> (*hook)(NULL, result, size, user_data)
PyDataMem_FREE(ptr)                 -> (*hook)(ptr, NULL, 0, user_data)
result = PyDataMem_RENEW(ptr, size) -> (*hook)(ptr, result, size, user_data)

When the hook is called, the GIL will be held by the calling
thread.  The hook should be written to be reentrant, if it performs
operations that might cause new allocation events (such as the
creation/destruction numpy objects, or creating/destroying Python
objects which might cause a gc)

::

  void
  PyArray_MapIterSwapAxes(PyArrayMapIterObject *mit, PyArrayObject
                          **ret, int getmap)


::

  PyObject *
  PyArray_MapIterArray(PyArrayObject *a, PyObject *index)


Use advanced indexing to iterate an array.

::

  void
  PyArray_MapIterNext(PyArrayMapIterObject *mit)

This function needs to update the state of the map iterator
and point mit->dataptr to the memory-location of the next object

Note that this function never handles an extra operand but provides
compatibility for an old (exposed) API.

::

  int
  PyArray_Partition(PyArrayObject *op, PyArrayObject *ktharray, int
                    axis, NPY_SELECTKIND which)

Partition an array in-place

::

  PyObject *
  PyArray_ArgPartition(PyArrayObject *op, PyArrayObject *ktharray, int
                       axis, NPY_SELECTKIND which)

ArgPartition an array

::

  int
  PyArray_SelectkindConverter(PyObject *obj, NPY_SELECTKIND *selectkind)

Convert object to select kind

::

  void *
  PyDataMem_NEW_ZEROED(size_t size, size_t elsize)

Allocates zeroed memory for array data.

::

  int
  PyArray_CheckAnyScalarExact(PyObject *obj)

return true an object is exactly a numpy scalar

::

  PyObject *
  PyArray_MapIterArrayCopyIfOverlap(PyArrayObject *a, PyObject
                                    *index, int
                                    copy_if_overlap, PyArrayObject
                                    *extra_op)


Same as PyArray_MapIterArray, but:

If copy_if_overlap != 0, check if `a` has memory overlap with any of the
arrays in `index` and with `extra_op`. If yes, make copies as appropriate
to avoid problems if `a` is modified during the iteration.
`iter->array` may contain a copied array (UPDATEIFCOPY/WRITEBACKIFCOPY set).

::

  int
  PyArray_ResolveWritebackIfCopy(PyArrayObject *self)


If WRITEBACKIFCOPY and self has data, reset the base WRITEABLE flag,
copy the local data to base, release the local data, and set flags
appropriately. Return 0 if not relevant, 1 if success, < 0 on failure

::

  int
  PyArray_SetWritebackIfCopyBase(PyArrayObject *arr, PyArrayObject
                                 *base)


Precondition: 'arr' is a copy of 'base' (though possibly with different
strides, ordering, etc.). This function sets the WRITEBACKIFCOPY flag and the
->base pointer on 'arr', call PyArray_ResolveWritebackIfCopy to copy any
changes back to 'base' before deallocating the array.

Steals a reference to 'base'.

Returns 0 on success, -1 on failure.