浏览代码

removed esp8266

orbitzs 4 年之前
父节点
当前提交
9269133408
共有 100 个文件被更改,包括 0 次插入18659 次删除
  1. 0 10
      esp8266/boot.py
  2. 0 20
      esp8266/connect_wifi.py
  3. 0 78
      esp8266/eproj1/eproj1Venv/bin/activate
  4. 0 36
      esp8266/eproj1/eproj1Venv/bin/activate.csh
  5. 0 76
      esp8266/eproj1/eproj1Venv/bin/activate.fish
  6. 0 34
      esp8266/eproj1/eproj1Venv/bin/activate_this.py
  7. 0 11
      esp8266/eproj1/eproj1Venv/bin/easy_install
  8. 0 11
      esp8266/eproj1/eproj1Venv/bin/easy_install-2.7
  9. 0 11
      esp8266/eproj1/eproj1Venv/bin/pip
  10. 0 11
      esp8266/eproj1/eproj1Venv/bin/pip2
  11. 0 11
      esp8266/eproj1/eproj1Venv/bin/pip2.7
  12. 二进制
      esp8266/eproj1/eproj1Venv/bin/python
  13. 0 78
      esp8266/eproj1/eproj1Venv/bin/python-config
  14. 二进制
      esp8266/eproj1/eproj1Venv/bin/python2
  15. 二进制
      esp8266/eproj1/eproj1Venv/bin/python2.7
  16. 0 11
      esp8266/eproj1/eproj1Venv/bin/wheel
  17. 0 57
      esp8266/eproj1/eproj1Venv/include/python2.7/ImDib.h
  18. 0 80
      esp8266/eproj1/eproj1Venv/include/python2.7/ImPlatform.h
  19. 0 547
      esp8266/eproj1/eproj1Venv/include/python2.7/Imaging.h
  20. 0 535
      esp8266/eproj1/eproj1Venv/include/python2.7/Python-ast.h
  21. 0 178
      esp8266/eproj1/eproj1Venv/include/python2.7/Python.h
  22. 0 1396
      esp8266/eproj1/eproj1Venv/include/python2.7/abstract.h
  23. 0 45
      esp8266/eproj1/eproj1Venv/include/python2.7/asdl.h
  24. 0 13
      esp8266/eproj1/eproj1Venv/include/python2.7/ast.h
  25. 0 32
      esp8266/eproj1/eproj1Venv/include/python2.7/bitset.h
  26. 0 36
      esp8266/eproj1/eproj1Venv/include/python2.7/boolobject.h
  27. 0 33
      esp8266/eproj1/eproj1Venv/include/python2.7/bufferobject.h
  28. 0 57
      esp8266/eproj1/eproj1Venv/include/python2.7/bytearrayobject.h
  29. 0 75
      esp8266/eproj1/eproj1Venv/include/python2.7/bytes_methods.h
  30. 0 27
      esp8266/eproj1/eproj1Venv/include/python2.7/bytesobject.h
  31. 0 73
      esp8266/eproj1/eproj1Venv/include/python2.7/cStringIO.h
  32. 0 28
      esp8266/eproj1/eproj1Venv/include/python2.7/cellobject.h
  33. 0 153
      esp8266/eproj1/eproj1Venv/include/python2.7/ceval.h
  34. 0 83
      esp8266/eproj1/eproj1Venv/include/python2.7/classobject.h
  35. 0 89
      esp8266/eproj1/eproj1Venv/include/python2.7/cobject.h
  36. 0 116
      esp8266/eproj1/eproj1Venv/include/python2.7/code.h
  37. 0 212
      esp8266/eproj1/eproj1Venv/include/python2.7/codecs.h
  38. 0 40
      esp8266/eproj1/eproj1Venv/include/python2.7/compile.h
  39. 0 66
      esp8266/eproj1/eproj1Venv/include/python2.7/complexobject.h
  40. 0 239
      esp8266/eproj1/eproj1Venv/include/python2.7/datetime.h
  41. 0 94
      esp8266/eproj1/eproj1Venv/include/python2.7/descrobject.h
  42. 0 157
      esp8266/eproj1/eproj1Venv/include/python2.7/dictobject.h
  43. 0 15
      esp8266/eproj1/eproj1Venv/include/python2.7/dtoa.h
  44. 0 17
      esp8266/eproj1/eproj1Venv/include/python2.7/enumobject.h
  45. 0 36
      esp8266/eproj1/eproj1Venv/include/python2.7/errcode.h
  46. 0 25
      esp8266/eproj1/eproj1Venv/include/python2.7/eval.h
  47. 0 97
      esp8266/eproj1/eproj1Venv/include/python2.7/fileobject.h
  48. 0 140
      esp8266/eproj1/eproj1Venv/include/python2.7/floatobject.h
  49. 0 89
      esp8266/eproj1/eproj1Venv/include/python2.7/frameobject.h
  50. 0 76
      esp8266/eproj1/eproj1Venv/include/python2.7/funcobject.h
  51. 0 40
      esp8266/eproj1/eproj1Venv/include/python2.7/genobject.h
  52. 0 87
      esp8266/eproj1/eproj1Venv/include/python2.7/graminit.h
  53. 0 93
      esp8266/eproj1/eproj1Venv/include/python2.7/grammar.h
  54. 0 71
      esp8266/eproj1/eproj1Venv/include/python2.7/import.h
  55. 0 81
      esp8266/eproj1/eproj1Venv/include/python2.7/intobject.h
  56. 0 15
      esp8266/eproj1/eproj1Venv/include/python2.7/intrcheck.h
  57. 0 23
      esp8266/eproj1/eproj1Venv/include/python2.7/iterobject.h
  58. 0 68
      esp8266/eproj1/eproj1Venv/include/python2.7/listobject.h
  59. 0 103
      esp8266/eproj1/eproj1Venv/include/python2.7/longintrepr.h
  60. 0 135
      esp8266/eproj1/eproj1Venv/include/python2.7/longobject.h
  61. 0 25
      esp8266/eproj1/eproj1Venv/include/python2.7/marshal.h
  62. 0 74
      esp8266/eproj1/eproj1Venv/include/python2.7/memoryobject.h
  63. 0 18
      esp8266/eproj1/eproj1Venv/include/python2.7/metagrammar.h
  64. 0 93
      esp8266/eproj1/eproj1Venv/include/python2.7/methodobject.h
  65. 0 134
      esp8266/eproj1/eproj1Venv/include/python2.7/modsupport.h
  66. 0 24
      esp8266/eproj1/eproj1Venv/include/python2.7/moduleobject.h
  67. 0 41
      esp8266/eproj1/eproj1Venv/include/python2.7/node.h
  68. 0 1540
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/__multiarray_api.h
  69. 0 320
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/__ufunc_api.h
  70. 0 90
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/_neighborhood_iterator_imp.h
  71. 0 31
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/_numpyconfig.h
  72. 0 11
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/arrayobject.h
  73. 0 175
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/arrayscalars.h
  74. 0 70
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/halffloat.h
  75. 0 2449
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/multiarray_api.txt
  76. 0 246
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ndarrayobject.h
  77. 0 1793
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ndarraytypes.h
  78. 0 209
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/noprefix.h
  79. 0 130
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_1_7_deprecated_api.h
  80. 0 496
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_3kcompat.h
  81. 0 1069
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_common.h
  82. 0 92
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_cpu.h
  83. 0 61
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_endian.h
  84. 0 117
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_interrupt.h
  85. 0 529
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_math.h
  86. 0 19
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_no_deprecated_api.h
  87. 0 30
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_os.h
  88. 0 37
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/numpyconfig.h
  89. 0 187
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/old_defines.h
  90. 0 23
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/oldnumeric.h
  91. 0 321
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ufunc_api.txt
  92. 0 357
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ufuncobject.h
  93. 0 19
      esp8266/eproj1/eproj1Venv/include/python2.7/numpy/utils.h
  94. 0 1046
      esp8266/eproj1/eproj1Venv/include/python2.7/object.h
  95. 0 354
      esp8266/eproj1/eproj1Venv/include/python2.7/objimpl.h
  96. 0 171
      esp8266/eproj1/eproj1Venv/include/python2.7/opcode.h
  97. 0 63
      esp8266/eproj1/eproj1Venv/include/python2.7/osdefs.h
  98. 0 64
      esp8266/eproj1/eproj1Venv/include/python2.7/parsetok.h
  99. 0 43
      esp8266/eproj1/eproj1Venv/include/python2.7/patchlevel.h
  100. 0 18
      esp8266/eproj1/eproj1Venv/include/python2.7/pgen.h

+ 0 - 10
esp8266/boot.py

@@ -1,10 +0,0 @@
-# This file is executed on every boot (including wake-boot from deepsleep)
-#import esp
-#esp.osdebug(None)
-import gc
-import webrepl
-import connect_wifi
-
-webrepl.start()
-connect_wifi.do_connect()
-gc.collect()

+ 0 - 20
esp8266/connect_wifi.py

@@ -1,20 +0,0 @@
-def connect():
-	import network
-
-	ssid = "hazard18"
-	password =  "pu1f0xylu1"
-
-	station = network.WLAN(network.STA_IF)
-
-	if station.isconnected() == True:
-		print("Already connected")
-		return
-
-	station.active(True)
-	station.connect(ssid, password)
-
-	while station.isconnected() == False:
-		pass
-
-	print("Connection successful")
-	print(station.ifconfig())

+ 0 - 78
esp8266/eproj1/eproj1Venv/bin/activate

@@ -1,78 +0,0 @@
-# This file must be used with "source bin/activate" *from bash*
-# you cannot run it directly
-
-deactivate () {
-    unset -f pydoc >/dev/null 2>&1
-
-    # reset old environment variables
-    # ! [ -z ${VAR+_} ] returns true if VAR is declared at all
-    if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
-        PATH="$_OLD_VIRTUAL_PATH"
-        export PATH
-        unset _OLD_VIRTUAL_PATH
-    fi
-    if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
-        PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
-        export PYTHONHOME
-        unset _OLD_VIRTUAL_PYTHONHOME
-    fi
-
-    # This should detect bash and zsh, which have a hash command that must
-    # be called to get it to forget past commands.  Without forgetting
-    # past commands the $PATH changes we made may not be respected
-    if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
-        hash -r 2>/dev/null
-    fi
-
-    if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
-        PS1="$_OLD_VIRTUAL_PS1"
-        export PS1
-        unset _OLD_VIRTUAL_PS1
-    fi
-
-    unset VIRTUAL_ENV
-    if [ ! "${1-}" = "nondestructive" ] ; then
-    # Self destruct!
-        unset -f deactivate
-    fi
-}
-
-# unset irrelevant variables
-deactivate nondestructive
-
-VIRTUAL_ENV="/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv"
-export VIRTUAL_ENV
-
-_OLD_VIRTUAL_PATH="$PATH"
-PATH="$VIRTUAL_ENV/bin:$PATH"
-export PATH
-
-# unset PYTHONHOME if set
-if ! [ -z "${PYTHONHOME+_}" ] ; then
-    _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
-    unset PYTHONHOME
-fi
-
-if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
-    _OLD_VIRTUAL_PS1="$PS1"
-    if [ "x" != x ] ; then
-        PS1="$PS1"
-    else
-        PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
-    fi
-    export PS1
-fi
-
-# Make sure to unalias pydoc if it's already there
-alias pydoc 2>/dev/null >/dev/null && unalias pydoc
-
-pydoc () {
-    python -m pydoc "$@"
-}
-
-# This should detect bash and zsh, which have a hash command that must
-# be called to get it to forget past commands.  Without forgetting
-# past commands the $PATH changes we made may not be respected
-if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
-    hash -r 2>/dev/null
-fi

+ 0 - 36
esp8266/eproj1/eproj1Venv/bin/activate.csh

@@ -1,36 +0,0 @@
-# This file must be used with "source bin/activate.csh" *from csh*.
-# You cannot run it directly.
-# Created by Davide Di Blasi <davidedb@gmail.com>.
-
-alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
-
-# Unset irrelevant variables.
-deactivate nondestructive
-
-setenv VIRTUAL_ENV "/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv"
-
-set _OLD_VIRTUAL_PATH="$PATH"
-setenv PATH "$VIRTUAL_ENV/bin:$PATH"
-
-
-
-if ("" != "") then
-    set env_name = ""
-else
-    set env_name = `basename "$VIRTUAL_ENV"`
-endif
-
-# Could be in a non-interactive environment,
-# in which case, $prompt is undefined and we wouldn't
-# care about the prompt anyway.
-if ( $?prompt ) then
-    set _OLD_VIRTUAL_PROMPT="$prompt"
-    set prompt = "[$env_name] $prompt"
-endif
-
-unset env_name
-
-alias pydoc python -m pydoc
-
-rehash
-

+ 0 - 76
esp8266/eproj1/eproj1Venv/bin/activate.fish

@@ -1,76 +0,0 @@
-# This file must be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
-# Do not run it directly.
-
-function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
-    # reset old environment variables
-    if test -n "$_OLD_VIRTUAL_PATH"
-        set -gx PATH $_OLD_VIRTUAL_PATH
-        set -e _OLD_VIRTUAL_PATH
-    end
-
-    if test -n "$_OLD_VIRTUAL_PYTHONHOME"
-        set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
-        set -e _OLD_VIRTUAL_PYTHONHOME
-    end
-
-    if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
-        # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
-        set -l fish_function_path
-
-        # Erase virtualenv's `fish_prompt` and restore the original.
-        functions -e fish_prompt
-        functions -c _old_fish_prompt fish_prompt
-        functions -e _old_fish_prompt
-        set -e _OLD_FISH_PROMPT_OVERRIDE
-    end
-
-    set -e VIRTUAL_ENV
-
-    if test "$argv[1]" != 'nondestructive'
-        # Self-destruct!
-        functions -e pydoc
-        functions -e deactivate
-    end
-end
-
-# Unset irrelevant variables.
-deactivate nondestructive
-
-set -gx VIRTUAL_ENV "/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv"
-
-set -gx _OLD_VIRTUAL_PATH $PATH
-set -gx PATH "$VIRTUAL_ENV/bin" $PATH
-
-# Unset `$PYTHONHOME` if set.
-if set -q PYTHONHOME
-    set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
-    set -e PYTHONHOME
-end
-
-function pydoc
-    python -m pydoc $argv
-end
-
-if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
-    # Copy the current `fish_prompt` function as `_old_fish_prompt`.
-    functions -c fish_prompt _old_fish_prompt
-
-    function fish_prompt
-        # Save the current $status, for fish_prompts that display it.
-        set -l old_status $status
-
-        # Prompt override provided?
-        # If not, just prepend the environment name.
-        if test -n ""
-            printf '%s%s' "" (set_color normal)
-        else
-            printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV")
-        end
-
-        # Restore the original $status
-        echo "exit $old_status" | source
-        _old_fish_prompt
-    end
-
-    set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
-end

+ 0 - 34
esp8266/eproj1/eproj1Venv/bin/activate_this.py

@@ -1,34 +0,0 @@
-"""By using execfile(this_file, dict(__file__=this_file)) you will
-activate this virtualenv environment.
-
-This can be used when you must use an existing Python interpreter, not
-the virtualenv bin/python
-"""
-
-try:
-    __file__
-except NameError:
-    raise AssertionError(
-        "You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))")
-import sys
-import os
-
-old_os_path = os.environ.get('PATH', '')
-os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path
-base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-if sys.platform == 'win32':
-    site_packages = os.path.join(base, 'Lib', 'site-packages')
-else:
-    site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
-prev_sys_path = list(sys.path)
-import site
-site.addsitedir(site_packages)
-sys.real_prefix = sys.prefix
-sys.prefix = base
-# Move the added items to the front of the path:
-new_sys_path = []
-for item in list(sys.path):
-    if item not in prev_sys_path:
-        new_sys_path.append(item)
-        sys.path.remove(item)
-sys.path[:0] = new_sys_path

+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/easy_install

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from setuptools.command.easy_install import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/easy_install-2.7

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from setuptools.command.easy_install import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/pip

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from pip._internal import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/pip2

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from pip._internal import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/pip2.7

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from pip._internal import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

二进制
esp8266/eproj1/eproj1Venv/bin/python


+ 0 - 78
esp8266/eproj1/eproj1Venv/bin/python-config

@@ -1,78 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-import sys
-import getopt
-import sysconfig
-
-valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
-              'ldflags', 'help']
-
-if sys.version_info >= (3, 2):
-    valid_opts.insert(-1, 'extension-suffix')
-    valid_opts.append('abiflags')
-if sys.version_info >= (3, 3):
-    valid_opts.append('configdir')
-
-
-def exit_with_usage(code=1):
-    sys.stderr.write("Usage: {0} [{1}]\n".format(
-        sys.argv[0], '|'.join('--'+opt for opt in valid_opts)))
-    sys.exit(code)
-
-try:
-    opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
-except getopt.error:
-    exit_with_usage()
-
-if not opts:
-    exit_with_usage()
-
-pyver = sysconfig.get_config_var('VERSION')
-getvar = sysconfig.get_config_var
-
-opt_flags = [flag for (flag, val) in opts]
-
-if '--help' in opt_flags:
-    exit_with_usage(code=0)
-
-for opt in opt_flags:
-    if opt == '--prefix':
-        print(sysconfig.get_config_var('prefix'))
-
-    elif opt == '--exec-prefix':
-        print(sysconfig.get_config_var('exec_prefix'))
-
-    elif opt in ('--includes', '--cflags'):
-        flags = ['-I' + sysconfig.get_path('include'),
-                 '-I' + sysconfig.get_path('platinclude')]
-        if opt == '--cflags':
-            flags.extend(getvar('CFLAGS').split())
-        print(' '.join(flags))
-
-    elif opt in ('--libs', '--ldflags'):
-        abiflags = getattr(sys, 'abiflags', '')
-        libs = ['-lpython' + pyver + abiflags]
-        libs += getvar('LIBS').split()
-        libs += getvar('SYSLIBS').split()
-        # add the prefix/lib/pythonX.Y/config dir, but only if there is no
-        # shared library in prefix/lib/.
-        if opt == '--ldflags':
-            if not getvar('Py_ENABLE_SHARED'):
-                libs.insert(0, '-L' + getvar('LIBPL'))
-            if not getvar('PYTHONFRAMEWORK'):
-                libs.extend(getvar('LINKFORSHARED').split())
-        print(' '.join(libs))
-
-    elif opt == '--extension-suffix':
-        ext_suffix = sysconfig.get_config_var('EXT_SUFFIX')
-        if ext_suffix is None:
-            ext_suffix = sysconfig.get_config_var('SO')
-        print(ext_suffix)
-
-    elif opt == '--abiflags':
-        if not getattr(sys, 'abiflags', None):
-            exit_with_usage()
-        print(sys.abiflags)
-
-    elif opt == '--configdir':
-        print(sysconfig.get_config_var('LIBPL'))

二进制
esp8266/eproj1/eproj1Venv/bin/python2


二进制
esp8266/eproj1/eproj1Venv/bin/python2.7


+ 0 - 11
esp8266/eproj1/eproj1Venv/bin/wheel

@@ -1,11 +0,0 @@
-#!/home/laxaurus/workspace/esp8266/eproj1/eproj1Venv/bin/python
-
-# -*- coding: utf-8 -*-
-import re
-import sys
-
-from wheel.tool import main
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())

+ 0 - 57
esp8266/eproj1/eproj1Venv/include/python2.7/ImDib.h

@@ -1,57 +0,0 @@
-/*
- * The Python Imaging Library
- * $Id$
- *
- * Windows DIB specifics
- *
- * Copyright (c) Secret Labs AB 1997-98.
- * Copyright (c) Fredrik Lundh 1996.
- *
- * See the README file for information on usage and redistribution.
- */
-
-#ifdef _WIN32
-
-#include "ImPlatform.h"
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-struct ImagingDIBInstance {
-    /* Windows interface */
-    HDC dc;
-    HBITMAP bitmap;
-    HGDIOBJ old_bitmap;
-    BITMAPINFO *info;
-    UINT8 *bits;
-    HPALETTE palette;
-    /* Used by cut and paste */
-    char mode[4];
-    int xsize, ysize;
-    int pixelsize;
-    int linesize;
-    ImagingShuffler pack;
-    ImagingShuffler unpack;
-};
-
-typedef struct ImagingDIBInstance* ImagingDIB;
-
-extern char* ImagingGetModeDIB(int size_out[2]);
-
-extern ImagingDIB ImagingNewDIB(const char *mode, int xsize, int ysize);
-
-extern void ImagingDeleteDIB(ImagingDIB im);
-
-extern void ImagingDrawDIB(ImagingDIB dib, void *dc, int dst[4], int src[4]);
-extern void ImagingExposeDIB(ImagingDIB dib, void *dc);
-
-extern int ImagingQueryPaletteDIB(ImagingDIB dib, void *dc);
-
-extern void ImagingPasteDIB(ImagingDIB dib, Imaging im, int xy[4]);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif

+ 0 - 80
esp8266/eproj1/eproj1Venv/include/python2.7/ImPlatform.h

@@ -1,80 +0,0 @@
-/*
- * The Python Imaging Library
- * $Id$
- *
- * platform declarations for the imaging core library
- *
- * Copyright (c) Fredrik Lundh 1995-2003.
- */
-
-#include "Python.h"
-
-/* Check that we have an ANSI compliant compiler */
-#ifndef HAVE_PROTOTYPES
-#error Sorry, this library requires support for ANSI prototypes.
-#endif
-#ifndef STDC_HEADERS
-#error Sorry, this library requires ANSI header files.
-#endif
-
-#if defined(PIL_NO_INLINE)
-#define inline 
-#else
-#if defined(_MSC_VER) && !defined(__GNUC__)
-#define inline __inline
-#endif
-#endif
-
-#ifdef _WIN32
-
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
-
-#else
-/* For System that are not Windows, we'll need to define these. */
-
-#if SIZEOF_SHORT == 2
-#define	INT16 short
-#elif SIZEOF_INT == 2
-#define	INT16 int
-#else
-#define	INT16 short /* most things works just fine anyway... */
-#endif
-
-#if SIZEOF_SHORT == 4
-#define	INT32 short
-#elif SIZEOF_INT == 4
-#define	INT32 int
-#elif SIZEOF_LONG == 4
-#define	INT32 long
-#else
-#error Cannot find required 32-bit integer type
-#endif
-
-#if SIZEOF_LONG == 8
-#define	INT64 long
-#elif SIZEOF_LONG_LONG == 8
-#define	INT64 long
-#endif
-
-#define	INT8  signed char
-#define	UINT8 unsigned char
-
-#define	UINT16 unsigned INT16
-#define	UINT32 unsigned INT32
-
-#endif
-
-/* assume IEEE; tweak if necessary (patches are welcome) */
-#define	FLOAT32 float
-#define	FLOAT64 double
-
-#ifdef _MSC_VER
-typedef signed __int64       int64_t;
-#endif
-
-#ifdef __GNUC__
-    #define GCC_VERSION (__GNUC__ * 10000 \
-                       + __GNUC_MINOR__ * 100 \
-                       + __GNUC_PATCHLEVEL__)
-#endif

+ 0 - 547
esp8266/eproj1/eproj1Venv/include/python2.7/Imaging.h

@@ -1,547 +0,0 @@
-/*
- * The Python Imaging Library
- * $Id$
- *
- * declarations for the imaging core library
- *
- * Copyright (c) 1997-2005 by Secret Labs AB
- * Copyright (c) 1995-2005 by Fredrik Lundh
- *
- * See the README file for information on usage and redistribution.
- */
-
-
-#include "ImPlatform.h"
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-#ifndef M_PI
-#define	M_PI	3.1415926535897932384626433832795
-#endif
-
-
-/* -------------------------------------------------------------------- */
-
-/*
- * Image data organization:
- *
- * mode	    bytes	byte order
- * -------------------------------
- * 1	    1		1
- * L	    1		L
- * P	    1		P
- * I        4           I (32-bit integer, native byte order)
- * F        4           F (32-bit IEEE float, native byte order)
- * RGB	    4		R, G, B, -
- * RGBA	    4		R, G, B, A
- * CMYK	    4		C, M, Y, K
- * YCbCr    4		Y, Cb, Cr, -
- * Lab      4       L, a, b, -
- *
- * experimental modes (incomplete):
- * LA       4           L, -, -, A
- * PA       4           P, -, -, A
- * I;16     2           I (16-bit integer, native byte order)
- *
- * "P" is an 8-bit palette mode, which should be mapped through the
- * palette member to get an output image.  Check palette->mode to
- * find the corresponding "real" mode.
- *
- * For information on how to access Imaging objects from your own C
- * extensions, see http://www.effbot.org/zone/pil-extending.htm
- */
-
-/* Handles */
-
-typedef struct ImagingMemoryInstance* Imaging;
-
-typedef struct ImagingAccessInstance* ImagingAccess;
-typedef struct ImagingHistogramInstance* ImagingHistogram;
-typedef struct ImagingOutlineInstance* ImagingOutline;
-typedef struct ImagingPaletteInstance* ImagingPalette;
-
-/* handle magics (used with PyCObject). */
-#define IMAGING_MAGIC "PIL Imaging"
-
-/* pixel types */
-#define IMAGING_TYPE_UINT8 0
-#define IMAGING_TYPE_INT32 1
-#define IMAGING_TYPE_FLOAT32 2
-#define IMAGING_TYPE_SPECIAL 3 /* check mode for details */
-
-#define IMAGING_MODE_LENGTH 6+1 /* Band names ("1", "L", "P", "RGB", "RGBA", "CMYK", "YCbCr", "BGR;xy") */
-
-struct ImagingMemoryInstance {
-
-    /* Format */
-    char mode[IMAGING_MODE_LENGTH];	/* Band names ("1", "L", "P", "RGB", "RGBA", "CMYK", "YCbCr", "BGR;xy") */
-    int type;		/* Data type (IMAGING_TYPE_*) */
-    int depth;		/* Depth (ignored in this version) */
-    int bands;		/* Number of bands (1, 2, 3, or 4) */
-    int xsize;		/* Image dimension. */
-    int ysize;
-
-    /* Colour palette (for "P" images only) */
-    ImagingPalette palette;
-
-    /* Data pointers */
-    UINT8 **image8;	/* Set for 8-bit images (pixelsize=1). */
-    INT32 **image32;	/* Set for 32-bit images (pixelsize=4). */
-
-    /* Internals */
-    char **image;	/* Actual raster data. */
-    char *block;	/* Set if data is allocated in a single block. */
-
-    int pixelsize;	/* Size of a pixel, in bytes (1, 2 or 4) */
-    int linesize;	/* Size of a line, in bytes (xsize * pixelsize) */
-
-    /* Virtual methods */
-    void (*destroy)(Imaging im);
-};
-
-
-#define IMAGING_PIXEL_1(im,x,y) ((im)->image8[(y)][(x)])
-#define IMAGING_PIXEL_L(im,x,y) ((im)->image8[(y)][(x)])
-#define IMAGING_PIXEL_LA(im,x,y) ((im)->image[(y)][(x)*4])
-#define IMAGING_PIXEL_P(im,x,y) ((im)->image8[(y)][(x)])
-#define IMAGING_PIXEL_PA(im,x,y) ((im)->image[(y)][(x)*4])
-#define IMAGING_PIXEL_I(im,x,y) ((im)->image32[(y)][(x)])
-#define IMAGING_PIXEL_F(im,x,y) (((FLOAT32*)(im)->image32[y])[x])
-#define IMAGING_PIXEL_RGB(im,x,y) ((im)->image[(y)][(x)*4])
-#define IMAGING_PIXEL_RGBA(im,x,y) ((im)->image[(y)][(x)*4])
-#define IMAGING_PIXEL_CMYK(im,x,y) ((im)->image[(y)][(x)*4])
-#define IMAGING_PIXEL_YCbCr(im,x,y) ((im)->image[(y)][(x)*4])
-
-#define IMAGING_PIXEL_UINT8(im,x,y) ((im)->image8[(y)][(x)])
-#define IMAGING_PIXEL_INT32(im,x,y) ((im)->image32[(y)][(x)])
-#define IMAGING_PIXEL_FLOAT32(im,x,y) (((FLOAT32*)(im)->image32[y])[x])
-
-struct ImagingAccessInstance {
-  const char* mode;
-  void* (*line)(Imaging im, int x, int y);
-  void (*get_pixel)(Imaging im, int x, int y, void* pixel);
-  void (*put_pixel)(Imaging im, int x, int y, const void* pixel);
-};
-
-struct ImagingHistogramInstance {
-
-    /* Format */
-    char mode[IMAGING_MODE_LENGTH];	/* Band names (of corresponding source image) */
-    int bands;		/* Number of bands (1, 3, or 4) */
-
-    /* Data */
-    long *histogram;	/* Histogram (bands*256 longs) */
-
-};
-
-
-struct ImagingPaletteInstance {
-
-    /* Format */
-    char mode[IMAGING_MODE_LENGTH];	/* Band names */
-
-    /* Data */
-    UINT8 palette[1024];/* Palette data (same format as image data) */
-
-    INT16* cache;	/* Palette cache (used for predefined palettes) */
-    int keep_cache;	/* This palette will be reused; keep cache */
-
-};
-
-
-/* Objects */
-/* ------- */
-
-extern int ImagingNewCount;
-
-extern Imaging ImagingNew(const char* mode, int xsize, int ysize);
-extern Imaging ImagingNew2(const char* mode, Imaging imOut, Imaging imIn);
-extern void    ImagingDelete(Imaging im);
-
-extern Imaging ImagingNewBlock(const char* mode, int xsize, int ysize);
-extern Imaging ImagingNewArray(const char* mode, int xsize, int ysize);
-extern Imaging ImagingNewMap(const char* filename, int readonly,
-                             const char* mode, int xsize, int ysize);
-
-extern Imaging ImagingNewPrologue(const char *mode,
-                                  unsigned xsize, unsigned ysize);
-extern Imaging ImagingNewPrologueSubtype(const char *mode,
-                                  unsigned xsize, unsigned ysize,
-                                  int structure_size);
-extern Imaging ImagingNewEpilogue(Imaging im);
-
-extern void ImagingCopyInfo(Imaging destination, Imaging source);
-
-extern void ImagingHistogramDelete(ImagingHistogram histogram);
-
-extern void ImagingAccessInit(void);
-extern ImagingAccess ImagingAccessNew(Imaging im);
-extern void _ImagingAccessDelete(Imaging im, ImagingAccess access);
-#define ImagingAccessDelete(im, access) /* nop, for now */
-/*#define ImagingAccessDelete(im, access) \
-  ((access)->dynamic ? _ImagingAccessDelete((im), (access)), 0 : 0)) */
-
-extern ImagingPalette ImagingPaletteNew(const char *mode);
-extern ImagingPalette ImagingPaletteNewBrowser(void);
-extern ImagingPalette ImagingPaletteDuplicate(ImagingPalette palette);
-extern void           ImagingPaletteDelete(ImagingPalette palette);
-
-extern int  ImagingPaletteCachePrepare(ImagingPalette palette);
-extern void ImagingPaletteCacheUpdate(ImagingPalette palette,
-				      int r, int g, int b);
-extern void ImagingPaletteCacheDelete(ImagingPalette palette);
-
-#define	ImagingPaletteCache(p, r, g, b)\
-    p->cache[(r>>2) + (g>>2)*64 + (b>>2)*64*64]
-
-extern Imaging ImagingQuantize(Imaging im, int colours, int mode, int kmeans);
-
-/* Threading */
-/* --------- */
-
-typedef void* ImagingSectionCookie;
-
-extern void ImagingSectionEnter(ImagingSectionCookie* cookie);
-extern void ImagingSectionLeave(ImagingSectionCookie* cookie);
-
-/* Exceptions */
-/* ---------- */
-
-extern void* ImagingError_IOError(void);
-extern void* ImagingError_MemoryError(void);
-extern void* ImagingError_ModeError(void); /* maps to ValueError by default */
-extern void* ImagingError_Mismatch(void); /* maps to ValueError by default */
-extern void* ImagingError_ValueError(const char* message);
-extern void ImagingError_Clear(void);
-
-/* Transform callbacks */
-/* ------------------- */
-
-/* standard transforms */
-#define IMAGING_TRANSFORM_AFFINE 0
-#define IMAGING_TRANSFORM_PERSPECTIVE 2
-#define IMAGING_TRANSFORM_QUAD 3
-
-
-/* standard filters */
-#define IMAGING_TRANSFORM_NEAREST 0
-#define IMAGING_TRANSFORM_LANCZOS 1
-#define IMAGING_TRANSFORM_BILINEAR 2
-#define IMAGING_TRANSFORM_BICUBIC 3
-
-typedef int (*ImagingTransformMap)(double* X, double* Y,
-                                   int x, int y, void* data);
-typedef int (*ImagingTransformFilter)(void* out, Imaging im,
-                                      double x, double y,
-                                      void* data);
-
-/* Image Manipulation Methods */
-/* -------------------------- */
-
-extern Imaging ImagingAlphaComposite(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingBlend(Imaging imIn1, Imaging imIn2, float alpha);
-extern Imaging ImagingCopy(Imaging im);
-extern Imaging ImagingConvert(Imaging im, const char* mode, ImagingPalette palette, int dither);
-extern Imaging ImagingConvertInPlace(Imaging im, const char* mode);
-extern Imaging ImagingConvertMatrix(Imaging im, const char *mode, float m[]);
-extern Imaging ImagingConvertTransparent(Imaging im, const char *mode, int r, int g, int b);
-extern Imaging ImagingCrop(Imaging im, int x0, int y0, int x1, int y1);
-extern Imaging ImagingExpand(Imaging im, int x, int y, int mode);
-extern Imaging ImagingFill(Imaging im, const void* ink);
-extern int ImagingFill2(
-    Imaging into, const void* ink, Imaging mask,
-    int x0, int y0, int x1, int y1);
-extern Imaging ImagingFillBand(Imaging im, int band, int color);
-extern Imaging ImagingFillLinearGradient(const char* mode);
-extern Imaging ImagingFillRadialGradient(const char* mode);
-extern Imaging ImagingFilter(
-    Imaging im, int xsize, int ysize, const FLOAT32* kernel,
-    FLOAT32 offset, FLOAT32 divisor);
-extern Imaging ImagingFlipLeftRight(Imaging imOut, Imaging imIn);
-extern Imaging ImagingFlipTopBottom(Imaging imOut, Imaging imIn);
-extern Imaging ImagingGaussianBlur(Imaging imOut, Imaging imIn, float radius,
-    int passes);
-extern Imaging ImagingGetBand(Imaging im, int band);
-extern int ImagingGetBBox(Imaging im, int bbox[4]);
-typedef struct { int x, y; INT32 count; INT32 pixel; } ImagingColorItem;
-extern ImagingColorItem* ImagingGetColors(Imaging im, int maxcolors,
-    int *colors);
-extern int ImagingGetExtrema(Imaging im, void *extrema);
-extern int ImagingGetProjection(Imaging im, UINT8* xproj, UINT8* yproj);
-extern ImagingHistogram ImagingGetHistogram(
-    Imaging im, Imaging mask, void *extrema);
-extern Imaging ImagingModeFilter(Imaging im, int size);
-extern Imaging ImagingNegative(Imaging im);
-extern Imaging ImagingOffset(Imaging im, int xoffset, int yoffset);
-extern int ImagingPaste(
-    Imaging into, Imaging im, Imaging mask,
-    int x0, int y0, int x1, int y1);
-extern Imaging ImagingPoint(
-    Imaging im, const char* tablemode, const void* table);
-extern Imaging ImagingPointTransform(
-    Imaging imIn, double scale, double offset);
-extern Imaging ImagingPutBand(Imaging im, Imaging imIn, int band);
-extern Imaging ImagingRankFilter(Imaging im, int size, int rank);
-extern Imaging ImagingRotate(
-    Imaging imOut, Imaging imIn, double theta, int filter);
-extern Imaging ImagingRotate90(Imaging imOut, Imaging imIn);
-extern Imaging ImagingRotate180(Imaging imOut, Imaging imIn);
-extern Imaging ImagingRotate270(Imaging imOut, Imaging imIn);
-extern Imaging ImagingResample(Imaging imIn, int xsize, int ysize, int filter);
-extern Imaging ImagingTranspose(Imaging imOut, Imaging imIn);
-extern Imaging ImagingTransposeToNew(Imaging imIn);
-extern Imaging ImagingTransformPerspective(
-    Imaging imOut, Imaging imIn, int x0, int y0, int x1, int y1,
-    double a[8], int filter, int fill);
-extern Imaging ImagingTransformAffine(
-    Imaging imOut, Imaging imIn, int x0, int y0, int x1, int y1,
-    double a[6], int filter, int fill);
-extern Imaging ImagingTransformQuad(
-    Imaging imOut, Imaging imIn, int x0, int y0, int x1, int y1,
-    double a[8], int filter, int fill);
-extern Imaging ImagingTransform(
-    Imaging imOut, Imaging imIn, int x0, int y0, int x1, int y1,
-    ImagingTransformMap transform, void* transform_data,
-    ImagingTransformFilter filter, void* filter_data,
-    int fill);
-extern Imaging ImagingUnsharpMask(
-    Imaging imOut, Imaging im, float radius, int percent, int threshold);
-extern Imaging ImagingBoxBlur(Imaging imOut, Imaging imIn, float radius, int n);
-
-extern Imaging ImagingCopy2(Imaging imOut, Imaging imIn);
-extern Imaging ImagingConvert2(Imaging imOut, Imaging imIn);
-
-/* Channel operations */
-/* any mode, except "F" */
-extern Imaging ImagingChopLighter(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopDarker(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopDifference(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopMultiply(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopScreen(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopAdd(
-    Imaging imIn1, Imaging imIn2, float scale, int offset);
-extern Imaging ImagingChopSubtract(
-    Imaging imIn1, Imaging imIn2, float scale, int offset);
-extern Imaging ImagingChopAddModulo(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopSubtractModulo(Imaging imIn1, Imaging imIn2);
-
-/* "1" images only */
-extern Imaging ImagingChopAnd(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopOr(Imaging imIn1, Imaging imIn2);
-extern Imaging ImagingChopXor(Imaging imIn1, Imaging imIn2);
-
-/* Image measurement */
-extern void ImagingCrack(Imaging im, int x0, int y0);
-
-/* Graphics */
-struct ImagingAffineMatrixInstance {
-    float a[9];
-};
-
-typedef struct ImagingAffineMatrixInstance *ImagingAffineMatrix;
-
-extern int ImagingDrawArc(Imaging im, int x0, int y0, int x1, int y1,
-                          float start, float end, const void* ink, int op);
-extern int ImagingDrawBitmap(Imaging im, int x0, int y0, Imaging bitmap,
-                             const void* ink, int op);
-extern int ImagingDrawChord(Imaging im, int x0, int y0, int x1, int y1,
-                            float start, float end, const void* ink, int fill,
-                            int op);
-extern int ImagingDrawEllipse(Imaging im, int x0, int y0, int x1, int y1,
-                              const void* ink, int fill, int op);
-extern int ImagingDrawLine(Imaging im, int x0, int y0, int x1, int y1,
-			   const void* ink, int op);
-extern int ImagingDrawWideLine(Imaging im, int x0, int y0, int x1, int y1,
-                               const void* ink, int width, int op);
-extern int ImagingDrawPieslice(Imaging im, int x0, int y0, int x1, int y1,
-                               float start, float end, const void* ink, int fill,
-                               int op);
-extern int ImagingDrawPoint(Imaging im, int x, int y, const void* ink, int op);
-extern int ImagingDrawPolygon(Imaging im, int points, int *xy,
-			      const void* ink, int fill, int op);
-extern int ImagingDrawRectangle(Imaging im, int x0, int y0, int x1, int y1,
-				const void* ink, int fill, int op);
-
-/* Level 2 graphics (WORK IN PROGRESS) */
-extern ImagingOutline ImagingOutlineNew(void);
-extern void ImagingOutlineDelete(ImagingOutline outline);
-
-extern int ImagingDrawOutline(Imaging im, ImagingOutline outline,
-                              const void* ink, int fill, int op);
-
-extern int ImagingOutlineMove(ImagingOutline outline, float x, float y);
-extern int ImagingOutlineLine(ImagingOutline outline, float x, float y);
-extern int ImagingOutlineCurve(ImagingOutline outline, float x1, float y1,
-                                float x2, float y2, float x3, float y3);
-extern int ImagingOutlineTransform(ImagingOutline outline, double a[6]);
-
-extern int ImagingOutlineClose(ImagingOutline outline);
-
-/* Special effects */
-extern Imaging ImagingEffectSpread(Imaging imIn, int distance);
-extern Imaging ImagingEffectNoise(int xsize, int ysize, float sigma);
-extern Imaging ImagingEffectMandelbrot(int xsize, int ysize,
-                                       double extent[4], int quality);
-
-/* Obsolete */
-extern int ImagingToString(Imaging im, int orientation, char *buffer);
-extern int ImagingFromString(Imaging im, int orientation, char *buffer);
-
-
-/* File I/O */
-/* -------- */
-
-/* Built-in drivers */
-extern Imaging ImagingOpenPPM(const char* filename);
-extern int ImagingSavePPM(Imaging im, const char* filename);
-
-/* Utility functions */
-extern UINT32 ImagingCRC32(UINT32 crc, UINT8* buffer, int bytes);
-
-/* Codecs */
-typedef struct ImagingCodecStateInstance *ImagingCodecState;
-typedef int (*ImagingCodec)(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-
-extern int ImagingBitDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingEpsEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingFliDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingGifDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingGifEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingHexDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-#ifdef	HAVE_LIBJPEG
-extern int ImagingJpegDecode(Imaging im, ImagingCodecState state,
-			     UINT8* buffer, int bytes);
-extern int ImagingJpegDecodeCleanup(ImagingCodecState state);
-
-extern int ImagingJpegEncode(Imaging im, ImagingCodecState state,
-			     UINT8* buffer, int bytes);
-#endif
-#ifdef HAVE_OPENJPEG
-extern int ImagingJpeg2KDecode(Imaging im, ImagingCodecState state,
-                               UINT8* buffer, int bytes);
-extern int ImagingJpeg2KDecodeCleanup(ImagingCodecState state);
-extern int ImagingJpeg2KEncode(Imaging im, ImagingCodecState state,
-                               UINT8* buffer, int bytes);
-extern int ImagingJpeg2KEncodeCleanup(ImagingCodecState state);
-#endif
-extern int ImagingLzwDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-#ifdef	HAVE_LIBTIFF
-extern int ImagingLibTiffDecode(Imaging im, ImagingCodecState state,
-				UINT8* buffer, int bytes);
-extern int ImagingLibTiffEncode(Imaging im, ImagingCodecState state,
-				UINT8* buffer, int bytes);
-#endif
-#ifdef	HAVE_LIBMPEG
-extern int ImagingMpegDecode(Imaging im, ImagingCodecState state,
-			     UINT8* buffer, int bytes);
-#endif
-extern int ImagingMspDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingPackbitsDecode(Imaging im, ImagingCodecState state,
-				 UINT8* buffer, int bytes);
-extern int ImagingPcdDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingPcxDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingPcxEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingRawDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingRawEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingSunRleDecode(Imaging im, ImagingCodecState state,
-			       UINT8* buffer, int bytes);
-extern int ImagingTgaRleDecode(Imaging im, ImagingCodecState state,
-			       UINT8* buffer, int bytes);
-extern int ImagingXbmDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingXbmEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-#ifdef	HAVE_LIBZ
-extern int ImagingZipDecode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-extern int ImagingZipEncode(Imaging im, ImagingCodecState state,
-			    UINT8* buffer, int bytes);
-#endif
-
-typedef void (*ImagingShuffler)(UINT8* out, const UINT8* in, int pixels);
-
-/* Public shufflers */
-extern void ImagingPackRGB(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingPackBGR(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingUnpackRGB(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingUnpackBGR(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingUnpackYCC(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingUnpackYCCA(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingUnpackYCbCr(UINT8* out, const UINT8* in, int pixels);
-
-extern void ImagingConvertRGB2YCbCr(UINT8* out, const UINT8* in, int pixels);
-extern void ImagingConvertYCbCr2RGB(UINT8* out, const UINT8* in, int pixels);
-
-extern ImagingShuffler ImagingFindUnpacker(const char* mode,
-                                           const char* rawmode, int* bits_out);
-extern ImagingShuffler ImagingFindPacker(const char* mode,
-                                         const char* rawmode, int* bits_out);
-
-struct ImagingCodecStateInstance {
-    int count;
-    int state;
-    int errcode;
-    int x, y;
-    int ystep;
-    int xsize, ysize, xoff, yoff;
-    ImagingShuffler shuffle;
-    int bits, bytes;
-    UINT8 *buffer;
-    void *context;
-};
-
-/* Incremental encoding/decoding support */
-typedef struct ImagingIncrementalCodecStruct *ImagingIncrementalCodec;
-
-typedef int (*ImagingIncrementalCodecEntry)(Imaging im, 
-                                            ImagingCodecState state,
-                                            ImagingIncrementalCodec codec);
-
-enum {
-  INCREMENTAL_CODEC_READ = 1,
-  INCREMENTAL_CODEC_WRITE = 2
-};
-
-enum {
-  INCREMENTAL_CODEC_NOT_SEEKABLE = 0,
-  INCREMENTAL_CODEC_SEEKABLE = 1
-};
-
-extern ImagingIncrementalCodec ImagingIncrementalCodecCreate(ImagingIncrementalCodecEntry codec_entry, Imaging im, ImagingCodecState state, int read_or_write, int seekable, int fd);
-extern void ImagingIncrementalCodecDestroy(ImagingIncrementalCodec codec);
-extern int ImagingIncrementalCodecPushBuffer(ImagingIncrementalCodec codec, UINT8 *buf, int bytes);
-extern Py_ssize_t ImagingIncrementalCodecRead(ImagingIncrementalCodec codec, void *buffer, size_t bytes);
-extern off_t ImagingIncrementalCodecSkip(ImagingIncrementalCodec codec, off_t bytes);
-extern Py_ssize_t ImagingIncrementalCodecWrite(ImagingIncrementalCodec codec, const void *buffer, size_t bytes);
-extern off_t ImagingIncrementalCodecSeek(ImagingIncrementalCodec codec, off_t bytes);
-extern size_t ImagingIncrementalCodecBytesInBuffer(ImagingIncrementalCodec codec);
-
-/* Errcodes */
-#define	IMAGING_CODEC_END	 1
-#define	IMAGING_CODEC_OVERRUN	-1
-#define	IMAGING_CODEC_BROKEN	-2
-#define	IMAGING_CODEC_UNKNOWN	-3
-#define	IMAGING_CODEC_CONFIG	-8
-#define	IMAGING_CODEC_MEMORY	-9
-
-#if defined(__cplusplus)
-}
-#endif

+ 0 - 535
esp8266/eproj1/eproj1Venv/include/python2.7/Python-ast.h

@@ -1,535 +0,0 @@
-/* File automatically generated by Parser/asdl_c.py. */
-
-#include "asdl.h"
-
-typedef struct _mod *mod_ty;
-
-typedef struct _stmt *stmt_ty;
-
-typedef struct _expr *expr_ty;
-
-typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
-                             Param=6 } expr_context_ty;
-
-typedef struct _slice *slice_ty;
-
-typedef enum _boolop { And=1, Or=2 } boolop_ty;
-
-typedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,
-                         RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
-                         operator_ty;
-
-typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
-
-typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
-                      In=9, NotIn=10 } cmpop_ty;
-
-typedef struct _comprehension *comprehension_ty;
-
-typedef struct _excepthandler *excepthandler_ty;
-
-typedef struct _arguments *arguments_ty;
-
-typedef struct _keyword *keyword_ty;
-
-typedef struct _alias *alias_ty;
-
-
-enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
-                 Suite_kind=4};
-struct _mod {
-        enum _mod_kind kind;
-        union {
-                struct {
-                        asdl_seq *body;
-                } Module;
-                
-                struct {
-                        asdl_seq *body;
-                } Interactive;
-                
-                struct {
-                        expr_ty body;
-                } Expression;
-                
-                struct {
-                        asdl_seq *body;
-                } Suite;
-                
-        } v;
-};
-
-enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
-                  Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
-                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,
-                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
-                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
-                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
-                  Break_kind=22, Continue_kind=23};
-struct _stmt {
-        enum _stmt_kind kind;
-        union {
-                struct {
-                        identifier name;
-                        arguments_ty args;
-                        asdl_seq *body;
-                        asdl_seq *decorator_list;
-                } FunctionDef;
-                
-                struct {
-                        identifier name;
-                        asdl_seq *bases;
-                        asdl_seq *body;
-                        asdl_seq *decorator_list;
-                } ClassDef;
-                
-                struct {
-                        expr_ty value;
-                } Return;
-                
-                struct {
-                        asdl_seq *targets;
-                } Delete;
-                
-                struct {
-                        asdl_seq *targets;
-                        expr_ty value;
-                } Assign;
-                
-                struct {
-                        expr_ty target;
-                        operator_ty op;
-                        expr_ty value;
-                } AugAssign;
-                
-                struct {
-                        expr_ty dest;
-                        asdl_seq *values;
-                        bool nl;
-                } Print;
-                
-                struct {
-                        expr_ty target;
-                        expr_ty iter;
-                        asdl_seq *body;
-                        asdl_seq *orelse;
-                } For;
-                
-                struct {
-                        expr_ty test;
-                        asdl_seq *body;
-                        asdl_seq *orelse;
-                } While;
-                
-                struct {
-                        expr_ty test;
-                        asdl_seq *body;
-                        asdl_seq *orelse;
-                } If;
-                
-                struct {
-                        expr_ty context_expr;
-                        expr_ty optional_vars;
-                        asdl_seq *body;
-                } With;
-                
-                struct {
-                        expr_ty type;
-                        expr_ty inst;
-                        expr_ty tback;
-                } Raise;
-                
-                struct {
-                        asdl_seq *body;
-                        asdl_seq *handlers;
-                        asdl_seq *orelse;
-                } TryExcept;
-                
-                struct {
-                        asdl_seq *body;
-                        asdl_seq *finalbody;
-                } TryFinally;
-                
-                struct {
-                        expr_ty test;
-                        expr_ty msg;
-                } Assert;
-                
-                struct {
-                        asdl_seq *names;
-                } Import;
-                
-                struct {
-                        identifier module;
-                        asdl_seq *names;
-                        int level;
-                } ImportFrom;
-                
-                struct {
-                        expr_ty body;
-                        expr_ty globals;
-                        expr_ty locals;
-                } Exec;
-                
-                struct {
-                        asdl_seq *names;
-                } Global;
-                
-                struct {
-                        expr_ty value;
-                } Expr;
-                
-        } v;
-        int lineno;
-        int col_offset;
-};
-
-enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
-                  IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
-                  SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
-                  Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15,
-                  Num_kind=16, Str_kind=17, Attribute_kind=18,
-                  Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22};
-struct _expr {
-        enum _expr_kind kind;
-        union {
-                struct {
-                        boolop_ty op;
-                        asdl_seq *values;
-                } BoolOp;
-                
-                struct {
-                        expr_ty left;
-                        operator_ty op;
-                        expr_ty right;
-                } BinOp;
-                
-                struct {
-                        unaryop_ty op;
-                        expr_ty operand;
-                } UnaryOp;
-                
-                struct {
-                        arguments_ty args;
-                        expr_ty body;
-                } Lambda;
-                
-                struct {
-                        expr_ty test;
-                        expr_ty body;
-                        expr_ty orelse;
-                } IfExp;
-                
-                struct {
-                        asdl_seq *keys;
-                        asdl_seq *values;
-                } Dict;
-                
-                struct {
-                        asdl_seq *elts;
-                } Set;
-                
-                struct {
-                        expr_ty elt;
-                        asdl_seq *generators;
-                } ListComp;
-                
-                struct {
-                        expr_ty elt;
-                        asdl_seq *generators;
-                } SetComp;
-                
-                struct {
-                        expr_ty key;
-                        expr_ty value;
-                        asdl_seq *generators;
-                } DictComp;
-                
-                struct {
-                        expr_ty elt;
-                        asdl_seq *generators;
-                } GeneratorExp;
-                
-                struct {
-                        expr_ty value;
-                } Yield;
-                
-                struct {
-                        expr_ty left;
-                        asdl_int_seq *ops;
-                        asdl_seq *comparators;
-                } Compare;
-                
-                struct {
-                        expr_ty func;
-                        asdl_seq *args;
-                        asdl_seq *keywords;
-                        expr_ty starargs;
-                        expr_ty kwargs;
-                } Call;
-                
-                struct {
-                        expr_ty value;
-                } Repr;
-                
-                struct {
-                        object n;
-                } Num;
-                
-                struct {
-                        string s;
-                } Str;
-                
-                struct {
-                        expr_ty value;
-                        identifier attr;
-                        expr_context_ty ctx;
-                } Attribute;
-                
-                struct {
-                        expr_ty value;
-                        slice_ty slice;
-                        expr_context_ty ctx;
-                } Subscript;
-                
-                struct {
-                        identifier id;
-                        expr_context_ty ctx;
-                } Name;
-                
-                struct {
-                        asdl_seq *elts;
-                        expr_context_ty ctx;
-                } List;
-                
-                struct {
-                        asdl_seq *elts;
-                        expr_context_ty ctx;
-                } Tuple;
-                
-        } v;
-        int lineno;
-        int col_offset;
-};
-
-enum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
-struct _slice {
-        enum _slice_kind kind;
-        union {
-                struct {
-                        expr_ty lower;
-                        expr_ty upper;
-                        expr_ty step;
-                } Slice;
-                
-                struct {
-                        asdl_seq *dims;
-                } ExtSlice;
-                
-                struct {
-                        expr_ty value;
-                } Index;
-                
-        } v;
-};
-
-struct _comprehension {
-        expr_ty target;
-        expr_ty iter;
-        asdl_seq *ifs;
-};
-
-enum _excepthandler_kind {ExceptHandler_kind=1};
-struct _excepthandler {
-        enum _excepthandler_kind kind;
-        union {
-                struct {
-                        expr_ty type;
-                        expr_ty name;
-                        asdl_seq *body;
-                } ExceptHandler;
-                
-        } v;
-        int lineno;
-        int col_offset;
-};
-
-struct _arguments {
-        asdl_seq *args;
-        identifier vararg;
-        identifier kwarg;
-        asdl_seq *defaults;
-};
-
-struct _keyword {
-        identifier arg;
-        expr_ty value;
-};
-
-struct _alias {
-        identifier name;
-        identifier asname;
-};
-
-
-#define Module(a0, a1) _Py_Module(a0, a1)
-mod_ty _Py_Module(asdl_seq * body, PyArena *arena);
-#define Interactive(a0, a1) _Py_Interactive(a0, a1)
-mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
-#define Expression(a0, a1) _Py_Expression(a0, a1)
-mod_ty _Py_Expression(expr_ty body, PyArena *arena);
-#define Suite(a0, a1) _Py_Suite(a0, a1)
-mod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
-#define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
-stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
-                        asdl_seq * decorator_list, int lineno, int col_offset,
-                        PyArena *arena);
-#define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
-stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
-                     asdl_seq * decorator_list, int lineno, int col_offset,
-                     PyArena *arena);
-#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
-stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
-#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
-stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
-                   *arena);
-#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
-stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
-                   col_offset, PyArena *arena);
-#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
-                      lineno, int col_offset, PyArena *arena);
-#define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
-                  col_offset, PyArena *arena);
-#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
-stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
-                orelse, int lineno, int col_offset, PyArena *arena);
-#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
-                  int col_offset, PyArena *arena);
-#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
-               int col_offset, PyArena *arena);
-#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
-                 int lineno, int col_offset, PyArena *arena);
-#define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
-                  col_offset, PyArena *arena);
-#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
-                      int lineno, int col_offset, PyArena *arena);
-#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
-stmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
-                       col_offset, PyArena *arena);
-#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
-stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
-                   PyArena *arena);
-#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
-stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
-                   *arena);
-#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
-                       lineno, int col_offset, PyArena *arena);
-#define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
-stmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
-                 col_offset, PyArena *arena);
-#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
-stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
-                   *arena);
-#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
-stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
-#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
-stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
-#define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
-stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
-#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
-stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
-#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
-expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
-                   PyArena *arena);
-#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
-                  col_offset, PyArena *arena);
-#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
-expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
-                    PyArena *arena);
-#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
-expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
-                   PyArena *arena);
-#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
-                  col_offset, PyArena *arena);
-#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
-expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
-                 col_offset, PyArena *arena);
-#define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
-expr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
-#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
-expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
-                     col_offset, PyArena *arena);
-#define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
-expr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
-                    col_offset, PyArena *arena);
-#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
-                     lineno, int col_offset, PyArena *arena);
-#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
-expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
-                         col_offset, PyArena *arena);
-#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
-expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
-#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
-                    int lineno, int col_offset, PyArena *arena);
-#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
-expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
-                 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
-                 *arena);
-#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
-expr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
-#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
-expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
-#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
-expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
-#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
-                      lineno, int col_offset, PyArena *arena);
-#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
-expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
-                      lineno, int col_offset, PyArena *arena);
-#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
-expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
-                 col_offset, PyArena *arena);
-#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
-expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
-                 col_offset, PyArena *arena);
-#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
-expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
-                  col_offset, PyArena *arena);
-#define Ellipsis(a0) _Py_Ellipsis(a0)
-slice_ty _Py_Ellipsis(PyArena *arena);
-#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
-slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
-#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
-slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
-#define Index(a0, a1) _Py_Index(a0, a1)
-slice_ty _Py_Index(expr_ty value, PyArena *arena);
-#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
-comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
-                                   ifs, PyArena *arena);
-#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
-excepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
-                                   int lineno, int col_offset, PyArena *arena);
-#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
-arguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
-                           kwarg, asdl_seq * defaults, PyArena *arena);
-#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
-keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
-#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
-alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
-
-PyObject* PyAST_mod2obj(mod_ty t);
-mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
-int PyAST_Check(PyObject* obj);

+ 0 - 178
esp8266/eproj1/eproj1Venv/include/python2.7/Python.h

@@ -1,178 +0,0 @@
-#ifndef Py_PYTHON_H
-#define Py_PYTHON_H
-/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */
-
-/* Include nearly all Python header files */
-
-#include "patchlevel.h"
-#include "pyconfig.h"
-#include "pymacconfig.h"
-
-/* Cyclic gc is always enabled, starting with release 2.3a1.  Supply the
- * old symbol for the benefit of extension modules written before then
- * that may be conditionalizing on it.  The core doesn't use it anymore.
- */
-#ifndef WITH_CYCLE_GC
-#define WITH_CYCLE_GC 1
-#endif
-
-#include <limits.h>
-
-#ifndef UCHAR_MAX
-#error "Something's broken.  UCHAR_MAX should be defined in limits.h."
-#endif
-
-#if UCHAR_MAX != 255
-#error "Python's source code assumes C's unsigned char is an 8-bit type."
-#endif
-
-#if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE)
-#define _SGI_MP_SOURCE
-#endif
-
-#include <stdio.h>
-#ifndef NULL
-#   error "Python.h requires that stdio.h define NULL."
-#endif
-
-#include <string.h>
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/* For size_t? */
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-/* CAUTION:  Build setups should ensure that NDEBUG is defined on the
- * compiler command line when building Python in release mode; else
- * assert() calls won't be removed.
- */
-#include <assert.h>
-
-#include "pyport.h"
-
-/* pyconfig.h or pyport.h may or may not define DL_IMPORT */
-#ifndef DL_IMPORT	/* declarations for DLL import/export */
-#define DL_IMPORT(RTYPE) RTYPE
-#endif
-#ifndef DL_EXPORT	/* declarations for DLL import/export */
-#define DL_EXPORT(RTYPE) RTYPE
-#endif
-
-/* Debug-mode build with pymalloc implies PYMALLOC_DEBUG.
- *  PYMALLOC_DEBUG is in error if pymalloc is not in use.
- */
-#if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG)
-#define PYMALLOC_DEBUG
-#endif
-#if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC)
-#error "PYMALLOC_DEBUG requires WITH_PYMALLOC"
-#endif
-#include "pymath.h"
-#include "pymem.h"
-
-#include "object.h"
-#include "objimpl.h"
-
-#include "pydebug.h"
-
-#include "unicodeobject.h"
-#include "intobject.h"
-#include "boolobject.h"
-#include "longobject.h"
-#include "floatobject.h"
-#ifndef WITHOUT_COMPLEX
-#include "complexobject.h"
-#endif
-#include "rangeobject.h"
-#include "stringobject.h"
-#include "memoryobject.h"
-#include "bufferobject.h"
-#include "bytesobject.h"
-#include "bytearrayobject.h"
-#include "tupleobject.h"
-#include "listobject.h"
-#include "dictobject.h"
-#include "enumobject.h"
-#include "setobject.h"
-#include "methodobject.h"
-#include "moduleobject.h"
-#include "funcobject.h"
-#include "classobject.h"
-#include "fileobject.h"
-#include "cobject.h"
-#include "pycapsule.h"
-#include "traceback.h"
-#include "sliceobject.h"
-#include "cellobject.h"
-#include "iterobject.h"
-#include "genobject.h"
-#include "descrobject.h"
-#include "warnings.h"
-#include "weakrefobject.h"
-
-#include "codecs.h"
-#include "pyerrors.h"
-
-#include "pystate.h"
-
-#include "pyarena.h"
-#include "modsupport.h"
-#include "pythonrun.h"
-#include "ceval.h"
-#include "sysmodule.h"
-#include "intrcheck.h"
-#include "import.h"
-
-#include "abstract.h"
-
-#include "compile.h"
-#include "eval.h"
-
-#include "pyctype.h"
-#include "pystrtod.h"
-#include "pystrcmp.h"
-#include "dtoa.h"
-
-/* _Py_Mangle is defined in compile.c */
-PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
-
-/* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */
-#define PyArg_GetInt(v, a)	PyArg_Parse((v), "i", (a))
-
-/* PyArg_NoArgs should not be necessary.
-   Set ml_flags in the PyMethodDef to METH_NOARGS. */
-#define PyArg_NoArgs(v)		PyArg_Parse(v, "")
-
-/* Argument must be a char or an int in [-128, 127] or [0, 255]. */
-#define Py_CHARMASK(c)		((unsigned char)((c) & 0xff))
-
-#include "pyfpe.h"
-
-/* These definitions must match corresponding definitions in graminit.h.
-   There's code in compile.c that checks that they are the same. */
-#define Py_single_input 256
-#define Py_file_input 257
-#define Py_eval_input 258
-
-#ifdef HAVE_PTH
-/* GNU pth user-space thread support */
-#include <pth.h>
-#endif
-
-/* Define macros for inline documentation. */
-#define PyDoc_VAR(name) static char name[]
-#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str)
-#ifdef WITH_DOC_STRINGS
-#define PyDoc_STR(str) str
-#else
-#define PyDoc_STR(str) ""
-#endif
-
-#endif /* !Py_PYTHON_H */

+ 0 - 1396
esp8266/eproj1/eproj1Venv/include/python2.7/abstract.h

@@ -1,1396 +0,0 @@
-#ifndef Py_ABSTRACTOBJECT_H
-#define Py_ABSTRACTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef PY_SSIZE_T_CLEAN
-#define PyObject_CallFunction _PyObject_CallFunction_SizeT
-#define PyObject_CallMethod _PyObject_CallMethod_SizeT
-#endif
-
-/* Abstract Object Interface (many thanks to Jim Fulton) */
-
-/*
-   PROPOSAL: A Generic Python Object Interface for Python C Modules
-
-Problem
-
-  Python modules written in C that must access Python objects must do
-  so through routines whose interfaces are described by a set of
-  include files.  Unfortunately, these routines vary according to the
-  object accessed.  To use these routines, the C programmer must check
-  the type of the object being used and must call a routine based on
-  the object type.  For example, to access an element of a sequence,
-  the programmer must determine whether the sequence is a list or a
-  tuple:
-
-    if(is_tupleobject(o))
-      e=gettupleitem(o,i)
-    else if(is_listitem(o))
-      e=getlistitem(o,i)
-
-  If the programmer wants to get an item from another type of object
-  that provides sequence behavior, there is no clear way to do it
-  correctly.
-
-  The persistent programmer may peruse object.h and find that the
-  _typeobject structure provides a means of invoking up to (currently
-  about) 41 special operators.  So, for example, a routine can get an
-  item from any object that provides sequence behavior. However, to
-  use this mechanism, the programmer must make their code dependent on
-  the current Python implementation.
-
-  Also, certain semantics, especially memory management semantics, may
-  differ by the type of object being used.  Unfortunately, these
-  semantics are not clearly described in the current include files.
-  An abstract interface providing more consistent semantics is needed.
-
-Proposal
-
-  I propose the creation of a standard interface (with an associated
-  library of routines and/or macros) for generically obtaining the
-  services of Python objects.  This proposal can be viewed as one
-  components of a Python C interface consisting of several components.
-
-  From the viewpoint of C access to Python services, we have (as
-  suggested by Guido in off-line discussions):
-
-  - "Very high level layer": two or three functions that let you exec or
-    eval arbitrary Python code given as a string in a module whose name is
-    given, passing C values in and getting C values out using
-    mkvalue/getargs style format strings.  This does not require the user
-    to declare any variables of type "PyObject *".  This should be enough
-    to write a simple application that gets Python code from the user,
-    execs it, and returns the output or errors.  (Error handling must also
-    be part of this API.)
-
-  - "Abstract objects layer": which is the subject of this proposal.
-    It has many functions operating on objects, and lest you do many
-    things from C that you can also write in Python, without going
-    through the Python parser.
-
-  - "Concrete objects layer": This is the public type-dependent
-    interface provided by the standard built-in types, such as floats,
-    strings, and lists.  This interface exists and is currently
-    documented by the collection of include files provided with the
-    Python distributions.
-
-  From the point of view of Python accessing services provided by C
-  modules:
-
-  - "Python module interface": this interface consist of the basic
-    routines used to define modules and their members.  Most of the
-    current extensions-writing guide deals with this interface.
-
-  - "Built-in object interface": this is the interface that a new
-    built-in type must provide and the mechanisms and rules that a
-    developer of a new built-in type must use and follow.
-
-  This proposal is a "first-cut" that is intended to spur
-  discussion. See especially the lists of notes.
-
-  The Python C object interface will provide four protocols: object,
-  numeric, sequence, and mapping.  Each protocol consists of a
-  collection of related operations.  If an operation that is not
-  provided by a particular type is invoked, then a standard exception,
-  NotImplementedError is raised with a operation name as an argument.
-  In addition, for convenience this interface defines a set of
-  constructors for building objects of built-in types.  This is needed
-  so new objects can be returned from C functions that otherwise treat
-  objects generically.
-
-Memory Management
-
-  For all of the functions described in this proposal, if a function
-  retains a reference to a Python object passed as an argument, then the
-  function will increase the reference count of the object.  It is
-  unnecessary for the caller to increase the reference count of an
-  argument in anticipation of the object's retention.
-
-  All Python objects returned from functions should be treated as new
-  objects.  Functions that return objects assume that the caller will
-  retain a reference and the reference count of the object has already
-  been incremented to account for this fact.  A caller that does not
-  retain a reference to an object that is returned from a function
-  must decrement the reference count of the object (using
-  DECREF(object)) to prevent memory leaks.
-
-  Note that the behavior mentioned here is different from the current
-  behavior for some objects (e.g. lists and tuples) when certain
-  type-specific routines are called directly (e.g. setlistitem).  The
-  proposed abstraction layer will provide a consistent memory
-  management interface, correcting for inconsistent behavior for some
-  built-in types.
-
-Protocols
-
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
-
-/*  Object Protocol: */
-
-     /* Implemented elsewhere:
-
-     int PyObject_Print(PyObject *o, FILE *fp, int flags);
-
-     Print an object, o, on file, fp.  Returns -1 on
-     error.  The flags argument is used to enable certain printing
-     options. The only option currently supported is Py_Print_RAW.
-
-     (What should be said about Py_Print_RAW?)
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyObject_HasAttrString(PyObject *o, char *attr_name);
-
-     Returns 1 if o has the attribute attr_name, and 0 otherwise.
-     This is equivalent to the Python expression:
-     hasattr(o,attr_name).
-
-     This function always succeeds.
-
-       */
-
-     /* Implemented elsewhere:
-
-     PyObject* PyObject_GetAttrString(PyObject *o, char *attr_name);
-
-     Retrieve an attributed named attr_name form object o.
-     Returns the attribute value on success, or NULL on failure.
-     This is the equivalent of the Python expression: o.attr_name.
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyObject_HasAttr(PyObject *o, PyObject *attr_name);
-
-     Returns 1 if o has the attribute attr_name, and 0 otherwise.
-     This is equivalent to the Python expression:
-     hasattr(o,attr_name).
-
-     This function always succeeds.
-
-       */
-
-     /* Implemented elsewhere:
-
-     PyObject* PyObject_GetAttr(PyObject *o, PyObject *attr_name);
-
-     Retrieve an attributed named attr_name form object o.
-     Returns the attribute value on success, or NULL on failure.
-     This is the equivalent of the Python expression: o.attr_name.
-
-       */
-
-
-     /* Implemented elsewhere:
-
-     int PyObject_SetAttrString(PyObject *o, char *attr_name, PyObject *v);
-
-     Set the value of the attribute named attr_name, for object o,
-     to the value, v. Returns -1 on failure.  This is
-     the equivalent of the Python statement: o.attr_name=v.
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyObject_SetAttr(PyObject *o, PyObject *attr_name, PyObject *v);
-
-     Set the value of the attribute named attr_name, for object o,
-     to the value, v. Returns -1 on failure.  This is
-     the equivalent of the Python statement: o.attr_name=v.
-
-       */
-
-     /* implemented as a macro:
-
-     int PyObject_DelAttrString(PyObject *o, char *attr_name);
-
-     Delete attribute named attr_name, for object o. Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: del o.attr_name.
-
-       */
-#define  PyObject_DelAttrString(O,A) PyObject_SetAttrString((O),(A),NULL)
-
-     /* implemented as a macro:
-
-     int PyObject_DelAttr(PyObject *o, PyObject *attr_name);
-
-     Delete attribute named attr_name, for object o. Returns -1
-     on failure.  This is the equivalent of the Python
-     statement: del o.attr_name.
-
-       */
-#define  PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL)
-
-     PyAPI_FUNC(int) PyObject_Cmp(PyObject *o1, PyObject *o2, int *result);
-
-       /*
-     Compare the values of o1 and o2 using a routine provided by
-     o1, if one exists, otherwise with a routine provided by o2.
-     The result of the comparison is returned in result.  Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: result=cmp(o1,o2).
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyObject_Compare(PyObject *o1, PyObject *o2);
-
-     Compare the values of o1 and o2 using a routine provided by
-     o1, if one exists, otherwise with a routine provided by o2.
-     Returns the result of the comparison on success.  On error,
-     the value returned is undefined. This is equivalent to the
-     Python expression: cmp(o1,o2).
-
-       */
-
-     /* Implemented elsewhere:
-
-     PyObject *PyObject_Repr(PyObject *o);
-
-     Compute the string representation of object, o.  Returns the
-     string representation on success, NULL on failure.  This is
-     the equivalent of the Python expression: repr(o).
-
-     Called by the repr() built-in function and by reverse quotes.
-
-       */
-
-     /* Implemented elsewhere:
-
-     PyObject *PyObject_Str(PyObject *o);
-
-     Compute the string representation of object, o.  Returns the
-     string representation on success, NULL on failure.  This is
-     the equivalent of the Python expression: str(o).)
-
-     Called by the str() built-in function and by the print
-     statement.
-
-       */
-
-     /* Implemented elsewhere:
-
-     PyObject *PyObject_Unicode(PyObject *o);
-
-     Compute the unicode representation of object, o.  Returns the
-     unicode representation on success, NULL on failure.  This is
-     the equivalent of the Python expression: unistr(o).)
-
-     Called by the unistr() built-in function.
-
-       */
-
-       /* Declared elsewhere
-
-     PyAPI_FUNC(int) PyCallable_Check(PyObject *o);
-
-     Determine if the object, o, is callable.  Return 1 if the
-     object is callable and 0 otherwise.
-
-     This function always succeeds.
-
-       */
-
-
-
-     PyAPI_FUNC(PyObject *) PyObject_Call(PyObject *callable_object,
-                                         PyObject *args, PyObject *kw);
-
-       /*
-     Call a callable Python object, callable_object, with
-     arguments and keywords arguments.  The 'args' argument can not be
-     NULL, but the 'kw' argument can be NULL.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyObject_CallObject(PyObject *callable_object,
-                                               PyObject *args);
-
-       /*
-     Call a callable Python object, callable_object, with
-     arguments given by the tuple, args.  If no arguments are
-     needed, then args may be NULL.  Returns the result of the
-     call on success, or NULL on failure.  This is the equivalent
-     of the Python expression: apply(o,args).
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyObject_CallFunction(PyObject *callable_object,
-                                                 char *format, ...);
-
-       /*
-     Call a callable Python object, callable_object, with a
-     variable number of C arguments. The C arguments are described
-     using a mkvalue-style format string. The format may be NULL,
-     indicating that no arguments are provided.  Returns the
-     result of the call on success, or NULL on failure.  This is
-     the equivalent of the Python expression: apply(o,args).
-
-       */
-
-
-     PyAPI_FUNC(PyObject *) PyObject_CallMethod(PyObject *o, char *m,
-                                               char *format, ...);
-
-       /*
-     Call the method named m of object o with a variable number of
-     C arguments.  The C arguments are described by a mkvalue
-     format string.  The format may be NULL, indicating that no
-     arguments are provided. Returns the result of the call on
-     success, or NULL on failure.  This is the equivalent of the
-     Python expression: o.method(args).
-       */
-
-     PyAPI_FUNC(PyObject *) _PyObject_CallFunction_SizeT(PyObject *callable,
-                                                         char *format, ...);
-     PyAPI_FUNC(PyObject *) _PyObject_CallMethod_SizeT(PyObject *o,
-                                                       char *name,
-                                                       char *format, ...);
-
-     PyAPI_FUNC(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable,
-                                                        ...);
-
-       /*
-     Call a callable Python object, callable_object, with a
-     variable number of C arguments.  The C arguments are provided
-     as PyObject * values, terminated by a NULL.  Returns the
-     result of the call on success, or NULL on failure.  This is
-     the equivalent of the Python expression: apply(o,args).
-       */
-
-
-     PyAPI_FUNC(PyObject *) PyObject_CallMethodObjArgs(PyObject *o,
-                                                      PyObject *m, ...);
-
-       /*
-     Call the method named m of object o with a variable number of
-     C arguments.  The C arguments are provided as PyObject *
-     values, terminated by NULL.  Returns the result of the call
-     on success, or NULL on failure.  This is the equivalent of
-     the Python expression: o.method(args).
-       */
-
-
-     /* Implemented elsewhere:
-
-     long PyObject_Hash(PyObject *o);
-
-     Compute and return the hash, hash_value, of an object, o.  On
-     failure, return -1.  This is the equivalent of the Python
-     expression: hash(o).
-
-       */
-
-
-     /* Implemented elsewhere:
-
-     int PyObject_IsTrue(PyObject *o);
-
-     Returns 1 if the object, o, is considered to be true, 0 if o is
-     considered to be false and -1 on failure. This is equivalent to the
-     Python expression: not not o
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyObject_Not(PyObject *o);
-
-     Returns 0 if the object, o, is considered to be true, 1 if o is
-     considered to be false and -1 on failure. This is equivalent to the
-     Python expression: not o
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyObject_Type(PyObject *o);
-
-       /*
-     On success, returns a type object corresponding to the object
-     type of object o. On failure, returns NULL.  This is
-     equivalent to the Python expression: type(o).
-       */
-
-     PyAPI_FUNC(Py_ssize_t) PyObject_Size(PyObject *o);
-
-       /*
-     Return the size of object o.  If the object, o, provides
-     both sequence and mapping protocols, the sequence size is
-     returned. On error, -1 is returned.  This is the equivalent
-     to the Python expression: len(o).
-
-       */
-
-       /* For DLL compatibility */
-#undef PyObject_Length
-     PyAPI_FUNC(Py_ssize_t) PyObject_Length(PyObject *o);
-#define PyObject_Length PyObject_Size
-
-     PyAPI_FUNC(Py_ssize_t) _PyObject_LengthHint(PyObject *o, Py_ssize_t);
-
-       /*
-     Guess the size of object o using len(o) or o.__length_hint__().
-     If neither of those return a non-negative value, then return the
-     default value.  If one of the calls fails, this function returns -1.
-       */
-
-     PyAPI_FUNC(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key);
-
-       /*
-     Return element of o corresponding to the object, key, or NULL
-     on failure. This is the equivalent of the Python expression:
-     o[key].
-
-       */
-
-     PyAPI_FUNC(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v);
-
-       /*
-     Map the object, key, to the value, v.  Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: o[key]=v.
-       */
-
-     PyAPI_FUNC(int) PyObject_DelItemString(PyObject *o, char *key);
-
-       /*
-     Remove the mapping for object, key, from the object *o.
-     Returns -1 on failure.  This is equivalent to
-     the Python statement: del o[key].
-       */
-
-     PyAPI_FUNC(int) PyObject_DelItem(PyObject *o, PyObject *key);
-
-       /*
-     Delete the mapping for key from *o.  Returns -1 on failure.
-     This is the equivalent of the Python statement: del o[key].
-       */
-
-     PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj,
-                                          const char **buffer,
-                                          Py_ssize_t *buffer_len);
-
-       /*
-      Takes an arbitrary object which must support the (character,
-      single segment) buffer interface and returns a pointer to a
-      read-only memory location useable as character based input
-      for subsequent processing.
-
-      0 is returned on success.  buffer and buffer_len are only
-      set in case no error occurs. Otherwise, -1 is returned and
-      an exception set.
-
-       */
-
-     PyAPI_FUNC(int) PyObject_CheckReadBuffer(PyObject *obj);
-
-      /*
-      Checks whether an arbitrary object supports the (character,
-      single segment) buffer interface.  Returns 1 on success, 0
-      on failure.
-
-      */
-
-     PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
-                                          const void **buffer,
-                                          Py_ssize_t *buffer_len);
-
-       /*
-      Same as PyObject_AsCharBuffer() except that this API expects
-      (readable, single segment) buffer interface and returns a
-      pointer to a read-only memory location which can contain
-      arbitrary data.
-
-      0 is returned on success.  buffer and buffer_len are only
-      set in case no error occurs.  Otherwise, -1 is returned and
-      an exception set.
-
-       */
-
-     PyAPI_FUNC(int) PyObject_AsWriteBuffer(PyObject *obj,
-                                           void **buffer,
-                                           Py_ssize_t *buffer_len);
-
-       /*
-      Takes an arbitrary object which must support the (writeable,
-      single segment) buffer interface and returns a pointer to a
-      writeable memory location in buffer of size buffer_len.
-
-      0 is returned on success.  buffer and buffer_len are only
-      set in case no error occurs. Otherwise, -1 is returned and
-      an exception set.
-
-       */
-
-    /* new buffer API */
-
-#define PyObject_CheckBuffer(obj) \
-    (((obj)->ob_type->tp_as_buffer != NULL) &&                          \
-     (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_NEWBUFFER)) && \
-     ((obj)->ob_type->tp_as_buffer->bf_getbuffer != NULL))
-
-    /* Return 1 if the getbuffer function is available, otherwise
-       return 0 */
-
-     PyAPI_FUNC(int) PyObject_GetBuffer(PyObject *obj, Py_buffer *view,
-                                        int flags);
-
-    /* This is a C-API version of the getbuffer function call.  It checks
-       to make sure object has the required function pointer and issues the
-       call.  Returns -1 and raises an error on failure and returns 0 on
-       success
-    */
-
-
-     PyAPI_FUNC(void *) PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices);
-
-    /* Get the memory area pointed to by the indices for the buffer given.
-       Note that view->ndim is the assumed size of indices
-    */
-
-     PyAPI_FUNC(int) PyBuffer_SizeFromFormat(const char *);
-
-    /* Return the implied itemsize of the data-format area from a
-       struct-style description */
-
-
-
-     PyAPI_FUNC(int) PyBuffer_ToContiguous(void *buf, Py_buffer *view,
-                                           Py_ssize_t len, char fort);
-
-     PyAPI_FUNC(int) PyBuffer_FromContiguous(Py_buffer *view, void *buf,
-                                             Py_ssize_t len, char fort);
-
-
-    /* Copy len bytes of data from the contiguous chunk of memory
-       pointed to by buf into the buffer exported by obj.  Return
-       0 on success and return -1 and raise a PyBuffer_Error on
-       error (i.e. the object does not have a buffer interface or
-       it is not working).
-
-       If fort is 'F' and the object is multi-dimensional,
-       then the data will be copied into the array in
-       Fortran-style (first dimension varies the fastest).  If
-       fort is 'C', then the data will be copied into the array
-       in C-style (last dimension varies the fastest).  If fort
-       is 'A', then it does not matter and the copy will be made
-       in whatever way is more efficient.
-
-    */
-
-     PyAPI_FUNC(int) PyObject_CopyData(PyObject *dest, PyObject *src);
-
-    /* Copy the data from the src buffer to the buffer of destination
-     */
-
-     PyAPI_FUNC(int) PyBuffer_IsContiguous(Py_buffer *view, char fort);
-
-
-     PyAPI_FUNC(void) PyBuffer_FillContiguousStrides(int ndims,
-                                                    Py_ssize_t *shape,
-                                                    Py_ssize_t *strides,
-                                                    int itemsize,
-                                                    char fort);
-
-    /*  Fill the strides array with byte-strides of a contiguous
-        (Fortran-style if fort is 'F' or C-style otherwise)
-        array of the given shape with the given number of bytes
-        per element.
-    */
-
-     PyAPI_FUNC(int) PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf,
-                                       Py_ssize_t len, int readonly,
-                                       int flags);
-
-    /* Fills in a buffer-info structure correctly for an exporter
-       that can only share a contiguous chunk of memory of
-       "unsigned bytes" of the given length. Returns 0 on success
-       and -1 (with raising an error) on error.
-     */
-
-     PyAPI_FUNC(void) PyBuffer_Release(Py_buffer *view);
-
-       /* Releases a Py_buffer obtained from getbuffer ParseTuple's s*.
-    */
-
-     PyAPI_FUNC(PyObject *) PyObject_Format(PyObject* obj,
-                                            PyObject *format_spec);
-       /*
-     Takes an arbitrary object and returns the result of
-     calling obj.__format__(format_spec).
-       */
-
-/* Iterators */
-
-     PyAPI_FUNC(PyObject *) PyObject_GetIter(PyObject *);
-     /* Takes an object and returns an iterator for it.
-    This is typically a new iterator but if the argument
-    is an iterator, this returns itself. */
-
-#define PyIter_Check(obj) \
-    (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_ITER) && \
-     (obj)->ob_type->tp_iternext != NULL && \
-     (obj)->ob_type->tp_iternext != &_PyObject_NextNotImplemented)
-
-     PyAPI_FUNC(PyObject *) PyIter_Next(PyObject *);
-     /* Takes an iterator object and calls its tp_iternext slot,
-    returning the next value.  If the iterator is exhausted,
-    this returns NULL without setting an exception.
-    NULL with an exception means an error occurred. */
-
-/*  Number Protocol:*/
-
-     PyAPI_FUNC(int) PyNumber_Check(PyObject *o);
-
-       /*
-     Returns 1 if the object, o, provides numeric protocols, and
-     false otherwise.
-
-     This function always succeeds.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of adding o1 and o2, or null on failure.
-     This is the equivalent of the Python expression: o1+o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of subtracting o2 from o1, or null on
-     failure.  This is the equivalent of the Python expression:
-     o1-o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of multiplying o1 and o2, or null on
-     failure.  This is the equivalent of the Python expression:
-     o1*o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Divide(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2, or null on failure.
-     This is the equivalent of the Python expression: o1/o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2 giving an integral result,
-     or null on failure.
-     This is the equivalent of the Python expression: o1//o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2 giving a float result,
-     or null on failure.
-     This is the equivalent of the Python expression: o1/o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the remainder of dividing o1 by o2, or null on
-     failure.  This is the equivalent of the Python expression:
-     o1%o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2);
-
-       /*
-     See the built-in function divmod.  Returns NULL on failure.
-     This is the equivalent of the Python expression:
-     divmod(o1,o2).
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2,
-                                          PyObject *o3);
-
-       /*
-     See the built-in function pow.  Returns NULL on failure.
-     This is the equivalent of the Python expression:
-     pow(o1,o2,o3), where o3 is optional.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Negative(PyObject *o);
-
-       /*
-     Returns the negation of o on success, or null on failure.
-     This is the equivalent of the Python expression: -o.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Positive(PyObject *o);
-
-       /*
-     Returns the (what?) of o on success, or NULL on failure.
-     This is the equivalent of the Python expression: +o.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Absolute(PyObject *o);
-
-       /*
-     Returns the absolute value of o, or null on failure.  This is
-     the equivalent of the Python expression: abs(o).
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Invert(PyObject *o);
-
-       /*
-     Returns the bitwise negation of o on success, or NULL on
-     failure.  This is the equivalent of the Python expression:
-     ~o.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of left shifting o1 by o2 on success, or
-     NULL on failure.  This is the equivalent of the Python
-     expression: o1 << o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of right shifting o1 by o2 on success, or
-     NULL on failure.  This is the equivalent of the Python
-     expression: o1 >> o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of bitwise and of o1 and o2 on success, or
-     NULL on failure. This is the equivalent of the Python
-     expression: o1&o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the bitwise exclusive or of o1 by o2 on success, or
-     NULL on failure.  This is the equivalent of the Python
-     expression: o1^o2.
-
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of bitwise or on o1 and o2 on success, or
-     NULL on failure.  This is the equivalent of the Python
-     expression: o1|o2.
-
-       */
-
-     /* Implemented elsewhere:
-
-     int PyNumber_Coerce(PyObject **p1, PyObject **p2);
-
-     This function takes the addresses of two variables of type
-     PyObject*.
-
-     If the objects pointed to by *p1 and *p2 have the same type,
-     increment their reference count and return 0 (success).
-     If the objects can be converted to a common numeric type,
-     replace *p1 and *p2 by their converted value (with 'new'
-     reference counts), and return 0.
-     If no conversion is possible, or if some other error occurs,
-     return -1 (failure) and don't increment the reference counts.
-     The call PyNumber_Coerce(&o1, &o2) is equivalent to the Python
-     statement o1, o2 = coerce(o1, o2).
-
-       */
-
-#define PyIndex_Check(obj) \
-   ((obj)->ob_type->tp_as_number != NULL && \
-    PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_INDEX) && \
-    (obj)->ob_type->tp_as_number->nb_index != NULL)
-
-     PyAPI_FUNC(PyObject *) PyNumber_Index(PyObject *o);
-
-       /*
-     Returns the object converted to a Python long or int
-     or NULL with an error raised on failure.
-       */
-
-     PyAPI_FUNC(Py_ssize_t) PyNumber_AsSsize_t(PyObject *o, PyObject *exc);
-
-       /*
-     Returns the Integral instance converted to an int. The
-     instance is expected to be int or long or have an __int__
-     method. Steals integral's reference. error_format will be
-     used to create the TypeError if integral isn't actually an
-     Integral instance. error_format should be a format string
-     that can accept a char* naming integral's type.
-       */
-
-     PyAPI_FUNC(PyObject *) _PyNumber_ConvertIntegralToInt(
-         PyObject *integral,
-         const char* error_format);
-
-       /*
-    Returns the object converted to Py_ssize_t by going through
-    PyNumber_Index first.  If an overflow error occurs while
-    converting the int-or-long to Py_ssize_t, then the second argument
-    is the error-type to return.  If it is NULL, then the overflow error
-    is cleared and the value is clipped.
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Int(PyObject *o);
-
-       /*
-     Returns the o converted to an integer object on success, or
-     NULL on failure.  This is the equivalent of the Python
-     expression: int(o).
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Long(PyObject *o);
-
-       /*
-     Returns the o converted to a long integer object on success,
-     or NULL on failure.  This is the equivalent of the Python
-     expression: long(o).
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_Float(PyObject *o);
-
-       /*
-     Returns the o converted to a float object on success, or NULL
-     on failure.  This is the equivalent of the Python expression:
-     float(o).
-       */
-
-/*  In-place variants of (some of) the above number protocol functions */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of adding o2 to o1, possibly in-place, or null
-     on failure.  This is the equivalent of the Python expression:
-     o1 += o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of subtracting o2 from o1, possibly in-place or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 -= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of multiplying o1 by o2, possibly in-place, or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 *= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2, possibly in-place, or null
-     on failure.  This is the equivalent of the Python expression:
-     o1 /= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1,
-                                                       PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2 giving an integral result,
-     possibly in-place, or null on failure.
-     This is the equivalent of the Python expression:
-     o1 /= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1,
-                                                      PyObject *o2);
-
-       /*
-     Returns the result of dividing o1 by o2 giving a float result,
-     possibly in-place, or null on failure.
-     This is the equivalent of the Python expression:
-     o1 /= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the remainder of dividing o1 by o2, possibly in-place, or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 %= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlacePower(PyObject *o1, PyObject *o2,
-                                                 PyObject *o3);
-
-       /*
-     Returns the result of raising o1 to the power of o2, possibly
-     in-place, or null on failure.  This is the equivalent of the Python
-     expression: o1 **= o2, or pow(o1, o2, o3) if o3 is present.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of left shifting o1 by o2, possibly in-place, or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 <<= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of right shifting o1 by o2, possibly in-place or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 >>= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of bitwise and of o1 and o2, possibly in-place,
-     or null on failure. This is the equivalent of the Python
-     expression: o1 &= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceXor(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the bitwise exclusive or of o1 by o2, possibly in-place, or
-     null on failure.  This is the equivalent of the Python expression:
-     o1 ^= o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PyNumber_InPlaceOr(PyObject *o1, PyObject *o2);
-
-       /*
-     Returns the result of bitwise or of o1 and o2, possibly in-place,
-     or null on failure.  This is the equivalent of the Python
-     expression: o1 |= o2.
-
-       */
-
-
-     PyAPI_FUNC(PyObject *) PyNumber_ToBase(PyObject *n, int base);
-
-       /*
-     Returns the integer n converted to a string with a base, with a base
-     marker of 0b, 0o or 0x prefixed if applicable.
-     If n is not an int object, it is converted with PyNumber_Index first.
-       */
-
-
-/*  Sequence protocol:*/
-
-     PyAPI_FUNC(int) PySequence_Check(PyObject *o);
-
-       /*
-     Return 1 if the object provides sequence protocol, and zero
-     otherwise.
-
-     This function always succeeds.
-
-       */
-
-     PyAPI_FUNC(Py_ssize_t) PySequence_Size(PyObject *o);
-
-       /*
-     Return the size of sequence object o, or -1 on failure.
-
-       */
-
-       /* For DLL compatibility */
-#undef PySequence_Length
-     PyAPI_FUNC(Py_ssize_t) PySequence_Length(PyObject *o);
-#define PySequence_Length PySequence_Size
-
-
-     PyAPI_FUNC(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2);
-
-       /*
-     Return the concatenation of o1 and o2 on success, and NULL on
-     failure.   This is the equivalent of the Python
-     expression: o1+o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_Repeat(PyObject *o, Py_ssize_t count);
-
-       /*
-     Return the result of repeating sequence object o count times,
-     or NULL on failure.  This is the equivalent of the Python
-     expression: o1*count.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_GetItem(PyObject *o, Py_ssize_t i);
-
-       /*
-     Return the ith element of o, or NULL on failure. This is the
-     equivalent of the Python expression: o[i].
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2);
-
-       /*
-     Return the slice of sequence object o between i1 and i2, or
-     NULL on failure. This is the equivalent of the Python
-     expression: o[i1:i2].
-
-       */
-
-     PyAPI_FUNC(int) PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v);
-
-       /*
-     Assign object v to the ith element of o.  Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: o[i]=v.
-
-       */
-
-     PyAPI_FUNC(int) PySequence_DelItem(PyObject *o, Py_ssize_t i);
-
-       /*
-     Delete the ith element of object v.  Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: del o[i].
-       */
-
-     PyAPI_FUNC(int) PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2,
-                                        PyObject *v);
-
-       /*
-     Assign the sequence object, v, to the slice in sequence
-     object, o, from i1 to i2.  Returns -1 on failure. This is the
-     equivalent of the Python statement: o[i1:i2]=v.
-       */
-
-     PyAPI_FUNC(int) PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2);
-
-       /*
-     Delete the slice in sequence object, o, from i1 to i2.
-     Returns -1 on failure. This is the equivalent of the Python
-     statement: del o[i1:i2].
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_Tuple(PyObject *o);
-
-       /*
-     Returns the sequence, o, as a tuple on success, and NULL on failure.
-     This is equivalent to the Python expression: tuple(o)
-       */
-
-
-     PyAPI_FUNC(PyObject *) PySequence_List(PyObject *o);
-       /*
-     Returns the sequence, o, as a list on success, and NULL on failure.
-     This is equivalent to the Python expression: list(o)
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_Fast(PyObject *o, const char* m);
-       /*
-     Return the sequence, o, as a list, unless it's already a
-     tuple or list.  Use PySequence_Fast_GET_ITEM to access the
-     members of this list, and PySequence_Fast_GET_SIZE to get its length.
-
-     Returns NULL on failure.  If the object does not support iteration,
-     raises a TypeError exception with m as the message text.
-       */
-
-#define PySequence_Fast_GET_SIZE(o) \
-    (PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o))
-       /*
-     Return the size of o, assuming that o was returned by
-     PySequence_Fast and is not NULL.
-       */
-
-#define PySequence_Fast_GET_ITEM(o, i)\
-     (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i))
-       /*
-     Return the ith element of o, assuming that o was returned by
-     PySequence_Fast, and that i is within bounds.
-       */
-
-#define PySequence_ITEM(o, i)\
-    ( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) )
-       /* Assume tp_as_sequence and sq_item exist and that i does not
-      need to be corrected for a negative index
-       */
-
-#define PySequence_Fast_ITEMS(sf) \
-    (PyList_Check(sf) ? ((PyListObject *)(sf))->ob_item \
-                      : ((PyTupleObject *)(sf))->ob_item)
-    /* Return a pointer to the underlying item array for
-       an object retured by PySequence_Fast */
-
-     PyAPI_FUNC(Py_ssize_t) PySequence_Count(PyObject *o, PyObject *value);
-
-       /*
-     Return the number of occurrences on value on o, that is,
-     return the number of keys for which o[key]==value.  On
-     failure, return -1.  This is equivalent to the Python
-     expression: o.count(value).
-       */
-
-     PyAPI_FUNC(int) PySequence_Contains(PyObject *seq, PyObject *ob);
-       /*
-     Return -1 if error; 1 if ob in seq; 0 if ob not in seq.
-     Use __contains__ if possible, else _PySequence_IterSearch().
-       */
-
-#define PY_ITERSEARCH_COUNT    1
-#define PY_ITERSEARCH_INDEX    2
-#define PY_ITERSEARCH_CONTAINS 3
-     PyAPI_FUNC(Py_ssize_t) _PySequence_IterSearch(PyObject *seq,
-                                        PyObject *obj, int operation);
-    /*
-      Iterate over seq.  Result depends on the operation:
-      PY_ITERSEARCH_COUNT:  return # of times obj appears in seq; -1 if
-        error.
-      PY_ITERSEARCH_INDEX:  return 0-based index of first occurrence of
-        obj in seq; set ValueError and return -1 if none found;
-        also return -1 on error.
-      PY_ITERSEARCH_CONTAINS:  return 1 if obj in seq, else 0; -1 on
-        error.
-    */
-
-/* For DLL-level backwards compatibility */
-#undef PySequence_In
-     PyAPI_FUNC(int) PySequence_In(PyObject *o, PyObject *value);
-
-/* For source-level backwards compatibility */
-#define PySequence_In PySequence_Contains
-
-       /*
-     Determine if o contains value.  If an item in o is equal to
-     X, return 1, otherwise return 0.  On error, return -1.  This
-     is equivalent to the Python expression: value in o.
-       */
-
-     PyAPI_FUNC(Py_ssize_t) PySequence_Index(PyObject *o, PyObject *value);
-
-       /*
-     Return the first index for which o[i]=value.  On error,
-     return -1.    This is equivalent to the Python
-     expression: o.index(value).
-       */
-
-/* In-place versions of some of the above Sequence functions. */
-
-     PyAPI_FUNC(PyObject *) PySequence_InPlaceConcat(PyObject *o1, PyObject *o2);
-
-       /*
-     Append o2 to o1, in-place when possible. Return the resulting
-     object, which could be o1, or NULL on failure.  This is the
-     equivalent of the Python expression: o1 += o2.
-
-       */
-
-     PyAPI_FUNC(PyObject *) PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count);
-
-       /*
-     Repeat o1 by count, in-place when possible. Return the resulting
-     object, which could be o1, or NULL on failure.  This is the
-     equivalent of the Python expression: o1 *= count.
-
-       */
-
-/*  Mapping protocol:*/
-
-     PyAPI_FUNC(int) PyMapping_Check(PyObject *o);
-
-       /*
-     Return 1 if the object provides mapping protocol, and zero
-     otherwise.
-
-     This function always succeeds.
-       */
-
-     PyAPI_FUNC(Py_ssize_t) PyMapping_Size(PyObject *o);
-
-       /*
-     Returns the number of keys in object o on success, and -1 on
-     failure.  For objects that do not provide sequence protocol,
-     this is equivalent to the Python expression: len(o).
-       */
-
-       /* For DLL compatibility */
-#undef PyMapping_Length
-     PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o);
-#define PyMapping_Length PyMapping_Size
-
-
-     /* implemented as a macro:
-
-     int PyMapping_DelItemString(PyObject *o, char *key);
-
-     Remove the mapping for object, key, from the object *o.
-     Returns -1 on failure.  This is equivalent to
-     the Python statement: del o[key].
-       */
-#define PyMapping_DelItemString(O,K) PyObject_DelItemString((O),(K))
-
-     /* implemented as a macro:
-
-     int PyMapping_DelItem(PyObject *o, PyObject *key);
-
-     Remove the mapping for object, key, from the object *o.
-     Returns -1 on failure.  This is equivalent to
-     the Python statement: del o[key].
-       */
-#define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K))
-
-     PyAPI_FUNC(int) PyMapping_HasKeyString(PyObject *o, char *key);
-
-       /*
-     On success, return 1 if the mapping object has the key, key,
-     and 0 otherwise.  This is equivalent to the Python expression:
-     o.has_key(key).
-
-     This function always succeeds.
-       */
-
-     PyAPI_FUNC(int) PyMapping_HasKey(PyObject *o, PyObject *key);
-
-       /*
-     Return 1 if the mapping object has the key, key,
-     and 0 otherwise.  This is equivalent to the Python expression:
-     o.has_key(key).
-
-     This function always succeeds.
-
-       */
-
-     /* Implemented as macro:
-
-     PyObject *PyMapping_Keys(PyObject *o);
-
-     On success, return a list of the keys in object o.  On
-     failure, return NULL. This is equivalent to the Python
-     expression: o.keys().
-       */
-#define PyMapping_Keys(O) PyObject_CallMethod(O,"keys",NULL)
-
-     /* Implemented as macro:
-
-     PyObject *PyMapping_Values(PyObject *o);
-
-     On success, return a list of the values in object o.  On
-     failure, return NULL. This is equivalent to the Python
-     expression: o.values().
-       */
-#define PyMapping_Values(O) PyObject_CallMethod(O,"values",NULL)
-
-     /* Implemented as macro:
-
-     PyObject *PyMapping_Items(PyObject *o);
-
-     On success, return a list of the items in object o, where
-     each item is a tuple containing a key-value pair.  On
-     failure, return NULL. This is equivalent to the Python
-     expression: o.items().
-
-       */
-#define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)
-
-     PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, char *key);
-
-       /*
-     Return element of o corresponding to the object, key, or NULL
-     on failure. This is the equivalent of the Python expression:
-     o[key].
-       */
-
-     PyAPI_FUNC(int) PyMapping_SetItemString(PyObject *o, char *key,
-                                            PyObject *value);
-
-       /*
-     Map the object, key, to the value, v.  Returns
-     -1 on failure.  This is the equivalent of the Python
-     statement: o[key]=v.
-      */
-
-
-PyAPI_FUNC(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass);
-      /* isinstance(object, typeorclass) */
-
-PyAPI_FUNC(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);
-      /* issubclass(object, typeorclass) */
-
-
-PyAPI_FUNC(int) _PyObject_RealIsInstance(PyObject *inst, PyObject *cls);
-
-PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls);
-
-
-/* For internal use by buffer API functions */
-PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index,
-                                        const Py_ssize_t *shape);
-PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,
-                                        const Py_ssize_t *shape);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Py_ABSTRACTOBJECT_H */

+ 0 - 45
esp8266/eproj1/eproj1Venv/include/python2.7/asdl.h

@@ -1,45 +0,0 @@
-#ifndef Py_ASDL_H
-#define Py_ASDL_H
-
-typedef PyObject * identifier;
-typedef PyObject * string;
-typedef PyObject * object;
-
-#ifndef __cplusplus
-typedef enum {false, true} bool;
-#endif
-
-/* It would be nice if the code generated by asdl_c.py was completely
-   independent of Python, but it is a goal the requires too much work
-   at this stage.  So, for example, I'll represent identifiers as
-   interned Python strings.
-*/
-
-/* XXX A sequence should be typed so that its use can be typechecked. */
-
-typedef struct {
-    int size;
-    void *elements[1];
-} asdl_seq;
-
-typedef struct {
-    int size;
-    int elements[1];
-} asdl_int_seq;
-
-asdl_seq *asdl_seq_new(int size, PyArena *arena);
-asdl_int_seq *asdl_int_seq_new(int size, PyArena *arena);
-
-#define asdl_seq_GET(S, I) (S)->elements[(I)]
-#define asdl_seq_LEN(S) ((S) == NULL ? 0 : (S)->size)
-#ifdef Py_DEBUG
-#define asdl_seq_SET(S, I, V) { \
-        int _asdl_i = (I); \
-        assert((S) && _asdl_i < (S)->size); \
-        (S)->elements[_asdl_i] = (V); \
-}
-#else
-#define asdl_seq_SET(S, I, V) (S)->elements[I] = (V)
-#endif
-
-#endif /* !Py_ASDL_H */

+ 0 - 13
esp8266/eproj1/eproj1Venv/include/python2.7/ast.h

@@ -1,13 +0,0 @@
-#ifndef Py_AST_H
-#define Py_AST_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(mod_ty) PyAST_FromNode(const node *, PyCompilerFlags *flags,
-				  const char *, PyArena *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_AST_H */

+ 0 - 32
esp8266/eproj1/eproj1Venv/include/python2.7/bitset.h

@@ -1,32 +0,0 @@
-
-#ifndef Py_BITSET_H
-#define Py_BITSET_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Bitset interface */
-
-#define BYTE		char
-
-typedef BYTE *bitset;
-
-bitset newbitset(int nbits);
-void delbitset(bitset bs);
-#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
-int addbit(bitset bs, int ibit); /* Returns 0 if already set */
-int samebitset(bitset bs1, bitset bs2, int nbits);
-void mergebitset(bitset bs1, bitset bs2, int nbits);
-
-#define BITSPERBYTE	(8*sizeof(BYTE))
-#define NBYTES(nbits)	(((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
-
-#define BIT2BYTE(ibit)	((ibit) / BITSPERBYTE)
-#define BIT2SHIFT(ibit)	((ibit) % BITSPERBYTE)
-#define BIT2MASK(ibit)	(1 << BIT2SHIFT(ibit))
-#define BYTE2BIT(ibyte)	((ibyte) * BITSPERBYTE)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BITSET_H */

+ 0 - 36
esp8266/eproj1/eproj1Venv/include/python2.7/boolobject.h

@@ -1,36 +0,0 @@
-/* Boolean object interface */
-
-#ifndef Py_BOOLOBJECT_H
-#define Py_BOOLOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef PyIntObject PyBoolObject;
-
-PyAPI_DATA(PyTypeObject) PyBool_Type;
-
-#define PyBool_Check(x) (Py_TYPE(x) == &PyBool_Type)
-
-/* Py_False and Py_True are the only two bools in existence.
-Don't forget to apply Py_INCREF() when returning either!!! */
-
-/* Don't use these directly */
-PyAPI_DATA(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct;
-
-/* Use these macros */
-#define Py_False ((PyObject *) &_Py_ZeroStruct)
-#define Py_True ((PyObject *) &_Py_TrueStruct)
-
-/* Macros for returning Py_True or Py_False, respectively */
-#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
-#define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
-
-/* Function to return a bool from a C long */
-PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BOOLOBJECT_H */

+ 0 - 33
esp8266/eproj1/eproj1Venv/include/python2.7/bufferobject.h

@@ -1,33 +0,0 @@
-
-/* Buffer object interface */
-
-/* Note: the object's structure is private */
-
-#ifndef Py_BUFFEROBJECT_H
-#define Py_BUFFEROBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-PyAPI_DATA(PyTypeObject) PyBuffer_Type;
-
-#define PyBuffer_Check(op) (Py_TYPE(op) == &PyBuffer_Type)
-
-#define Py_END_OF_BUFFER	(-1)
-
-PyAPI_FUNC(PyObject *) PyBuffer_FromObject(PyObject *base,
-                                           Py_ssize_t offset, Py_ssize_t size);
-PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
-                                                    Py_ssize_t offset,
-                                                    Py_ssize_t size);
-
-PyAPI_FUNC(PyObject *) PyBuffer_FromMemory(void *ptr, Py_ssize_t size);
-PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size);
-
-PyAPI_FUNC(PyObject *) PyBuffer_New(Py_ssize_t size);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BUFFEROBJECT_H */

+ 0 - 57
esp8266/eproj1/eproj1Venv/include/python2.7/bytearrayobject.h

@@ -1,57 +0,0 @@
-/* ByteArray object interface */
-
-#ifndef Py_BYTEARRAYOBJECT_H
-#define Py_BYTEARRAYOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-
-/* Type PyByteArrayObject represents a mutable array of bytes.
- * The Python API is that of a sequence;
- * the bytes are mapped to ints in [0, 256).
- * Bytes are not characters; they may be used to encode characters.
- * The only way to go between bytes and str/unicode is via encoding
- * and decoding.
- * For the convenience of C programmers, the bytes type is considered
- * to contain a char pointer, not an unsigned char pointer.
- */
-
-/* Object layout */
-typedef struct {
-    PyObject_VAR_HEAD
-    /* XXX(nnorwitz): should ob_exports be Py_ssize_t? */
-    int ob_exports; /* how many buffer exports */
-    Py_ssize_t ob_alloc; /* How many bytes allocated */
-    char *ob_bytes;
-} PyByteArrayObject;
-
-/* Type object */
-PyAPI_DATA(PyTypeObject) PyByteArray_Type;
-PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type;
-
-/* Type check macros */
-#define PyByteArray_Check(self) PyObject_TypeCheck(self, &PyByteArray_Type)
-#define PyByteArray_CheckExact(self) (Py_TYPE(self) == &PyByteArray_Type)
-
-/* Direct API functions */
-PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *);
-PyAPI_FUNC(PyObject *) PyByteArray_Concat(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyByteArray_FromStringAndSize(const char *, Py_ssize_t);
-PyAPI_FUNC(Py_ssize_t) PyByteArray_Size(PyObject *);
-PyAPI_FUNC(char *) PyByteArray_AsString(PyObject *);
-PyAPI_FUNC(int) PyByteArray_Resize(PyObject *, Py_ssize_t);
-
-/* Macros, trading safety for speed */
-#define PyByteArray_AS_STRING(self) \
-    (assert(PyByteArray_Check(self)), \
-     Py_SIZE(self) ? ((PyByteArrayObject *)(self))->ob_bytes : _PyByteArray_empty_string)
-#define PyByteArray_GET_SIZE(self)  (assert(PyByteArray_Check(self)),Py_SIZE(self))
-
-PyAPI_DATA(char) _PyByteArray_empty_string[];
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BYTEARRAYOBJECT_H */

+ 0 - 75
esp8266/eproj1/eproj1Venv/include/python2.7/bytes_methods.h

@@ -1,75 +0,0 @@
-#ifndef Py_BYTES_CTYPE_H
-#define Py_BYTES_CTYPE_H
-
-/*
- * The internal implementation behind PyString (bytes) and PyBytes (buffer)
- * methods of the given names, they operate on ASCII byte strings.
- */
-extern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len);
-
-/* These store their len sized answer in the given preallocated *result arg. */
-extern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len);
-extern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len);
-extern void _Py_bytes_title(char *result, char *s, Py_ssize_t len);
-extern void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len);
-extern void _Py_bytes_swapcase(char *result, char *s, Py_ssize_t len);
-
-/* Shared __doc__ strings. */
-extern const char _Py_isspace__doc__[];
-extern const char _Py_isalpha__doc__[];
-extern const char _Py_isalnum__doc__[];
-extern const char _Py_isdigit__doc__[];
-extern const char _Py_islower__doc__[];
-extern const char _Py_isupper__doc__[];
-extern const char _Py_istitle__doc__[];
-extern const char _Py_lower__doc__[];
-extern const char _Py_upper__doc__[];
-extern const char _Py_title__doc__[];
-extern const char _Py_capitalize__doc__[];
-extern const char _Py_swapcase__doc__[];
-
-/* These are left in for backward compatibility and will be removed
-   in 2.8/3.2 */
-#define ISLOWER(c)  Py_ISLOWER(c)
-#define ISUPPER(c)  Py_ISUPPER(c)
-#define ISALPHA(c)  Py_ISALPHA(c)
-#define ISDIGIT(c)  Py_ISDIGIT(c)
-#define ISXDIGIT(c) Py_ISXDIGIT(c)
-#define ISALNUM(c)  Py_ISALNUM(c)
-#define ISSPACE(c)  Py_ISSPACE(c)
-
-#undef islower
-#define islower(c) undefined_islower(c)
-#undef isupper
-#define isupper(c) undefined_isupper(c)
-#undef isalpha
-#define isalpha(c) undefined_isalpha(c)
-#undef isdigit
-#define isdigit(c) undefined_isdigit(c)
-#undef isxdigit
-#define isxdigit(c) undefined_isxdigit(c)
-#undef isalnum
-#define isalnum(c) undefined_isalnum(c)
-#undef isspace
-#define isspace(c) undefined_isspace(c)
-
-/* These are left in for backward compatibility and will be removed
-   in 2.8/3.2 */
-#define TOLOWER(c) Py_TOLOWER(c)
-#define TOUPPER(c) Py_TOUPPER(c)
-
-#undef tolower
-#define tolower(c) undefined_tolower(c)
-#undef toupper
-#define toupper(c) undefined_toupper(c)
-
-/* this is needed because some docs are shared from the .o, not static */
-#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str)
-
-#endif /* !Py_BYTES_CTYPE_H */

+ 0 - 27
esp8266/eproj1/eproj1Venv/include/python2.7/bytesobject.h

@@ -1,27 +0,0 @@
-#define PyBytesObject PyStringObject
-#define PyBytes_Type PyString_Type
-
-#define PyBytes_Check PyString_Check
-#define PyBytes_CheckExact PyString_CheckExact 
-#define PyBytes_CHECK_INTERNED PyString_CHECK_INTERNED
-#define PyBytes_AS_STRING PyString_AS_STRING
-#define PyBytes_GET_SIZE PyString_GET_SIZE
-#define Py_TPFLAGS_BYTES_SUBCLASS Py_TPFLAGS_STRING_SUBCLASS
-
-#define PyBytes_FromStringAndSize PyString_FromStringAndSize
-#define PyBytes_FromString PyString_FromString
-#define PyBytes_FromFormatV PyString_FromFormatV
-#define PyBytes_FromFormat PyString_FromFormat
-#define PyBytes_Size PyString_Size
-#define PyBytes_AsString PyString_AsString
-#define PyBytes_Repr PyString_Repr
-#define PyBytes_Concat PyString_Concat
-#define PyBytes_ConcatAndDel PyString_ConcatAndDel
-#define _PyBytes_Resize _PyString_Resize
-#define _PyBytes_Eq _PyString_Eq
-#define PyBytes_Format PyString_Format
-#define _PyBytes_FormatLong _PyString_FormatLong
-#define PyBytes_DecodeEscape PyString_DecodeEscape
-#define _PyBytes_Join _PyString_Join
-#define PyBytes_AsStringAndSize PyString_AsStringAndSize
-#define _PyBytes_InsertThousandsGrouping _PyString_InsertThousandsGrouping

+ 0 - 73
esp8266/eproj1/eproj1Venv/include/python2.7/cStringIO.h

@@ -1,73 +0,0 @@
-#ifndef Py_CSTRINGIO_H
-#define Py_CSTRINGIO_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
-
-  This header provides access to cStringIO objects from C.
-  Functions are provided for calling cStringIO objects and
-  macros are provided for testing whether you have cStringIO
-  objects.
-
-  Before calling any of the functions or macros, you must initialize
-  the routines with:
-
-    PycString_IMPORT
-
-  This would typically be done in your init function.
-
-*/
-
-#define PycStringIO_CAPSULE_NAME "cStringIO.cStringIO_CAPI"
-
-#define PycString_IMPORT \
-  PycStringIO = ((struct PycStringIO_CAPI*)PyCapsule_Import(\
-    PycStringIO_CAPSULE_NAME, 0))
-
-/* Basic functions to manipulate cStringIO objects from C */
-
-static struct PycStringIO_CAPI {
-
- /* Read a string from an input object.  If the last argument
-    is -1, the remainder will be read.
-    */
-  int(*cread)(PyObject *, char **, Py_ssize_t);
-
- /* Read a line from an input object.  Returns the length of the read
-    line as an int and a pointer inside the object buffer as char** (so
-    the caller doesn't have to provide its own buffer as destination).
-    */
-  int(*creadline)(PyObject *, char **);
-
-  /* Write a string to an output object*/
-  int(*cwrite)(PyObject *, const char *, Py_ssize_t);
-
-  /* Get the output object as a Python string (returns new reference). */
-  PyObject *(*cgetvalue)(PyObject *);
-
-  /* Create a new output object */
-  PyObject *(*NewOutput)(int);
-
-  /* Create an input object from a Python string
-     (copies the Python string reference).
-     */
-  PyObject *(*NewInput)(PyObject *);
-
-  /* The Python types for cStringIO input and output objects.
-     Note that you can do input on an output object.
-     */
-  PyTypeObject *InputType, *OutputType;
-
-} *PycStringIO;
-
-/* These can be used to test if you have one */
-#define PycStringIO_InputCheck(O) \
-  (Py_TYPE(O)==PycStringIO->InputType)
-#define PycStringIO_OutputCheck(O) \
-  (Py_TYPE(O)==PycStringIO->OutputType)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CSTRINGIO_H */

+ 0 - 28
esp8266/eproj1/eproj1Venv/include/python2.7/cellobject.h

@@ -1,28 +0,0 @@
-/* Cell object interface */
-
-#ifndef Py_CELLOBJECT_H
-#define Py_CELLOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-	PyObject_HEAD
-	PyObject *ob_ref;	/* Content of the cell or NULL when empty */
-} PyCellObject;
-
-PyAPI_DATA(PyTypeObject) PyCell_Type;
-
-#define PyCell_Check(op) (Py_TYPE(op) == &PyCell_Type)
-
-PyAPI_FUNC(PyObject *) PyCell_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *);
-PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *);
-
-#define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)
-#define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_TUPLEOBJECT_H */

+ 0 - 153
esp8266/eproj1/eproj1Venv/include/python2.7/ceval.h

@@ -1,153 +0,0 @@
-#ifndef Py_CEVAL_H
-#define Py_CEVAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Interface to random parts in ceval.c */
-
-PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
-    PyObject *, PyObject *, PyObject *);
-
-/* Inline this */
-#define PyEval_CallObject(func,arg) \
-    PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
-
-PyAPI_FUNC(PyObject *) PyEval_CallFunction(PyObject *obj,
-                                           const char *format, ...);
-PyAPI_FUNC(PyObject *) PyEval_CallMethod(PyObject *obj,
-                                         const char *methodname,
-                                         const char *format, ...);
-
-PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *);
-PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *);
-
-struct _frame; /* Avoid including frameobject.h */
-
-PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void);
-PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void);
-PyAPI_FUNC(PyObject *) PyEval_GetLocals(void);
-PyAPI_FUNC(struct _frame *) PyEval_GetFrame(void);
-PyAPI_FUNC(int) PyEval_GetRestricted(void);
-
-/* Look at the current frame's (if any) code's co_flags, and turn on
-   the corresponding compiler flags in cf->cf_flags.  Return 1 if any
-   flag was set, else return 0. */
-PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf);
-
-PyAPI_FUNC(int) Py_FlushLine(void);
-
-PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg);
-PyAPI_FUNC(int) Py_MakePendingCalls(void);
-
-/* Protection against deeply nested recursive calls */
-PyAPI_FUNC(void) Py_SetRecursionLimit(int);
-PyAPI_FUNC(int) Py_GetRecursionLimit(void);
-
-#define Py_EnterRecursiveCall(where)                                    \
-            (_Py_MakeRecCheck(PyThreadState_GET()->recursion_depth) &&  \
-             _Py_CheckRecursiveCall(where))
-#define Py_LeaveRecursiveCall()                         \
-            (--PyThreadState_GET()->recursion_depth)
-PyAPI_FUNC(int) _Py_CheckRecursiveCall(const char *where);
-PyAPI_DATA(int) _Py_CheckRecursionLimit;
-#ifdef USE_STACKCHECK
-#  define _Py_MakeRecCheck(x)  (++(x) > --_Py_CheckRecursionLimit)
-#else
-#  define _Py_MakeRecCheck(x)  (++(x) > _Py_CheckRecursionLimit)
-#endif
-
-PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *);
-PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *);
-
-PyAPI_FUNC(PyObject *) PyEval_GetCallStats(PyObject *);
-PyAPI_FUNC(PyObject *) PyEval_EvalFrame(struct _frame *);
-PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(struct _frame *f, int exc);
-
-/* this used to be handled on a per-thread basis - now just two globals */
-PyAPI_DATA(volatile int) _Py_Ticker;
-PyAPI_DATA(int) _Py_CheckInterval;
-
-/* Interface for threads.
-
-   A module that plans to do a blocking system call (or something else
-   that lasts a long time and doesn't touch Python data) can allow other
-   threads to run as follows:
-
-    ...preparations here...
-    Py_BEGIN_ALLOW_THREADS
-    ...blocking system call here...
-    Py_END_ALLOW_THREADS
-    ...interpret result here...
-
-   The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a
-   {}-surrounded block.
-   To leave the block in the middle (e.g., with return), you must insert
-   a line containing Py_BLOCK_THREADS before the return, e.g.
-
-    if (...premature_exit...) {
-        Py_BLOCK_THREADS
-        PyErr_SetFromErrno(PyExc_IOError);
-        return NULL;
-    }
-
-   An alternative is:
-
-    Py_BLOCK_THREADS
-    if (...premature_exit...) {
-        PyErr_SetFromErrno(PyExc_IOError);
-        return NULL;
-    }
-    Py_UNBLOCK_THREADS
-
-   For convenience, that the value of 'errno' is restored across
-   Py_END_ALLOW_THREADS and Py_BLOCK_THREADS.
-
-   WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND
-   Py_END_ALLOW_THREADS!!!
-
-   The function PyEval_InitThreads() should be called only from
-   initthread() in "threadmodule.c".
-
-   Note that not yet all candidates have been converted to use this
-   mechanism!
-*/
-
-PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void);
-PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *);
-
-#ifdef WITH_THREAD
-
-PyAPI_FUNC(int)  PyEval_ThreadsInitialized(void);
-PyAPI_FUNC(void) PyEval_InitThreads(void);
-PyAPI_FUNC(void) PyEval_AcquireLock(void);
-PyAPI_FUNC(void) PyEval_ReleaseLock(void);
-PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
-PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);
-PyAPI_FUNC(void) PyEval_ReInitThreads(void);
-
-#define Py_BEGIN_ALLOW_THREADS { \
-                        PyThreadState *_save; \
-                        _save = PyEval_SaveThread();
-#define Py_BLOCK_THREADS        PyEval_RestoreThread(_save);
-#define Py_UNBLOCK_THREADS      _save = PyEval_SaveThread();
-#define Py_END_ALLOW_THREADS    PyEval_RestoreThread(_save); \
-                 }
-
-#else /* !WITH_THREAD */
-
-#define Py_BEGIN_ALLOW_THREADS {
-#define Py_BLOCK_THREADS
-#define Py_UNBLOCK_THREADS
-#define Py_END_ALLOW_THREADS }
-
-#endif /* !WITH_THREAD */
-
-PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CEVAL_H */

+ 0 - 83
esp8266/eproj1/eproj1Venv/include/python2.7/classobject.h

@@ -1,83 +0,0 @@
-
-/* Class object interface */
-
-/* Revealing some structures (not for general use) */
-
-#ifndef Py_CLASSOBJECT_H
-#define Py_CLASSOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    PyObject	*cl_bases;	/* A tuple of class objects */
-    PyObject	*cl_dict;	/* A dictionary */
-    PyObject	*cl_name;	/* A string */
-    /* The following three are functions or NULL */
-    PyObject	*cl_getattr;
-    PyObject	*cl_setattr;
-    PyObject	*cl_delattr;
-    PyObject    *cl_weakreflist; /* List of weak references */
-} PyClassObject;
-
-typedef struct {
-    PyObject_HEAD
-    PyClassObject *in_class;	/* The class object */
-    PyObject	  *in_dict;	/* A dictionary */
-    PyObject	  *in_weakreflist; /* List of weak references */
-} PyInstanceObject;
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *im_func;   /* The callable object implementing the method */
-    PyObject *im_self;   /* The instance it is bound to, or NULL */
-    PyObject *im_class;  /* The class that asked for the method */
-    PyObject *im_weakreflist; /* List of weak references */
-} PyMethodObject;
-
-PyAPI_DATA(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type;
-
-#define PyClass_Check(op) ((op)->ob_type == &PyClass_Type)
-#define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type)
-#define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type)
-
-PyAPI_FUNC(PyObject *) PyClass_New(PyObject *, PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyInstance_New(PyObject *, PyObject *,
-                                            PyObject *);
-PyAPI_FUNC(PyObject *) PyInstance_NewRaw(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_Class(PyObject *);
-
-/* Look up attribute with name (a string) on instance object pinst, using
- * only the instance and base class dicts.  If a descriptor is found in
- * a class dict, the descriptor is returned without calling it.
- * Returns NULL if nothing found, else a borrowed reference to the
- * value associated with name in the dict in which name was found.
- * The point of this routine is that it never calls arbitrary Python
- * code, so is always "safe":  all it does is dict lookups.  The function
- * can't fail, never sets an exception, and NULL is not an error (it just
- * means "not found").
- */
-PyAPI_FUNC(PyObject *) _PyInstance_Lookup(PyObject *pinst, PyObject *name);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyMethod_GET_FUNCTION(meth) \
-        (((PyMethodObject *)meth) -> im_func)
-#define PyMethod_GET_SELF(meth) \
-	(((PyMethodObject *)meth) -> im_self)
-#define PyMethod_GET_CLASS(meth) \
-	(((PyMethodObject *)meth) -> im_class)
-
-PyAPI_FUNC(int) PyClass_IsSubclass(PyObject *, PyObject *);
-
-PyAPI_FUNC(int) PyMethod_ClearFreeList(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CLASSOBJECT_H */

+ 0 - 89
esp8266/eproj1/eproj1Venv/include/python2.7/cobject.h

@@ -1,89 +0,0 @@
-/*
-   CObjects are marked Pending Deprecation as of Python 2.7.
-   The full schedule for 2.x is as follows:
-     - CObjects are marked Pending Deprecation in Python 2.7.
-     - CObjects will be marked Deprecated in Python 2.8
-       (if there is one).
-     - CObjects will be removed in Python 2.9 (if there is one).
-
-   Additionally, for the Python 3.x series:
-     - CObjects were marked Deprecated in Python 3.1.
-     - CObjects will be removed in Python 3.2.
-
-   You should switch all use of CObjects to capsules.  Capsules
-   have a safer and more consistent API.  For more information,
-   see Include/pycapsule.h, or read the "Capsules" topic in
-   the "Python/C API Reference Manual".
-
-   Python 2.7 no longer uses CObjects itself; all objects which
-   were formerly CObjects are now capsules.  Note that this change
-   does not by itself break binary compatibility with extensions
-   built for previous versions of Python--PyCObject_AsVoidPtr()
-   has been changed to also understand capsules.
-
-*/
-
-/* original file header comment follows: */
-
-/* C objects to be exported from one extension module to another.
- 
-   C objects are used for communication between extension modules.
-   They provide a way for an extension module to export a C interface
-   to other extension modules, so that extension modules can use the
-   Python import mechanism to link to one another.
-
-*/
-
-#ifndef Py_COBJECT_H
-#define Py_COBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyCObject_Type;
-
-#define PyCObject_Check(op) (Py_TYPE(op) == &PyCObject_Type)
-
-/* Create a PyCObject from a pointer to a C object and an optional
-   destructor function.  If the second argument is non-null, then it
-   will be called with the first argument if and when the PyCObject is
-   destroyed.
-
-*/
-PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtr(
-	void *cobj, void (*destruct)(void*));
-
-
-/* Create a PyCObject from a pointer to a C object, a description object,
-   and an optional destructor function.  If the third argument is non-null,
-   then it will be called with the first and second arguments if and when 
-   the PyCObject is destroyed.
-*/
-PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtrAndDesc(
-	void *cobj, void *desc, void (*destruct)(void*,void*));
-
-/* Retrieve a pointer to a C object from a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_AsVoidPtr(PyObject *);
-
-/* Retrieve a pointer to a description object from a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_GetDesc(PyObject *);
-
-/* Import a pointer to a C object from a module using a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_Import(char *module_name, char *cobject_name);
-
-/* Modify a C object. Fails (==0) if object has a destructor. */
-PyAPI_FUNC(int) PyCObject_SetVoidPtr(PyObject *self, void *cobj);
-
-
-typedef struct {
-    PyObject_HEAD
-    void *cobject;
-    void *desc;
-    void (*destructor)(void *);
-} PyCObject;
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COBJECT_H */

+ 0 - 116
esp8266/eproj1/eproj1Venv/include/python2.7/code.h

@@ -1,116 +0,0 @@
-/* Definitions for bytecode */
-
-#ifndef Py_CODE_H
-#define Py_CODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Bytecode object */
-typedef struct {
-    PyObject_HEAD
-    int co_argcount;		/* #arguments, except *args */
-    int co_nlocals;		/* #local variables */
-    int co_stacksize;		/* #entries needed for evaluation stack */
-    int co_flags;		/* CO_..., see below */
-    PyObject *co_code;		/* instruction opcodes */
-    PyObject *co_consts;	/* list (constants used) */
-    PyObject *co_names;		/* list of strings (names used) */
-    PyObject *co_varnames;	/* tuple of strings (local variable names) */
-    PyObject *co_freevars;	/* tuple of strings (free variable names) */
-    PyObject *co_cellvars;      /* tuple of strings (cell variable names) */
-    /* The rest doesn't count for hash/cmp */
-    PyObject *co_filename;	/* string (where it was loaded from) */
-    PyObject *co_name;		/* string (name, for reference) */
-    int co_firstlineno;		/* first source line number */
-    PyObject *co_lnotab;	/* string (encoding addr<->lineno mapping) See
-				   Objects/lnotab_notes.txt for details. */
-    void *co_zombieframe;     /* for optimization only (see frameobject.c) */
-    PyObject *co_weakreflist;   /* to support weakrefs to code objects */
-} PyCodeObject;
-
-/* Masks for co_flags above */
-#define CO_OPTIMIZED	0x0001
-#define CO_NEWLOCALS	0x0002
-#define CO_VARARGS	0x0004
-#define CO_VARKEYWORDS	0x0008
-#define CO_NESTED       0x0010
-#define CO_GENERATOR    0x0020
-/* The CO_NOFREE flag is set if there are no free or cell variables.
-   This information is redundant, but it allows a single flag test
-   to determine whether there is any extra work to be done when the
-   call frame it setup.
-*/
-#define CO_NOFREE       0x0040
-
-#if 0
-/* This is no longer used.  Stopped defining in 2.5, do not re-use. */
-#define CO_GENERATOR_ALLOWED    0x1000
-#endif
-#define CO_FUTURE_DIVISION    	0x2000
-#define CO_FUTURE_ABSOLUTE_IMPORT 0x4000 /* do absolute imports by default */
-#define CO_FUTURE_WITH_STATEMENT  0x8000
-#define CO_FUTURE_PRINT_FUNCTION  0x10000
-#define CO_FUTURE_UNICODE_LITERALS 0x20000
-
-/* This should be defined if a future statement modifies the syntax.
-   For example, when a keyword is added.
-*/
-#if 1
-#define PY_PARSER_REQUIRES_FUTURE_KEYWORD
-#endif
-
-#define CO_MAXBLOCKS 20 /* Max static block nesting within a function */
-
-PyAPI_DATA(PyTypeObject) PyCode_Type;
-
-#define PyCode_Check(op) (Py_TYPE(op) == &PyCode_Type)
-#define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars))
-
-/* Public interface */
-PyAPI_FUNC(PyCodeObject *) PyCode_New(
-	int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *,
-	PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *);
-        /* same as struct above */
-
-/* Creates a new empty code object with the specified source location. */
-PyAPI_FUNC(PyCodeObject *)
-PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno);
-
-/* Return the line number associated with the specified bytecode index
-   in this code object.  If you just need the line number of a frame,
-   use PyFrame_GetLineNumber() instead. */
-PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int);
-
-/* for internal use only */
-#define _PyCode_GETCODEPTR(co, pp) \
-	((*Py_TYPE((co)->co_code)->tp_as_buffer->bf_getreadbuffer) \
-	 ((co)->co_code, 0, (void **)(pp)))
-
-typedef struct _addr_pair {
-        int ap_lower;
-        int ap_upper;
-} PyAddrPair;
-
-/* Update *bounds to describe the first and one-past-the-last instructions in the
-   same line as lasti.  Return the number of that line.
-*/
-PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co,
-                                        int lasti, PyAddrPair *bounds);
-
-/* Create a comparable key used to compare constants taking in account the
- * object type. It is used to make sure types are not coerced (e.g., float and
- * complex) _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms
- *
- * Return (type(obj), obj, ...): a tuple with variable size (at least 2 items)
- * depending on the type and the value. The type is the first item to not
- * compare bytes and str which can raise a BytesWarning exception. */
-PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj);
-
-PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts,
-                                      PyObject *names, PyObject *lineno_obj);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CODE_H */

+ 0 - 212
esp8266/eproj1/eproj1Venv/include/python2.7/codecs.h

@@ -1,212 +0,0 @@
-#ifndef Py_CODECREGISTRY_H
-#define Py_CODECREGISTRY_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ------------------------------------------------------------------------
-
-   Python Codec Registry and support functions
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-Copyright (c) Corporation for National Research Initiatives.
-
-   ------------------------------------------------------------------------ */
-
-/* Register a new codec search function.
-
-   As side effect, this tries to load the encodings package, if not
-   yet done, to make sure that it is always first in the list of
-   search functions.
-
-   The search_function's refcount is incremented by this function. */
-
-PyAPI_FUNC(int) PyCodec_Register(
-       PyObject *search_function
-       );
-
-/* Codec register lookup API.
-
-   Looks up the given encoding and returns a CodecInfo object with
-   function attributes which implement the different aspects of
-   processing the encoding.
-
-   The encoding string is looked up converted to all lower-case
-   characters. This makes encodings looked up through this mechanism
-   effectively case-insensitive.
-
-   If no codec is found, a KeyError is set and NULL returned.
-
-   As side effect, this tries to load the encodings package, if not
-   yet done. This is part of the lazy load strategy for the encodings
-   package.
-
- */
-
-PyAPI_FUNC(PyObject *) _PyCodec_Lookup(
-       const char *encoding
-       );
-
-/* Generic codec based encoding API.
-
-   object is passed through the encoder function found for the given
-   encoding using the error handling method defined by errors. errors
-   may be NULL to use the default method defined for the codec.
-   
-   Raises a LookupError in case no encoder can be found.
-
- */
-
-PyAPI_FUNC(PyObject *) PyCodec_Encode(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* Generic codec based decoding API.
-
-   object is passed through the decoder function found for the given
-   encoding using the error handling method defined by errors. errors
-   may be NULL to use the default method defined for the codec.
-   
-   Raises a LookupError in case no encoder can be found.
-
- */
-
-PyAPI_FUNC(PyObject *) PyCodec_Decode(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* Text codec specific encoding and decoding API.
-
-   Checks the encoding against a list of codecs which do not
-   implement a unicode<->bytes encoding before attempting the
-   operation.
-
-   Please note that these APIs are internal and should not
-   be used in Python C extensions.
-
-   XXX (ncoghlan): should we make these, or something like them, public
-   in Python 3.5+?
-
- */
-PyAPI_FUNC(PyObject *) _PyCodec_LookupTextEncoding(
-       const char *encoding,
-       const char *alternate_command
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodec_EncodeText(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodec_DecodeText(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* These two aren't actually text encoding specific, but _io.TextIOWrapper
- * is the only current API consumer.
- */
-PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalDecoder(
-       PyObject *codec_info,
-       const char *errors
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalEncoder(
-       PyObject *codec_info,
-       const char *errors
-       );
-
-
-
-/* --- Codec Lookup APIs -------------------------------------------------- 
-
-   All APIs return a codec object with incremented refcount and are
-   based on _PyCodec_Lookup().  The same comments w/r to the encoding
-   name also apply to these APIs.
-
-*/
-
-/* Get an encoder function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_Encoder(
-       const char *encoding
-       );
-
-/* Get a decoder function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_Decoder(
-       const char *encoding
-       );
-
-/* Get a IncrementalEncoder object for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder(
-       const char *encoding,
-       const char *errors
-       );
-
-/* Get a IncrementalDecoder object function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder(
-       const char *encoding,
-       const char *errors
-       );
-
-/* Get a StreamReader factory function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
-       const char *encoding,
-       PyObject *stream,
-       const char *errors
-       );
-
-/* Get a StreamWriter factory function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_StreamWriter(
-       const char *encoding,
-       PyObject *stream,
-       const char *errors
-       );
-
-/* Unicode encoding error handling callback registry API */
-
-/* Register the error handling callback function error under the given
-   name. This function will be called by the codec when it encounters
-   unencodable characters/undecodable bytes and doesn't know the
-   callback name, when name is specified as the error parameter
-   in the call to the encode/decode function.
-   Return 0 on success, -1 on error */
-PyAPI_FUNC(int) PyCodec_RegisterError(const char *name, PyObject *error);
-
-/* Lookup the error handling callback function registered under the given
-   name. As a special case NULL can be passed, in which case
-   the error handling callback for "strict" will be returned. */
-PyAPI_FUNC(PyObject *) PyCodec_LookupError(const char *name);
-
-/* raise exc as an exception */
-PyAPI_FUNC(PyObject *) PyCodec_StrictErrors(PyObject *exc);
-
-/* ignore the unicode error, skipping the faulty input */
-PyAPI_FUNC(PyObject *) PyCodec_IgnoreErrors(PyObject *exc);
-
-/* replace the unicode encode error with ? or U+FFFD */
-PyAPI_FUNC(PyObject *) PyCodec_ReplaceErrors(PyObject *exc);
-
-/* replace the unicode encode error with XML character references */
-PyAPI_FUNC(PyObject *) PyCodec_XMLCharRefReplaceErrors(PyObject *exc);
-
-/* replace the unicode encode error with backslash escapes (\x, \u and \U) */
-PyAPI_FUNC(PyObject *) PyCodec_BackslashReplaceErrors(PyObject *exc);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CODECREGISTRY_H */

+ 0 - 40
esp8266/eproj1/eproj1Venv/include/python2.7/compile.h

@@ -1,40 +0,0 @@
-
-#ifndef Py_COMPILE_H
-#define Py_COMPILE_H
-
-#include "code.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Public interface */
-struct _node; /* Declare the existence of this type */
-PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *);
-
-/* Future feature support */
-
-typedef struct {
-    int ff_features;      /* flags set by future statements */
-    int ff_lineno;        /* line number of last future statement */
-} PyFutureFeatures;
-
-#define FUTURE_NESTED_SCOPES "nested_scopes"
-#define FUTURE_GENERATORS "generators"
-#define FUTURE_DIVISION "division"
-#define FUTURE_ABSOLUTE_IMPORT "absolute_import"
-#define FUTURE_WITH_STATEMENT "with_statement"
-#define FUTURE_PRINT_FUNCTION "print_function"
-#define FUTURE_UNICODE_LITERALS "unicode_literals"
-
-
-struct _mod; /* Declare the existence of this type */
-PyAPI_FUNC(PyCodeObject *) PyAST_Compile(struct _mod *, const char *,
-					PyCompilerFlags *, PyArena *);
-PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COMPILE_H */

+ 0 - 66
esp8266/eproj1/eproj1Venv/include/python2.7/complexobject.h

@@ -1,66 +0,0 @@
-/* Complex number structure */
-
-#ifndef Py_COMPLEXOBJECT_H
-#define Py_COMPLEXOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    double real;
-    double imag;
-} Py_complex;
-
-/* Operations on complex numbers from complexmodule.c */
-
-#define c_sum _Py_c_sum
-#define c_diff _Py_c_diff
-#define c_neg _Py_c_neg
-#define c_prod _Py_c_prod
-#define c_quot _Py_c_quot
-#define c_pow _Py_c_pow
-#define c_abs _Py_c_abs
-
-PyAPI_FUNC(Py_complex) c_sum(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_diff(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_neg(Py_complex);
-PyAPI_FUNC(Py_complex) c_prod(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_quot(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_pow(Py_complex, Py_complex);
-PyAPI_FUNC(double) c_abs(Py_complex);
-
-
-/* Complex object interface */
-
-/*
-PyComplexObject represents a complex number with double-precision
-real and imaginary parts.
-*/
-
-typedef struct {
-    PyObject_HEAD
-    Py_complex cval;
-} PyComplexObject;     
-
-PyAPI_DATA(PyTypeObject) PyComplex_Type;
-
-#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
-#define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type)
-
-PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
-PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
-
-PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
-PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
-PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyComplex_FormatAdvanced(PyObject *obj,
-                                                 char *format_spec,
-                                                 Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COMPLEXOBJECT_H */

+ 0 - 239
esp8266/eproj1/eproj1Venv/include/python2.7/datetime.h

@@ -1,239 +0,0 @@
-/*  datetime.h
- */
-
-#ifndef DATETIME_H
-#define DATETIME_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Fields are packed into successive bytes, each viewed as unsigned and
- * big-endian, unless otherwise noted:
- *
- * byte offset
- *  0           year     2 bytes, 1-9999
- *  2           month    1 byte, 1-12
- *  3           day      1 byte, 1-31
- *  4           hour     1 byte, 0-23
- *  5           minute   1 byte, 0-59
- *  6           second   1 byte, 0-59
- *  7           usecond  3 bytes, 0-999999
- * 10
- */
-
-/* # of bytes for year, month, and day. */
-#define _PyDateTime_DATE_DATASIZE 4
-
-/* # of bytes for hour, minute, second, and usecond. */
-#define _PyDateTime_TIME_DATASIZE 6
-
-/* # of bytes for year, month, day, hour, minute, second, and usecond. */
-#define _PyDateTime_DATETIME_DATASIZE 10
-
-
-typedef struct
-{
-    PyObject_HEAD
-    long hashcode;              /* -1 when unknown */
-    int days;                   /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */
-    int seconds;                /* 0 <= seconds < 24*3600 is invariant */
-    int microseconds;           /* 0 <= microseconds < 1000000 is invariant */
-} PyDateTime_Delta;
-
-typedef struct
-{
-    PyObject_HEAD               /* a pure abstract base class */
-} PyDateTime_TZInfo;
-
-
-/* The datetime and time types have hashcodes, and an optional tzinfo member,
- * present if and only if hastzinfo is true.
- */
-#define _PyTZINFO_HEAD          \
-    PyObject_HEAD               \
-    long hashcode;              \
-    char hastzinfo;             /* boolean flag */
-
-/* No _PyDateTime_BaseTZInfo is allocated; it's just to have something
- * convenient to cast to, when getting at the hastzinfo member of objects
- * starting with _PyTZINFO_HEAD.
- */
-typedef struct
-{
-    _PyTZINFO_HEAD
-} _PyDateTime_BaseTZInfo;
-
-/* All time objects are of PyDateTime_TimeType, but that can be allocated
- * in two ways, with or without a tzinfo member.  Without is the same as
- * tzinfo == None, but consumes less memory.  _PyDateTime_BaseTime is an
- * internal struct used to allocate the right amount of space for the
- * "without" case.
- */
-#define _PyDateTime_TIMEHEAD    \
-    _PyTZINFO_HEAD              \
-    unsigned char data[_PyDateTime_TIME_DATASIZE];
-
-typedef struct
-{
-    _PyDateTime_TIMEHEAD
-} _PyDateTime_BaseTime;         /* hastzinfo false */
-
-typedef struct
-{
-    _PyDateTime_TIMEHEAD
-    PyObject *tzinfo;
-} PyDateTime_Time;              /* hastzinfo true */
-
-
-/* All datetime objects are of PyDateTime_DateTimeType, but that can be
- * allocated in two ways too, just like for time objects above.  In addition,
- * the plain date type is a base class for datetime, so it must also have
- * a hastzinfo member (although it's unused there).
- */
-typedef struct
-{
-    _PyTZINFO_HEAD
-    unsigned char data[_PyDateTime_DATE_DATASIZE];
-} PyDateTime_Date;
-
-#define _PyDateTime_DATETIMEHEAD        \
-    _PyTZINFO_HEAD                      \
-    unsigned char data[_PyDateTime_DATETIME_DATASIZE];
-
-typedef struct
-{
-    _PyDateTime_DATETIMEHEAD
-} _PyDateTime_BaseDateTime;     /* hastzinfo false */
-
-typedef struct
-{
-    _PyDateTime_DATETIMEHEAD
-    PyObject *tzinfo;
-} PyDateTime_DateTime;          /* hastzinfo true */
-
-
-/* Apply for date and datetime instances. */
-#define PyDateTime_GET_YEAR(o)     ((((PyDateTime_Date*)o)->data[0] << 8) | \
-                     ((PyDateTime_Date*)o)->data[1])
-#define PyDateTime_GET_MONTH(o)    (((PyDateTime_Date*)o)->data[2])
-#define PyDateTime_GET_DAY(o)      (((PyDateTime_Date*)o)->data[3])
-
-#define PyDateTime_DATE_GET_HOUR(o)        (((PyDateTime_DateTime*)o)->data[4])
-#define PyDateTime_DATE_GET_MINUTE(o)      (((PyDateTime_DateTime*)o)->data[5])
-#define PyDateTime_DATE_GET_SECOND(o)      (((PyDateTime_DateTime*)o)->data[6])
-#define PyDateTime_DATE_GET_MICROSECOND(o)              \
-    ((((PyDateTime_DateTime*)o)->data[7] << 16) |       \
-     (((PyDateTime_DateTime*)o)->data[8] << 8)  |       \
-      ((PyDateTime_DateTime*)o)->data[9])
-
-/* Apply for time instances. */
-#define PyDateTime_TIME_GET_HOUR(o)        (((PyDateTime_Time*)o)->data[0])
-#define PyDateTime_TIME_GET_MINUTE(o)      (((PyDateTime_Time*)o)->data[1])
-#define PyDateTime_TIME_GET_SECOND(o)      (((PyDateTime_Time*)o)->data[2])
-#define PyDateTime_TIME_GET_MICROSECOND(o)              \
-    ((((PyDateTime_Time*)o)->data[3] << 16) |           \
-     (((PyDateTime_Time*)o)->data[4] << 8)  |           \
-      ((PyDateTime_Time*)o)->data[5])
-
-
-/* Define structure for C API. */
-typedef struct {
-    /* type objects */
-    PyTypeObject *DateType;
-    PyTypeObject *DateTimeType;
-    PyTypeObject *TimeType;
-    PyTypeObject *DeltaType;
-    PyTypeObject *TZInfoType;
-
-    /* constructors */
-    PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*);
-    PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int,
-        PyObject*, PyTypeObject*);
-    PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*);
-    PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*);
-
-    /* constructors for the DB API */
-    PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*);
-    PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*);
-
-} PyDateTime_CAPI;
-
-#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI"
-
-
-/* "magic" constant used to partially protect against developer mistakes. */
-#define DATETIME_API_MAGIC 0x414548d5
-
-#ifdef Py_BUILD_CORE
-
-/* Macros for type checking when building the Python core. */
-#define PyDate_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateType)
-#define PyDate_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateType)
-
-#define PyDateTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeType)
-#define PyDateTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateTimeType)
-
-#define PyTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeType)
-#define PyTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TimeType)
-
-#define PyDelta_Check(op) PyObject_TypeCheck(op, &PyDateTime_DeltaType)
-#define PyDelta_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DeltaType)
-
-#define PyTZInfo_Check(op) PyObject_TypeCheck(op, &PyDateTime_TZInfoType)
-#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TZInfoType)
-
-#else
-
-/* Define global variable for the C API and a macro for setting it. */
-static PyDateTime_CAPI *PyDateTimeAPI = NULL;
-
-#define PyDateTime_IMPORT \
-    PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0)
-
-/* Macros for type checking when not building the Python core. */
-#define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType)
-#define PyDate_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateType)
-
-#define PyDateTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType)
-#define PyDateTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateTimeType)
-
-#define PyTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType)
-#define PyTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TimeType)
-
-#define PyDelta_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType)
-#define PyDelta_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DeltaType)
-
-#define PyTZInfo_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType)
-#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TZInfoType)
-
-/* Macros for accessing constructors in a simplified fashion. */
-#define PyDate_FromDate(year, month, day) \
-    PyDateTimeAPI->Date_FromDate(year, month, day, PyDateTimeAPI->DateType)
-
-#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \
-    PyDateTimeAPI->DateTime_FromDateAndTime(year, month, day, hour, \
-        min, sec, usec, Py_None, PyDateTimeAPI->DateTimeType)
-
-#define PyTime_FromTime(hour, minute, second, usecond) \
-    PyDateTimeAPI->Time_FromTime(hour, minute, second, usecond, \
-        Py_None, PyDateTimeAPI->TimeType)
-
-#define PyDelta_FromDSU(days, seconds, useconds) \
-    PyDateTimeAPI->Delta_FromDelta(days, seconds, useconds, 1, \
-        PyDateTimeAPI->DeltaType)
-
-/* Macros supporting the DB API. */
-#define PyDateTime_FromTimestamp(args) \
-    PyDateTimeAPI->DateTime_FromTimestamp( \
-        (PyObject*) (PyDateTimeAPI->DateTimeType), args, NULL)
-
-#define PyDate_FromTimestamp(args) \
-    PyDateTimeAPI->Date_FromTimestamp( \
-        (PyObject*) (PyDateTimeAPI->DateType), args)
-
-#endif  /* Py_BUILD_CORE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 94
esp8266/eproj1/eproj1Venv/include/python2.7/descrobject.h

@@ -1,94 +0,0 @@
-/* Descriptors */
-#ifndef Py_DESCROBJECT_H
-#define Py_DESCROBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef PyObject *(*getter)(PyObject *, void *);
-typedef int (*setter)(PyObject *, PyObject *, void *);
-
-typedef struct PyGetSetDef {
-    char *name;
-    getter get;
-    setter set;
-    char *doc;
-    void *closure;
-} PyGetSetDef;
-
-typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
-                                 void *wrapped);
-
-typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args,
-                                      void *wrapped, PyObject *kwds);
-
-struct wrapperbase {
-    char *name;
-    int offset;
-    void *function;
-    wrapperfunc wrapper;
-    char *doc;
-    int flags;
-    PyObject *name_strobj;
-};
-
-/* Flags for above struct */
-#define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */
-
-/* Various kinds of descriptor objects */
-
-#define PyDescr_COMMON \
-    PyObject_HEAD \
-    PyTypeObject *d_type; \
-    PyObject *d_name
-
-typedef struct {
-    PyDescr_COMMON;
-} PyDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    PyMethodDef *d_method;
-} PyMethodDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    struct PyMemberDef *d_member;
-} PyMemberDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    PyGetSetDef *d_getset;
-} PyGetSetDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    struct wrapperbase *d_base;
-    void *d_wrapped; /* This can be any function pointer */
-} PyWrapperDescrObject;
-
-PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type;
-PyAPI_DATA(PyTypeObject) PyDictProxy_Type;
-PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type;
-PyAPI_DATA(PyTypeObject) PyMemberDescr_Type;
-
-PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *,
-                                               struct PyMemberDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
-                                               struct PyGetSetDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
-                                                struct wrapperbase *, void *);
-#define PyDescr_IsData(d) (Py_TYPE(d)->tp_descr_set != NULL)
-
-PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *);
-
-
-PyAPI_DATA(PyTypeObject) PyProperty_Type;
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_DESCROBJECT_H */
-

+ 0 - 157
esp8266/eproj1/eproj1Venv/include/python2.7/dictobject.h

@@ -1,157 +0,0 @@
-#ifndef Py_DICTOBJECT_H
-#define Py_DICTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Dictionary object type -- mapping from hashable object to object */
-
-/* The distribution includes a separate file, Objects/dictnotes.txt,
-   describing explorations into dictionary design and optimization.
-   It covers typical dictionary use patterns, the parameters for
-   tuning dictionaries, and several ideas for possible optimizations.
-*/
-
-/*
-There are three kinds of slots in the table:
-
-1. Unused.  me_key == me_value == NULL
-   Does not hold an active (key, value) pair now and never did.  Unused can
-   transition to Active upon key insertion.  This is the only case in which
-   me_key is NULL, and is each slot's initial state.
-
-2. Active.  me_key != NULL and me_key != dummy and me_value != NULL
-   Holds an active (key, value) pair.  Active can transition to Dummy upon
-   key deletion.  This is the only case in which me_value != NULL.
-
-3. Dummy.  me_key == dummy and me_value == NULL
-   Previously held an active (key, value) pair, but that was deleted and an
-   active pair has not yet overwritten the slot.  Dummy can transition to
-   Active upon key insertion.  Dummy slots cannot be made Unused again
-   (cannot have me_key set to NULL), else the probe sequence in case of
-   collision would have no way to know they were once active.
-
-Note: .popitem() abuses the me_hash field of an Unused or Dummy slot to
-hold a search finger.  The me_hash field of Unused or Dummy slots has no
-meaning otherwise.
-*/
-
-/* PyDict_MINSIZE is the minimum size of a dictionary.  This many slots are
- * allocated directly in the dict object (in the ma_smalltable member).
- * It must be a power of 2, and at least 4.  8 allows dicts with no more
- * than 5 active entries to live in ma_smalltable (and so avoid an
- * additional malloc); instrumentation suggested this suffices for the
- * majority of dicts (consisting mostly of usually-small instance dicts and
- * usually-small dicts created to pass keyword arguments).
- */
-#define PyDict_MINSIZE 8
-
-typedef struct {
-    /* Cached hash code of me_key.  Note that hash codes are C longs.
-     * We have to use Py_ssize_t instead because dict_popitem() abuses
-     * me_hash to hold a search finger.
-     */
-    Py_ssize_t me_hash;
-    PyObject *me_key;
-    PyObject *me_value;
-} PyDictEntry;
-
-/*
-To ensure the lookup algorithm terminates, there must be at least one Unused
-slot (NULL key) in the table.
-The value ma_fill is the number of non-NULL keys (sum of Active and Dummy);
-ma_used is the number of non-NULL, non-dummy keys (== the number of non-NULL
-values == the number of Active items).
-To avoid slowing down lookups on a near-full table, we resize the table when
-it's two-thirds full.
-*/
-typedef struct _dictobject PyDictObject;
-struct _dictobject {
-    PyObject_HEAD
-    Py_ssize_t ma_fill;  /* # Active + # Dummy */
-    Py_ssize_t ma_used;  /* # Active */
-
-    /* The table contains ma_mask + 1 slots, and that's a power of 2.
-     * We store the mask instead of the size because the mask is more
-     * frequently needed.
-     */
-    Py_ssize_t ma_mask;
-
-    /* ma_table points to ma_smalltable for small tables, else to
-     * additional malloc'ed memory.  ma_table is never NULL!  This rule
-     * saves repeated runtime null-tests in the workhorse getitem and
-     * setitem calls.
-     */
-    PyDictEntry *ma_table;
-    PyDictEntry *(*ma_lookup)(PyDictObject *mp, PyObject *key, long hash);
-    PyDictEntry ma_smalltable[PyDict_MINSIZE];
-};
-
-PyAPI_DATA(PyTypeObject) PyDict_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterKey_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterValue_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterItem_Type;
-PyAPI_DATA(PyTypeObject) PyDictKeys_Type;
-PyAPI_DATA(PyTypeObject) PyDictItems_Type;
-PyAPI_DATA(PyTypeObject) PyDictValues_Type;
-
-#define PyDict_Check(op) \
-                 PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS)
-#define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
-#define PyDictKeys_Check(op) (Py_TYPE(op) == &PyDictKeys_Type)
-#define PyDictItems_Check(op) (Py_TYPE(op) == &PyDictItems_Type)
-#define PyDictValues_Check(op) (Py_TYPE(op) == &PyDictValues_Type)
-/* This excludes Values, since they are not sets. */
-# define PyDictViewSet_Check(op) \
-    (PyDictKeys_Check(op) || PyDictItems_Check(op))
-
-PyAPI_FUNC(PyObject *) PyDict_New(void);
-PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
-PyAPI_FUNC(PyObject *) _PyDict_GetItemWithError(PyObject *mp, PyObject *key);
-PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
-PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key);
-PyAPI_FUNC(void) PyDict_Clear(PyObject *mp);
-PyAPI_FUNC(int) PyDict_Next(
-    PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value);
-PyAPI_FUNC(int) _PyDict_Next(
-    PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, long *hash);
-PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp);
-PyAPI_FUNC(Py_ssize_t) PyDict_Size(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp);
-PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key);
-PyAPI_FUNC(int) _PyDict_Contains(PyObject *mp, PyObject *key, long hash);
-PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused);
-PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp);
-
-/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
-PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other);
-
-/* PyDict_Merge updates/merges from a mapping object (an object that
-   supports PyMapping_Keys() and PyObject_GetItem()).  If override is true,
-   the last occurrence of a key wins, else the first.  The Python
-   dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
-*/
-PyAPI_FUNC(int) PyDict_Merge(PyObject *mp,
-                                   PyObject *other,
-                                   int override);
-
-/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing
-   iterable objects of length 2.  If override is true, the last occurrence
-   of a key wins, else the first.  The Python dict constructor dict(seq2)
-   is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
-*/
-PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d,
-                                           PyObject *seq2,
-                                           int override);
-
-PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key);
-PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item);
-PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_DICTOBJECT_H */

+ 0 - 15
esp8266/eproj1/eproj1Venv/include/python2.7/dtoa.h

@@ -1,15 +0,0 @@
-#ifndef PY_NO_SHORT_FLOAT_REPR
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr);
-PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits,
-                        int *decpt, int *sign, char **rve);
-PyAPI_FUNC(void) _Py_dg_freedtoa(char *s);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 17
esp8266/eproj1/eproj1Venv/include/python2.7/enumobject.h

@@ -1,17 +0,0 @@
-#ifndef Py_ENUMOBJECT_H
-#define Py_ENUMOBJECT_H
-
-/* Enumerate Object */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyEnum_Type;
-PyAPI_DATA(PyTypeObject) PyReversed_Type;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_ENUMOBJECT_H */

+ 0 - 36
esp8266/eproj1/eproj1Venv/include/python2.7/errcode.h

@@ -1,36 +0,0 @@
-#ifndef Py_ERRCODE_H
-#define Py_ERRCODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Error codes passed around between file input, tokenizer, parser and
-   interpreter.  This is necessary so we can turn them into Python
-   exceptions at a higher level.  Note that some errors have a
-   slightly different meaning when passed from the tokenizer to the
-   parser than when passed from the parser to the interpreter; e.g.
-   the parser only returns E_EOF when it hits EOF immediately, and it
-   never returns E_OK. */
-
-#define E_OK		10	/* No error */
-#define E_EOF		11	/* End Of File */
-#define E_INTR		12	/* Interrupted */
-#define E_TOKEN		13	/* Bad token */
-#define E_SYNTAX	14	/* Syntax error */
-#define E_NOMEM		15	/* Ran out of memory */
-#define E_DONE		16	/* Parsing complete */
-#define E_ERROR		17	/* Execution error */
-#define E_TABSPACE	18	/* Inconsistent mixing of tabs and spaces */
-#define E_OVERFLOW      19	/* Node had too many children */
-#define E_TOODEEP	20	/* Too many indentation levels */
-#define E_DEDENT	21	/* No matching outer block for dedent */
-#define E_DECODE	22	/* Error in decoding into Unicode */
-#define E_EOFS		23	/* EOF in triple-quoted string */
-#define E_EOLS		24	/* EOL in single-quoted string */
-#define E_LINECONT	25	/* Unexpected characters after a line continuation */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_ERRCODE_H */

+ 0 - 25
esp8266/eproj1/eproj1Venv/include/python2.7/eval.h

@@ -1,25 +0,0 @@
-
-/* Interface to execute compiled code */
-
-#ifndef Py_EVAL_H
-#define Py_EVAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co,
-					PyObject *globals,
-					PyObject *locals,
-					PyObject **args, int argc,
-					PyObject **kwds, int kwdc,
-					PyObject **defs, int defc,
-					PyObject *closure);
-
-PyAPI_FUNC(PyObject *) _PyEval_CallTracing(PyObject *func, PyObject *args);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_EVAL_H */

+ 0 - 97
esp8266/eproj1/eproj1Venv/include/python2.7/fileobject.h

@@ -1,97 +0,0 @@
-
-/* File object interface */
-
-#ifndef Py_FILEOBJECT_H
-#define Py_FILEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    FILE *f_fp;
-    PyObject *f_name;
-    PyObject *f_mode;
-    int (*f_close)(FILE *);
-    int f_softspace;            /* Flag used by 'print' command */
-    int f_binary;               /* Flag which indicates whether the file is
-                               open in binary (1) or text (0) mode */
-    char* f_buf;                /* Allocated readahead buffer */
-    char* f_bufend;             /* Points after last occupied position */
-    char* f_bufptr;             /* Current buffer position */
-    char *f_setbuf;             /* Buffer for setbuf(3) and setvbuf(3) */
-    int f_univ_newline;         /* Handle any newline convention */
-    int f_newlinetypes;         /* Types of newlines seen */
-    int f_skipnextlf;           /* Skip next \n */
-    PyObject *f_encoding;
-    PyObject *f_errors;
-    PyObject *weakreflist; /* List of weak references */
-    int unlocked_count;         /* Num. currently running sections of code
-                               using f_fp with the GIL released. */
-    int readable;
-    int writable;
-} PyFileObject;
-
-PyAPI_DATA(PyTypeObject) PyFile_Type;
-
-#define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
-#define PyFile_CheckExact(op) (Py_TYPE(op) == &PyFile_Type)
-
-PyAPI_FUNC(PyObject *) PyFile_FromString(char *, char *);
-PyAPI_FUNC(void) PyFile_SetBufSize(PyObject *, int);
-PyAPI_FUNC(int) PyFile_SetEncoding(PyObject *, const char *);
-PyAPI_FUNC(int) PyFile_SetEncodingAndErrors(PyObject *, const char *, char *errors);
-PyAPI_FUNC(PyObject *) PyFile_FromFile(FILE *, char *, char *,
-                                             int (*)(FILE *));
-PyAPI_FUNC(FILE *) PyFile_AsFile(PyObject *);
-PyAPI_FUNC(void) PyFile_IncUseCount(PyFileObject *);
-PyAPI_FUNC(void) PyFile_DecUseCount(PyFileObject *);
-PyAPI_FUNC(PyObject *) PyFile_Name(PyObject *);
-PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
-PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
-PyAPI_FUNC(int) PyFile_SoftSpace(PyObject *, int);
-PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
-PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
-
-/* The default encoding used by the platform file system APIs
-   If non-NULL, this is different than the default encoding for strings
-*/
-PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
-
-/* Routines to replace fread() and fgets() which accept any of \r, \n
-   or \r\n as line terminators.
-*/
-#define PY_STDIOTEXTMODE "b"
-char *Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *);
-size_t Py_UniversalNewlineFread(char *, size_t, FILE *, PyObject *);
-
-/* A routine to do sanity checking on the file mode string.  returns
-   non-zero on if an exception occurred
-*/
-int _PyFile_SanitizeMode(char *mode);
-
-#if defined _MSC_VER && _MSC_VER >= 1400
-/* A routine to check if a file descriptor is valid on Windows.  Returns 0
- * and sets errno to EBADF if it isn't.  This is to avoid Assertions
- * from various functions in the Windows CRT beginning with
- * Visual Studio 2005
- */
-int _PyVerify_fd(int fd);
-#elif defined _MSC_VER && _MSC_VER >= 1200
-/* fdopen doesn't set errno EBADF and crashes for large fd on debug build */
-#define _PyVerify_fd(fd) (_get_osfhandle(fd) >= 0)
-#else
-#define _PyVerify_fd(A) (1) /* dummy */
-#endif
-
-/* A routine to check if a file descriptor can be select()-ed. */
-#ifdef HAVE_SELECT
- #define _PyIsSelectable_fd(FD) (((FD) >= 0) && ((FD) < FD_SETSIZE))
-#else
- #define _PyIsSelectable_fd(FD) (1)
-#endif /* HAVE_SELECT */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FILEOBJECT_H */

+ 0 - 140
esp8266/eproj1/eproj1Venv/include/python2.7/floatobject.h

@@ -1,140 +0,0 @@
-
-/* Float object interface */
-
-/*
-PyFloatObject represents a (double precision) floating point number.
-*/
-
-#ifndef Py_FLOATOBJECT_H
-#define Py_FLOATOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    double ob_fval;
-} PyFloatObject;
-
-PyAPI_DATA(PyTypeObject) PyFloat_Type;
-
-#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
-#define PyFloat_CheckExact(op) (Py_TYPE(op) == &PyFloat_Type)
-
-/* The str() precision PyFloat_STR_PRECISION is chosen so that in most cases,
-   the rounding noise created by various operations is suppressed, while
-   giving plenty of precision for practical use. */
-
-#define PyFloat_STR_PRECISION 12
-
-#ifdef Py_NAN
-#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
-#endif
-
-#define Py_RETURN_INF(sign) do					\
-	if (copysign(1., sign) == 1.) {				\
-		return PyFloat_FromDouble(Py_HUGE_VAL);	\
-	} else {						\
-		return PyFloat_FromDouble(-Py_HUGE_VAL);	\
-	} while(0)
-
-PyAPI_FUNC(double) PyFloat_GetMax(void);
-PyAPI_FUNC(double) PyFloat_GetMin(void);
-PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void);
-
-/* Return Python float from string PyObject.  Second argument ignored on
-   input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
-   purpose once but can't be made to work as intended). */
-PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
-
-/* Return Python float from C double. */
-PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
-
-/* Extract C double from Python float.  The macro version trades safety for
-   speed. */
-PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *);
-#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
-
-/* Write repr(v) into the char buffer argument, followed by null byte.  The
-   buffer must be "big enough"; >= 100 is very safe.
-   PyFloat_AsReprString(buf, x) strives to print enough digits so that
-   PyFloat_FromString(buf) then reproduces x exactly. */
-PyAPI_FUNC(void) PyFloat_AsReprString(char*, PyFloatObject *v);
-
-/* Write str(v) into the char buffer argument, followed by null byte.  The
-   buffer must be "big enough"; >= 100 is very safe.  Note that it's
-   unusual to be able to get back the float you started with from
-   PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
-   preserve precision across conversions. */
-PyAPI_FUNC(void) PyFloat_AsString(char*, PyFloatObject *v);
-
-/* _PyFloat_{Pack,Unpack}{4,8}
- *
- * The struct and pickle (at least) modules need an efficient platform-
- * independent way to store floating-point values as byte strings.
- * The Pack routines produce a string from a C double, and the Unpack
- * routines produce a C double from such a string.  The suffix (4 or 8)
- * specifies the number of bytes in the string.
- *
- * On platforms that appear to use (see _PyFloat_Init()) IEEE-754 formats
- * these functions work by copying bits.  On other platforms, the formats the
- * 4- byte format is identical to the IEEE-754 single precision format, and
- * the 8-byte format to the IEEE-754 double precision format, although the
- * packing of INFs and NaNs (if such things exist on the platform) isn't
- * handled correctly, and attempting to unpack a string containing an IEEE
- * INF or NaN will raise an exception.
- *
- * On non-IEEE platforms with more precision, or larger dynamic range, than
- * 754 supports, not all values can be packed; on non-IEEE platforms with less
- * precision, or smaller dynamic range, not all values can be unpacked.  What
- * happens in such cases is partly accidental (alas).
- */
-
-/* The pack routines write 4 or 8 bytes, starting at p.  le is a bool
- * argument, true if you want the string in little-endian format (exponent
- * last, at p+3 or p+7), false if you want big-endian format (exponent
- * first, at p).
- * Return value:  0 if all is OK, -1 if error (and an exception is
- * set, most likely OverflowError).
- * There are two problems on non-IEEE platforms:
- * 1):  What this does is undefined if x is a NaN or infinity.
- * 2):  -0.0 and +0.0 produce the same string.
- */
-PyAPI_FUNC(int) _PyFloat_Pack4(double x, unsigned char *p, int le);
-PyAPI_FUNC(int) _PyFloat_Pack8(double x, unsigned char *p, int le);
-
-/* Used to get the important decimal digits of a double */
-PyAPI_FUNC(int) _PyFloat_Digits(char *buf, double v, int *signum);
-PyAPI_FUNC(void) _PyFloat_DigitsInit(void);
-
-/* The unpack routines read 4 or 8 bytes, starting at p.  le is a bool
- * argument, true if the string is in little-endian format (exponent
- * last, at p+3 or p+7), false if big-endian (exponent first, at p).
- * Return value:  The unpacked double.  On error, this is -1.0 and
- * PyErr_Occurred() is true (and an exception is set, most likely
- * OverflowError).  Note that on a non-IEEE platform this will refuse
- * to unpack a string that represents a NaN or infinity.
- */
-PyAPI_FUNC(double) _PyFloat_Unpack4(const unsigned char *p, int le);
-PyAPI_FUNC(double) _PyFloat_Unpack8(const unsigned char *p, int le);
-
-/* free list api */
-PyAPI_FUNC(int) PyFloat_ClearFreeList(void);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyFloat_FormatAdvanced(PyObject *obj,
-					       char *format_spec,
-					       Py_ssize_t format_spec_len);
-
-/* Round a C double x to the closest multiple of 10**-ndigits.  Returns a
-   Python float on success, or NULL (with an appropriate exception set) on
-   failure.  Used in builtin_round in bltinmodule.c. */
-PyAPI_FUNC(PyObject *) _Py_double_round(double x, int ndigits);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FLOATOBJECT_H */

+ 0 - 89
esp8266/eproj1/eproj1Venv/include/python2.7/frameobject.h

@@ -1,89 +0,0 @@
-
-/* Frame object interface */
-
-#ifndef Py_FRAMEOBJECT_H
-#define Py_FRAMEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    int b_type;			/* what kind of block this is */
-    int b_handler;		/* where to jump to find handler */
-    int b_level;		/* value stack level to pop to */
-} PyTryBlock;
-
-typedef struct _frame {
-    PyObject_VAR_HEAD
-    struct _frame *f_back;	/* previous frame, or NULL */
-    PyCodeObject *f_code;	/* code segment */
-    PyObject *f_builtins;	/* builtin symbol table (PyDictObject) */
-    PyObject *f_globals;	/* global symbol table (PyDictObject) */
-    PyObject *f_locals;		/* local symbol table (any mapping) */
-    PyObject **f_valuestack;	/* points after the last local */
-    /* Next free slot in f_valuestack.  Frame creation sets to f_valuestack.
-       Frame evaluation usually NULLs it, but a frame that yields sets it
-       to the current stack top. */
-    PyObject **f_stacktop;
-    PyObject *f_trace;		/* Trace function */
-
-    /* If an exception is raised in this frame, the next three are used to
-     * record the exception info (if any) originally in the thread state.  See
-     * comments before set_exc_info() -- it's not obvious.
-     * Invariant:  if _type is NULL, then so are _value and _traceback.
-     * Desired invariant:  all three are NULL, or all three are non-NULL.  That
-     * one isn't currently true, but "should be".
-     */
-    PyObject *f_exc_type, *f_exc_value, *f_exc_traceback;
-
-    PyThreadState *f_tstate;
-    int f_lasti;		/* Last instruction if called */
-    /* Call PyFrame_GetLineNumber() instead of reading this field
-       directly.  As of 2.3 f_lineno is only valid when tracing is
-       active (i.e. when f_trace is set).  At other times we use
-       PyCode_Addr2Line to calculate the line from the current
-       bytecode index. */
-    int f_lineno;		/* Current line number */
-    int f_iblock;		/* index in f_blockstack */
-    PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
-    PyObject *f_localsplus[1];	/* locals+stack, dynamically sized */
-} PyFrameObject;
-
-
-/* Standard object interface */
-
-PyAPI_DATA(PyTypeObject) PyFrame_Type;
-
-#define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
-#define PyFrame_IsRestricted(f) \
-	((f)->f_builtins != (f)->f_tstate->interp->builtins)
-
-PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
-                                       PyObject *, PyObject *);
-
-
-/* The rest of the interface is specific for frame objects */
-
-/* Block management functions */
-
-PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
-PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *);
-
-/* Extend the value stack */
-
-PyAPI_FUNC(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);
-
-/* Conversions between "fast locals" and locals in dictionary */
-
-PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
-PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
-
-PyAPI_FUNC(int) PyFrame_ClearFreeList(void);
-
-/* Return the line of code the frame is currently executing. */
-PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FRAMEOBJECT_H */

+ 0 - 76
esp8266/eproj1/eproj1Venv/include/python2.7/funcobject.h

@@ -1,76 +0,0 @@
-
-/* Function object interface */
-
-#ifndef Py_FUNCOBJECT_H
-#define Py_FUNCOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Function objects and code objects should not be confused with each other:
- *
- * Function objects are created by the execution of the 'def' statement.
- * They reference a code object in their func_code attribute, which is a
- * purely syntactic object, i.e. nothing more than a compiled version of some
- * source code lines.  There is one code object per source code "fragment",
- * but each code object can be referenced by zero or many function objects
- * depending only on how many times the 'def' statement in the source was
- * executed so far.
- */
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *func_code;	/* A code object */
-    PyObject *func_globals;	/* A dictionary (other mappings won't do) */
-    PyObject *func_defaults;	/* NULL or a tuple */
-    PyObject *func_closure;	/* NULL or a tuple of cell objects */
-    PyObject *func_doc;		/* The __doc__ attribute, can be anything */
-    PyObject *func_name;	/* The __name__ attribute, a string object */
-    PyObject *func_dict;	/* The __dict__ attribute, a dict or NULL */
-    PyObject *func_weakreflist;	/* List of weak references */
-    PyObject *func_module;	/* The __module__ attribute, can be anything */
-
-    /* Invariant:
-     *     func_closure contains the bindings for func_code->co_freevars, so
-     *     PyTuple_Size(func_closure) == PyCode_GetNumFree(func_code)
-     *     (func_closure may be NULL if PyCode_GetNumFree(func_code) == 0).
-     */
-} PyFunctionObject;
-
-PyAPI_DATA(PyTypeObject) PyFunction_Type;
-
-#define PyFunction_Check(op) (Py_TYPE(op) == &PyFunction_Type)
-
-PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetCode(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetModule(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *);
-PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *);
-PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyFunction_GET_CODE(func) \
-        (((PyFunctionObject *)func) -> func_code)
-#define PyFunction_GET_GLOBALS(func) \
-	(((PyFunctionObject *)func) -> func_globals)
-#define PyFunction_GET_MODULE(func) \
-	(((PyFunctionObject *)func) -> func_module)
-#define PyFunction_GET_DEFAULTS(func) \
-	(((PyFunctionObject *)func) -> func_defaults)
-#define PyFunction_GET_CLOSURE(func) \
-	(((PyFunctionObject *)func) -> func_closure)
-
-/* The classmethod and staticmethod types lives here, too */
-PyAPI_DATA(PyTypeObject) PyClassMethod_Type;
-PyAPI_DATA(PyTypeObject) PyStaticMethod_Type;
-
-PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FUNCOBJECT_H */

+ 0 - 40
esp8266/eproj1/eproj1Venv/include/python2.7/genobject.h

@@ -1,40 +0,0 @@
-
-/* Generator object interface */
-
-#ifndef Py_GENOBJECT_H
-#define Py_GENOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _frame; /* Avoid including frameobject.h */
-
-typedef struct {
-	PyObject_HEAD
-	/* The gi_ prefix is intended to remind of generator-iterator. */
-
-	/* Note: gi_frame can be NULL if the generator is "finished" */
-	struct _frame *gi_frame;
-
-	/* True if generator is being executed. */
-	int gi_running;
-    
-	/* The code object backing the generator */
-	PyObject *gi_code;
-
-	/* List of weak reference. */
-	PyObject *gi_weakreflist;
-} PyGenObject;
-
-PyAPI_DATA(PyTypeObject) PyGen_Type;
-
-#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type)
-#define PyGen_CheckExact(op) (Py_TYPE(op) == &PyGen_Type)
-
-PyAPI_FUNC(PyObject *) PyGen_New(struct _frame *);
-PyAPI_FUNC(int) PyGen_NeedsFinalizing(PyGenObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_GENOBJECT_H */

+ 0 - 87
esp8266/eproj1/eproj1Venv/include/python2.7/graminit.h

@@ -1,87 +0,0 @@
-/* Generated by Parser/pgen */
-
-#define single_input 256
-#define file_input 257
-#define eval_input 258
-#define decorator 259
-#define decorators 260
-#define decorated 261
-#define funcdef 262
-#define parameters 263
-#define varargslist 264
-#define fpdef 265
-#define fplist 266
-#define stmt 267
-#define simple_stmt 268
-#define small_stmt 269
-#define expr_stmt 270
-#define augassign 271
-#define print_stmt 272
-#define del_stmt 273
-#define pass_stmt 274
-#define flow_stmt 275
-#define break_stmt 276
-#define continue_stmt 277
-#define return_stmt 278
-#define yield_stmt 279
-#define raise_stmt 280
-#define import_stmt 281
-#define import_name 282
-#define import_from 283
-#define import_as_name 284
-#define dotted_as_name 285
-#define import_as_names 286
-#define dotted_as_names 287
-#define dotted_name 288
-#define global_stmt 289
-#define exec_stmt 290
-#define assert_stmt 291
-#define compound_stmt 292
-#define if_stmt 293
-#define while_stmt 294
-#define for_stmt 295
-#define try_stmt 296
-#define with_stmt 297
-#define with_item 298
-#define except_clause 299
-#define suite 300
-#define testlist_safe 301
-#define old_test 302
-#define old_lambdef 303
-#define test 304
-#define or_test 305
-#define and_test 306
-#define not_test 307
-#define comparison 308
-#define comp_op 309
-#define expr 310
-#define xor_expr 311
-#define and_expr 312
-#define shift_expr 313
-#define arith_expr 314
-#define term 315
-#define factor 316
-#define power 317
-#define atom 318
-#define listmaker 319
-#define testlist_comp 320
-#define lambdef 321
-#define trailer 322
-#define subscriptlist 323
-#define subscript 324
-#define sliceop 325
-#define exprlist 326
-#define testlist 327
-#define dictorsetmaker 328
-#define classdef 329
-#define arglist 330
-#define argument 331
-#define list_iter 332
-#define list_for 333
-#define list_if 334
-#define comp_iter 335
-#define comp_for 336
-#define comp_if 337
-#define testlist1 338
-#define encoding_decl 339
-#define yield_expr 340

+ 0 - 93
esp8266/eproj1/eproj1Venv/include/python2.7/grammar.h

@@ -1,93 +0,0 @@
-
-/* Grammar interface */
-
-#ifndef Py_GRAMMAR_H
-#define Py_GRAMMAR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bitset.h" /* Sigh... */
-
-/* A label of an arc */
-
-typedef struct {
-    int		 lb_type;
-    char	*lb_str;
-} label;
-
-#define EMPTY 0		/* Label number 0 is by definition the empty label */
-
-/* A list of labels */
-
-typedef struct {
-    int		 ll_nlabels;
-    label	*ll_label;
-} labellist;
-
-/* An arc from one state to another */
-
-typedef struct {
-    short	a_lbl;		/* Label of this arc */
-    short	a_arrow;	/* State where this arc goes to */
-} arc;
-
-/* A state in a DFA */
-
-typedef struct {
-    int		 s_narcs;
-    arc		*s_arc;		/* Array of arcs */
-	
-    /* Optional accelerators */
-    int		 s_lower;	/* Lowest label index */
-    int		 s_upper;	/* Highest label index */
-    int		*s_accel;	/* Accelerator */
-    int		 s_accept;	/* Nonzero for accepting state */
-} state;
-
-/* A DFA */
-
-typedef struct {
-    int		 d_type;	/* Non-terminal this represents */
-    char	*d_name;	/* For printing */
-    int		 d_initial;	/* Initial state */
-    int		 d_nstates;
-    state	*d_state;	/* Array of states */
-    bitset	 d_first;
-} dfa;
-
-/* A grammar */
-
-typedef struct {
-    int		 g_ndfas;
-    dfa		*g_dfa;		/* Array of DFAs */
-    labellist	 g_ll;
-    int		 g_start;	/* Start symbol of the grammar */
-    int		 g_accel;	/* Set if accelerators present */
-} grammar;
-
-/* FUNCTIONS */
-
-grammar *newgrammar(int start);
-dfa *adddfa(grammar *g, int type, char *name);
-int addstate(dfa *d);
-void addarc(dfa *d, int from, int to, int lbl);
-dfa *PyGrammar_FindDFA(grammar *g, int type);
-
-int addlabel(labellist *ll, int type, char *str);
-int findlabel(labellist *ll, int type, char *str);
-char *PyGrammar_LabelRepr(label *lb);
-void translatelabels(grammar *g);
-
-void addfirstsets(grammar *g);
-
-void PyGrammar_AddAccelerators(grammar *g);
-void PyGrammar_RemoveAccelerators(grammar *);
-
-void printgrammar(grammar *g, FILE *fp);
-void printnonterminals(grammar *g, FILE *fp);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_GRAMMAR_H */

+ 0 - 71
esp8266/eproj1/eproj1Venv/include/python2.7/import.h

@@ -1,71 +0,0 @@
-
-/* Module definition and import interface */
-
-#ifndef Py_IMPORT_H
-#define Py_IMPORT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(long) PyImport_GetMagicNumber(void);
-PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co);
-PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx(
-	char *name, PyObject *co, char *pathname);
-PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void);
-PyAPI_FUNC(PyObject *) PyImport_AddModule(const char *name);
-PyAPI_FUNC(PyObject *) PyImport_ImportModule(const char *name);
-PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock(const char *);
-PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel(char *name,
-	PyObject *globals, PyObject *locals, PyObject *fromlist, int level);
-
-#define PyImport_ImportModuleEx(n, g, l, f) \
-	PyImport_ImportModuleLevel(n, g, l, f, -1)
-
-PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path);
-PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name);
-PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m);
-PyAPI_FUNC(void) PyImport_Cleanup(void);
-PyAPI_FUNC(int) PyImport_ImportFrozenModule(char *);
-
-#ifdef WITH_THREAD
-PyAPI_FUNC(void) _PyImport_AcquireLock(void);
-PyAPI_FUNC(int) _PyImport_ReleaseLock(void);
-#else
-#define _PyImport_AcquireLock()
-#define _PyImport_ReleaseLock() 1
-#endif
-
-PyAPI_FUNC(struct filedescr *) _PyImport_FindModule(
-	const char *, PyObject *, char *, size_t, FILE **, PyObject **);
-PyAPI_FUNC(int) _PyImport_IsScript(struct filedescr *);
-PyAPI_FUNC(void) _PyImport_ReInitLock(void);
-
-PyAPI_FUNC(PyObject *) _PyImport_FindExtension(char *, char *);
-PyAPI_FUNC(PyObject *) _PyImport_FixupExtension(char *, char *);
-
-struct _inittab {
-    char *name;
-    void (*initfunc)(void);
-};
-
-PyAPI_DATA(PyTypeObject) PyNullImporter_Type;
-PyAPI_DATA(struct _inittab *) PyImport_Inittab;
-
-PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, void (*initfunc)(void));
-PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab);
-
-struct _frozen {
-    char *name;
-    unsigned char *code;
-    int size;
-};
-
-/* Embedding apps may change this pointer to point to their favorite
-   collection of frozen modules: */
-
-PyAPI_DATA(struct _frozen *) PyImport_FrozenModules;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_IMPORT_H */

+ 0 - 81
esp8266/eproj1/eproj1Venv/include/python2.7/intobject.h

@@ -1,81 +0,0 @@
-
-/* Integer object interface */
-
-/*
-PyIntObject represents a (long) integer.  This is an immutable object;
-an integer cannot change its value after creation.
-
-There are functions to create new integer objects, to test an object
-for integer-ness, and to get the integer value.  The latter functions
-returns -1 and sets errno to EBADF if the object is not an PyIntObject.
-None of the functions should be applied to nil objects.
-
-The type PyIntObject is (unfortunately) exposed here so we can declare
-_Py_TrueStruct and _Py_ZeroStruct in boolobject.h; don't use this.
-*/
-
-#ifndef Py_INTOBJECT_H
-#define Py_INTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    long ob_ival;
-} PyIntObject;
-
-PyAPI_DATA(PyTypeObject) PyInt_Type;
-
-#define PyInt_Check(op) \
-		 PyType_FastSubclass((op)->ob_type, Py_TPFLAGS_INT_SUBCLASS)
-#define PyInt_CheckExact(op) ((op)->ob_type == &PyInt_Type)
-
-PyAPI_FUNC(PyObject *) PyInt_FromString(char*, char**, int);
-#ifdef Py_USING_UNICODE
-PyAPI_FUNC(PyObject *) PyInt_FromUnicode(Py_UNICODE*, Py_ssize_t, int);
-#endif
-PyAPI_FUNC(PyObject *) PyInt_FromLong(long);
-PyAPI_FUNC(PyObject *) PyInt_FromSize_t(size_t);
-PyAPI_FUNC(PyObject *) PyInt_FromSsize_t(Py_ssize_t);
-PyAPI_FUNC(long) PyInt_AsLong(PyObject *);
-PyAPI_FUNC(Py_ssize_t) PyInt_AsSsize_t(PyObject *);
-PyAPI_FUNC(int) _PyInt_AsInt(PyObject *);
-PyAPI_FUNC(unsigned long) PyInt_AsUnsignedLongMask(PyObject *);
-#ifdef HAVE_LONG_LONG
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyInt_AsUnsignedLongLongMask(PyObject *);
-#endif
-
-PyAPI_FUNC(long) PyInt_GetMax(void);
-
-/* Macro, trading safety for speed */
-#define PyInt_AS_LONG(op) (((PyIntObject *)(op))->ob_ival)
-
-/* These aren't really part of the Int object, but they're handy; the protos
- * are necessary for systems that need the magic of PyAPI_FUNC and that want
- * to have stropmodule as a dynamically loaded module instead of building it
- * into the main Python shared library/DLL.  Guido thinks I'm weird for
- * building it this way.  :-)  [cjh]
- */
-PyAPI_FUNC(unsigned long) PyOS_strtoul(char *, char **, int);
-PyAPI_FUNC(long) PyOS_strtol(char *, char **, int);
-
-/* free list api */
-PyAPI_FUNC(int) PyInt_ClearFreeList(void);
-
-/* Convert an integer to the given base.  Returns a string.
-   If base is 2, 8 or 16, add the proper prefix '0b', '0o' or '0x'.
-   If newstyle is zero, then use the pre-2.6 behavior of octal having
-   a leading "0" */
-PyAPI_FUNC(PyObject*) _PyInt_Format(PyIntObject* v, int base, int newstyle);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyInt_FormatAdvanced(PyObject *obj,
-					     char *format_spec,
-					     Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_INTOBJECT_H */

+ 0 - 15
esp8266/eproj1/eproj1Venv/include/python2.7/intrcheck.h

@@ -1,15 +0,0 @@
-
-#ifndef Py_INTRCHECK_H
-#define Py_INTRCHECK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
-PyAPI_FUNC(void) PyOS_InitInterrupts(void);
-PyAPI_FUNC(void) PyOS_AfterFork(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_INTRCHECK_H */

+ 0 - 23
esp8266/eproj1/eproj1Venv/include/python2.7/iterobject.h

@@ -1,23 +0,0 @@
-#ifndef Py_ITEROBJECT_H
-#define Py_ITEROBJECT_H
-/* Iterators (the basic kind, over a sequence) */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PySeqIter_Type;
-
-#define PySeqIter_Check(op) (Py_TYPE(op) == &PySeqIter_Type)
-
-PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *);
-
-PyAPI_DATA(PyTypeObject) PyCallIter_Type;
-
-#define PyCallIter_Check(op) (Py_TYPE(op) == &PyCallIter_Type)
-
-PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *);
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_ITEROBJECT_H */
-

+ 0 - 68
esp8266/eproj1/eproj1Venv/include/python2.7/listobject.h

@@ -1,68 +0,0 @@
-
-/* List object interface */
-
-/*
-Another generally useful object type is a list of object pointers.
-This is a mutable type: the list items can be changed, and items can be
-added or removed.  Out-of-range indices or non-list objects are ignored.
-
-*** WARNING *** PyList_SetItem does not increment the new item's reference
-count, but does decrement the reference count of the item it replaces,
-if not nil.  It does *decrement* the reference count if it is *not*
-inserted in the list.  Similarly, PyList_GetItem does not increment the
-returned item's reference count.
-*/
-
-#ifndef Py_LISTOBJECT_H
-#define Py_LISTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_VAR_HEAD
-    /* Vector of pointers to list elements.  list[0] is ob_item[0], etc. */
-    PyObject **ob_item;
-
-    /* ob_item contains space for 'allocated' elements.  The number
-     * currently in use is ob_size.
-     * Invariants:
-     *     0 <= ob_size <= allocated
-     *     len(list) == ob_size
-     *     ob_item == NULL implies ob_size == allocated == 0
-     * list.sort() temporarily sets allocated to -1 to detect mutations.
-     *
-     * Items must normally not be NULL, except during construction when
-     * the list is not yet visible outside the function that builds it.
-     */
-    Py_ssize_t allocated;
-} PyListObject;
-
-PyAPI_DATA(PyTypeObject) PyList_Type;
-
-#define PyList_Check(op) \
-    PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS)
-#define PyList_CheckExact(op) (Py_TYPE(op) == &PyList_Type)
-
-PyAPI_FUNC(PyObject *) PyList_New(Py_ssize_t size);
-PyAPI_FUNC(Py_ssize_t) PyList_Size(PyObject *);
-PyAPI_FUNC(PyObject *) PyList_GetItem(PyObject *, Py_ssize_t);
-PyAPI_FUNC(int) PyList_SetItem(PyObject *, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Insert(PyObject *, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t);
-PyAPI_FUNC(int) PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Sort(PyObject *);
-PyAPI_FUNC(int) PyList_Reverse(PyObject *);
-PyAPI_FUNC(PyObject *) PyList_AsTuple(PyObject *);
-PyAPI_FUNC(PyObject *) _PyList_Extend(PyListObject *, PyObject *);
-
-/* Macro, trading safety for speed */
-#define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i])
-#define PyList_SET_ITEM(op, i, v) (((PyListObject *)(op))->ob_item[i] = (v))
-#define PyList_GET_SIZE(op)    Py_SIZE(op)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LISTOBJECT_H */

+ 0 - 103
esp8266/eproj1/eproj1Venv/include/python2.7/longintrepr.h

@@ -1,103 +0,0 @@
-#ifndef Py_LONGINTREPR_H
-#define Py_LONGINTREPR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* This is published for the benefit of "friend" marshal.c only. */
-
-/* Parameters of the long integer representation.  There are two different
-   sets of parameters: one set for 30-bit digits, stored in an unsigned 32-bit
-   integer type, and one set for 15-bit digits with each digit stored in an
-   unsigned short.  The value of PYLONG_BITS_IN_DIGIT, defined either at
-   configure time or in pyport.h, is used to decide which digit size to use.
-
-   Type 'digit' should be able to hold 2*PyLong_BASE-1, and type 'twodigits'
-   should be an unsigned integer type able to hold all integers up to
-   PyLong_BASE*PyLong_BASE-1.  x_sub assumes that 'digit' is an unsigned type,
-   and that overflow is handled by taking the result modulo 2**N for some N >
-   PyLong_SHIFT.  The majority of the code doesn't care about the precise
-   value of PyLong_SHIFT, but there are some notable exceptions:
-
-   - long_pow() requires that PyLong_SHIFT be divisible by 5
-
-   - PyLong_{As,From}ByteArray require that PyLong_SHIFT be at least 8
-
-   - long_hash() requires that PyLong_SHIFT is *strictly* less than the number
-     of bits in an unsigned long, as do the PyLong <-> long (or unsigned long)
-     conversion functions
-
-   - the long <-> size_t/Py_ssize_t conversion functions expect that
-     PyLong_SHIFT is strictly less than the number of bits in a size_t
-
-   - the marshal code currently expects that PyLong_SHIFT is a multiple of 15
-
-  The values 15 and 30 should fit all of the above requirements, on any
-  platform.
-*/
-
-#if PYLONG_BITS_IN_DIGIT == 30
-#if !(defined HAVE_UINT64_T && defined HAVE_UINT32_T &&          \
-      defined HAVE_INT64_T && defined HAVE_INT32_T)
-#error "30-bit long digits requested, but the necessary types are not available on this platform"
-#endif
-typedef PY_UINT32_T digit;
-typedef PY_INT32_T sdigit; /* signed variant of digit */
-typedef PY_UINT64_T twodigits;
-typedef PY_INT64_T stwodigits; /* signed variant of twodigits */
-#define PyLong_SHIFT	30
-#define _PyLong_DECIMAL_SHIFT	9 /* max(e such that 10**e fits in a digit) */
-#define _PyLong_DECIMAL_BASE	((digit)1000000000) /* 10 ** DECIMAL_SHIFT */
-#elif PYLONG_BITS_IN_DIGIT == 15
-typedef unsigned short digit;
-typedef short sdigit; /* signed variant of digit */
-typedef unsigned long twodigits;
-typedef long stwodigits; /* signed variant of twodigits */
-#define PyLong_SHIFT	15
-#define _PyLong_DECIMAL_SHIFT	4 /* max(e such that 10**e fits in a digit) */
-#define _PyLong_DECIMAL_BASE	((digit)10000) /* 10 ** DECIMAL_SHIFT */
-#else
-#error "PYLONG_BITS_IN_DIGIT should be 15 or 30"
-#endif
-#define PyLong_BASE	((digit)1 << PyLong_SHIFT)
-#define PyLong_MASK	((digit)(PyLong_BASE - 1))
-
-/* b/w compatibility with Python 2.5 */
-#define SHIFT	PyLong_SHIFT
-#define BASE	PyLong_BASE
-#define MASK	PyLong_MASK
-
-#if PyLong_SHIFT % 5 != 0
-#error "longobject.c requires that PyLong_SHIFT be divisible by 5"
-#endif
-
-/* Long integer representation.
-   The absolute value of a number is equal to
-   	SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i)
-   Negative numbers are represented with ob_size < 0;
-   zero is represented by ob_size == 0.
-   In a normalized number, ob_digit[abs(ob_size)-1] (the most significant
-   digit) is never zero.  Also, in all cases, for all valid i,
-   	0 <= ob_digit[i] <= MASK.
-   The allocation function takes care of allocating extra memory
-   so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available.
-
-   CAUTION:  Generic code manipulating subtypes of PyVarObject has to
-   aware that longs abuse  ob_size's sign bit.
-*/
-
-struct _longobject {
-	PyObject_VAR_HEAD
-	digit ob_digit[1];
-};
-
-PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t);
-
-/* Return a copy of src. */
-PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LONGINTREPR_H */

+ 0 - 135
esp8266/eproj1/eproj1Venv/include/python2.7/longobject.h

@@ -1,135 +0,0 @@
-#ifndef Py_LONGOBJECT_H
-#define Py_LONGOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Long (arbitrary precision) integer object interface */
-
-typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
-
-PyAPI_DATA(PyTypeObject) PyLong_Type;
-
-#define PyLong_Check(op) \
-		PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS)
-#define PyLong_CheckExact(op) (Py_TYPE(op) == &PyLong_Type)
-
-PyAPI_FUNC(PyObject *) PyLong_FromLong(long);
-PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long);
-PyAPI_FUNC(PyObject *) PyLong_FromDouble(double);
-PyAPI_FUNC(PyObject *) PyLong_FromSize_t(size_t);
-PyAPI_FUNC(PyObject *) PyLong_FromSsize_t(Py_ssize_t);
-PyAPI_FUNC(long) PyLong_AsLong(PyObject *);
-PyAPI_FUNC(long) PyLong_AsLongAndOverflow(PyObject *, int *);
-PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLong(PyObject *);
-PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLongMask(PyObject *);
-PyAPI_FUNC(Py_ssize_t) PyLong_AsSsize_t(PyObject *);
-PyAPI_FUNC(int) _PyLong_AsInt(PyObject *);
-PyAPI_FUNC(PyObject *) PyLong_GetInfo(void);
-
-/* For use by intobject.c only */
-#define _PyLong_AsSsize_t PyLong_AsSsize_t
-#define _PyLong_FromSize_t PyLong_FromSize_t
-#define _PyLong_FromSsize_t PyLong_FromSsize_t
-PyAPI_DATA(int) _PyLong_DigitValue[256];
-
-/* _PyLong_Frexp returns a double x and an exponent e such that the
-   true value is approximately equal to x * 2**e.  e is >= 0.  x is
-   0.0 if and only if the input is 0 (in which case, e and x are both
-   zeroes); otherwise, 0.5 <= abs(x) < 1.0.  On overflow, which is
-   possible if the number of bits doesn't fit into a Py_ssize_t, sets
-   OverflowError and returns -1.0 for x, 0 for e. */
-PyAPI_FUNC(double) _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e);
-
-PyAPI_FUNC(double) PyLong_AsDouble(PyObject *);
-PyAPI_FUNC(PyObject *) PyLong_FromVoidPtr(void *);
-PyAPI_FUNC(void *) PyLong_AsVoidPtr(PyObject *);
-
-#ifdef HAVE_LONG_LONG
-PyAPI_FUNC(PyObject *) PyLong_FromLongLong(PY_LONG_LONG);
-PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG);
-PyAPI_FUNC(PY_LONG_LONG) PyLong_AsLongLong(PyObject *);
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyLong_AsUnsignedLongLongMask(PyObject *);
-PyAPI_FUNC(PY_LONG_LONG) PyLong_AsLongLongAndOverflow(PyObject *, int *);
-#endif /* HAVE_LONG_LONG */
-
-PyAPI_FUNC(PyObject *) PyLong_FromString(char *, char **, int);
-#ifdef Py_USING_UNICODE
-PyAPI_FUNC(PyObject *) PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int);
-#endif
-
-/* _PyLong_Sign.  Return 0 if v is 0, -1 if v < 0, +1 if v > 0.
-   v must not be NULL, and must be a normalized long.
-   There are no error cases.
-*/
-PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
-
-
-/* _PyLong_NumBits.  Return the number of bits needed to represent the
-   absolute value of a long.  For example, this returns 1 for 1 and -1, 2
-   for 2 and -2, and 2 for 3 and -3.  It returns 0 for 0.
-   v must not be NULL, and must be a normalized long.
-   (size_t)-1 is returned and OverflowError set if the true result doesn't
-   fit in a size_t.
-*/
-PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v);
-
-/* _PyLong_FromByteArray:  View the n unsigned bytes as a binary integer in
-   base 256, and return a Python long with the same numeric value.
-   If n is 0, the integer is 0.  Else:
-   If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB;
-   else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the
-   LSB.
-   If is_signed is 0/false, view the bytes as a non-negative integer.
-   If is_signed is 1/true, view the bytes as a 2's-complement integer,
-   non-negative if bit 0x80 of the MSB is clear, negative if set.
-   Error returns:
-   + Return NULL with the appropriate exception set if there's not
-     enough memory to create the Python long.
-*/
-PyAPI_FUNC(PyObject *) _PyLong_FromByteArray(
-	const unsigned char* bytes, size_t n,
-	int little_endian, int is_signed);
-
-/* _PyLong_AsByteArray: Convert the least-significant 8*n bits of long
-   v to a base-256 integer, stored in array bytes.  Normally return 0,
-   return -1 on error.
-   If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at
-   bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and
-   the LSB at bytes[n-1].
-   If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes
-   are filled and there's nothing special about bit 0x80 of the MSB.
-   If is_signed is 1/true, bytes is filled with the 2's-complement
-   representation of v's value.  Bit 0x80 of the MSB is the sign bit.
-   Error returns (-1):
-   + is_signed is 0 and v < 0.  TypeError is set in this case, and bytes
-     isn't altered.
-   + n isn't big enough to hold the full mathematical value of v.  For
-     example, if is_signed is 0 and there are more digits in the v than
-     fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of
-     being large enough to hold a sign bit.  OverflowError is set in this
-     case, but bytes holds the least-signficant n bytes of the true value.
-*/
-PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
-	unsigned char* bytes, size_t n,
-	int little_endian, int is_signed);
-
-/* _PyLong_Format: Convert the long to a string object with given base,
-   appending a base prefix of 0[box] if base is 2, 8 or 16.
-   Add a trailing "L" if addL is non-zero.
-   If newstyle is zero, then use the pre-2.6 behavior of octal having
-   a leading "0", instead of the prefix "0o" */
-PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *aa, int base, int addL, int newstyle);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyLong_FormatAdvanced(PyObject *obj,
-					      char *format_spec,
-					      Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LONGOBJECT_H */

+ 0 - 25
esp8266/eproj1/eproj1Venv/include/python2.7/marshal.h

@@ -1,25 +0,0 @@
-
-/* Interface for marshal.c */
-
-#ifndef Py_MARSHAL_H
-#define Py_MARSHAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define Py_MARSHAL_VERSION 2
-
-PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
-PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
-PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int);
-
-PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
-PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(char *, Py_ssize_t);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MARSHAL_H */

+ 0 - 74
esp8266/eproj1/eproj1Venv/include/python2.7/memoryobject.h

@@ -1,74 +0,0 @@
-/* Memory view object. In Python this is available as "memoryview". */
-
-#ifndef Py_MEMORYOBJECT_H
-#define Py_MEMORYOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyMemoryView_Type;
-
-#define PyMemoryView_Check(op) (Py_TYPE(op) == &PyMemoryView_Type)
-
-/* Get a pointer to the underlying Py_buffer of a memoryview object. */
-#define PyMemoryView_GET_BUFFER(op) (&((PyMemoryViewObject *)(op))->view)
-/* Get a pointer to the PyObject from which originates a memoryview object. */
-#define PyMemoryView_GET_BASE(op) (((PyMemoryViewObject *)(op))->view.obj)
-
-
-PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base, 
-						  int buffertype, 
-						  char fort);
-
-    /* Return a contiguous chunk of memory representing the buffer
-       from an object in a memory view object.  If a copy is made then the
-       base object for the memory view will be a *new* bytes object. 
-       
-       Otherwise, the base-object will be the object itself and no 
-       data-copying will be done. 
-
-       The buffertype argument can be PyBUF_READ, PyBUF_WRITE,
-       PyBUF_SHADOW to determine whether the returned buffer
-       should be READONLY, WRITABLE, or set to update the
-       original buffer if a copy must be made.  If buffertype is
-       PyBUF_WRITE and the buffer is not contiguous an error will
-       be raised.  In this circumstance, the user can use
-       PyBUF_SHADOW to ensure that a writable temporary
-       contiguous buffer is returned.  The contents of this
-       contiguous buffer will be copied back into the original
-       object after the memoryview object is deleted as long as
-       the original object is writable and allows setting an
-       exclusive write lock. If this is not allowed by the
-       original object, then a BufferError is raised.
-       
-       If the object is multi-dimensional and if fortran is 'F',
-       the first dimension of the underlying array will vary the
-       fastest in the buffer.  If fortran is 'C', then the last
-       dimension will vary the fastest (C-style contiguous).  If
-       fortran is 'A', then it does not matter and you will get
-       whatever the object decides is more efficient.  
-
-       A new reference is returned that must be DECREF'd when finished.
-    */
-
-PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base);
-
-PyAPI_FUNC(PyObject *) PyMemoryView_FromBuffer(Py_buffer *info);
-    /* create new if bufptr is NULL 
-        will be a new bytesobject in base */
-
-
-/* The struct is declared here so that macros can work, but it shouldn't
-   be considered public. Don't access those fields directly, use the macros
-   and functions instead! */
-typedef struct {
-    PyObject_HEAD
-    PyObject *base;
-    Py_buffer view;
-} PyMemoryViewObject;
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MEMORYOBJECT_H */

+ 0 - 18
esp8266/eproj1/eproj1Venv/include/python2.7/metagrammar.h

@@ -1,18 +0,0 @@
-#ifndef Py_METAGRAMMAR_H
-#define Py_METAGRAMMAR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define MSTART 256
-#define RULE 257
-#define RHS 258
-#define ALT 259
-#define ITEM 260
-#define ATOM 261
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_METAGRAMMAR_H */

+ 0 - 93
esp8266/eproj1/eproj1Venv/include/python2.7/methodobject.h

@@ -1,93 +0,0 @@
-
-/* Method object interface */
-
-#ifndef Py_METHODOBJECT_H
-#define Py_METHODOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This is about the type 'builtin_function_or_method',
-   not Python methods in user-defined classes.  See classobject.h
-   for the latter. */
-
-PyAPI_DATA(PyTypeObject) PyCFunction_Type;
-
-#define PyCFunction_Check(op) (Py_TYPE(op) == &PyCFunction_Type)
-
-typedef PyObject *(*PyCFunction)(PyObject *, PyObject *);
-typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *,
-					     PyObject *);
-typedef PyObject *(*PyNoArgsFunction)(PyObject *);
-
-PyAPI_FUNC(PyCFunction) PyCFunction_GetFunction(PyObject *);
-PyAPI_FUNC(PyObject *) PyCFunction_GetSelf(PyObject *);
-PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyCFunction_GET_FUNCTION(func) \
-        (((PyCFunctionObject *)func) -> m_ml -> ml_meth)
-#define PyCFunction_GET_SELF(func) \
-	(((PyCFunctionObject *)func) -> m_self)
-#define PyCFunction_GET_FLAGS(func) \
-	(((PyCFunctionObject *)func) -> m_ml -> ml_flags)
-PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *);
-
-struct PyMethodDef {
-    const char	*ml_name;	/* The name of the built-in function/method */
-    PyCFunction  ml_meth;	/* The C function that implements it */
-    int		 ml_flags;	/* Combination of METH_xxx flags, which mostly
-				   describe the args expected by the C func */
-    const char	*ml_doc;	/* The __doc__ attribute, or NULL */
-};
-typedef struct PyMethodDef PyMethodDef;
-
-PyAPI_FUNC(PyObject *) Py_FindMethod(PyMethodDef[], PyObject *, const char *);
-
-#define PyCFunction_New(ML, SELF) PyCFunction_NewEx((ML), (SELF), NULL)
-PyAPI_FUNC(PyObject *) PyCFunction_NewEx(PyMethodDef *, PyObject *, 
-					 PyObject *);
-
-/* Flag passed to newmethodobject */
-#define METH_OLDARGS  0x0000
-#define METH_VARARGS  0x0001
-#define METH_KEYWORDS 0x0002
-/* METH_NOARGS and METH_O must not be combined with the flags above. */
-#define METH_NOARGS   0x0004
-#define METH_O        0x0008
-
-/* METH_CLASS and METH_STATIC are a little different; these control
-   the construction of methods for a class.  These cannot be used for
-   functions in modules. */
-#define METH_CLASS    0x0010
-#define METH_STATIC   0x0020
-
-/* METH_COEXIST allows a method to be entered eventhough a slot has
-   already filled the entry.  When defined, the flag allows a separate
-   method, "__contains__" for example, to coexist with a defined 
-   slot like sq_contains. */
-
-#define METH_COEXIST   0x0040
-
-typedef struct PyMethodChain {
-    PyMethodDef *methods;		/* Methods of this type */
-    struct PyMethodChain *link;	/* NULL or base type */
-} PyMethodChain;
-
-PyAPI_FUNC(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *,
-                                            const char *);
-
-typedef struct {
-    PyObject_HEAD
-    PyMethodDef *m_ml; /* Description of the C function to call */
-    PyObject    *m_self; /* Passed as 'self' arg to the C func, can be NULL */
-    PyObject    *m_module; /* The __module__ attribute, can be anything */
-} PyCFunctionObject;
-
-PyAPI_FUNC(int) PyCFunction_ClearFreeList(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_METHODOBJECT_H */

+ 0 - 134
esp8266/eproj1/eproj1Venv/include/python2.7/modsupport.h

@@ -1,134 +0,0 @@
-
-#ifndef Py_MODSUPPORT_H
-#define Py_MODSUPPORT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Module support interface */
-
-#include <stdarg.h>
-
-/* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier
-   to mean Py_ssize_t */
-#ifdef PY_SSIZE_T_CLEAN
-#define PyArg_Parse			_PyArg_Parse_SizeT
-#define PyArg_ParseTuple		_PyArg_ParseTuple_SizeT
-#define PyArg_ParseTupleAndKeywords	_PyArg_ParseTupleAndKeywords_SizeT
-#define PyArg_VaParse			_PyArg_VaParse_SizeT
-#define PyArg_VaParseTupleAndKeywords	_PyArg_VaParseTupleAndKeywords_SizeT
-#define Py_BuildValue			_Py_BuildValue_SizeT
-#define Py_VaBuildValue			_Py_VaBuildValue_SizeT
-#else
-PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list);
-#endif
-
-PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
-PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
-PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
-                                                  const char *, char **, ...);
-PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...);
-PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...);
-PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...);
-PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kw);
-
-PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
-PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
-                                                  const char *, char **, va_list);
-PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list);
-
-PyAPI_FUNC(int) PyModule_AddObject(PyObject *, const char *, PyObject *);
-PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long);
-PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *);
-#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
-#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c)
-
-#define PYTHON_API_VERSION 1013
-#define PYTHON_API_STRING "1013"
-/* The API version is maintained (independently from the Python version)
-   so we can detect mismatches between the interpreter and dynamically
-   loaded modules.  These are diagnosed by an error message but
-   the module is still loaded (because the mismatch can only be tested
-   after loading the module).  The error message is intended to
-   explain the core dump a few seconds later.
-
-   The symbol PYTHON_API_STRING defines the same value as a string
-   literal.  *** PLEASE MAKE SURE THE DEFINITIONS MATCH. ***
-
-   Please add a line or two to the top of this log for each API
-   version change:
-
-   22-Feb-2006  MvL	1013	PEP 353 - long indices for sequence lengths
-
-   19-Aug-2002  GvR	1012	Changes to string object struct for
-   				interning changes, saving 3 bytes.
-
-   17-Jul-2001	GvR	1011	Descr-branch, just to be on the safe side
-
-   25-Jan-2001  FLD     1010    Parameters added to PyCode_New() and
-                                PyFrame_New(); Python 2.1a2
-
-   14-Mar-2000  GvR     1009    Unicode API added
-
-   3-Jan-1999	GvR	1007	Decided to change back!  (Don't reuse 1008!)
-
-   3-Dec-1998	GvR	1008	Python 1.5.2b1
-
-   18-Jan-1997	GvR	1007	string interning and other speedups
-
-   11-Oct-1996	GvR	renamed Py_Ellipses to Py_Ellipsis :-(
-
-   30-Jul-1996	GvR	Slice and ellipses syntax added
-
-   23-Jul-1996	GvR	For 1.4 -- better safe than sorry this time :-)
-
-   7-Nov-1995	GvR	Keyword arguments (should've been done at 1.3 :-( )
-
-   10-Jan-1995	GvR	Renamed globals to new naming scheme
-
-   9-Jan-1995	GvR	Initial version (incompatible with older API)
-*/
-
-#ifdef MS_WINDOWS
-/* Special defines for Windows versions used to live here.  Things
-   have changed, and the "Version" is now in a global string variable.
-   Reason for this is that this for easier branding of a "custom DLL"
-   without actually needing a recompile.  */
-#endif /* MS_WINDOWS */
-
-#if SIZEOF_SIZE_T != SIZEOF_INT
-/* On a 64-bit system, rename the Py_InitModule4 so that 2.4
-   modules cannot get loaded into a 2.5 interpreter */
-#define Py_InitModule4 Py_InitModule4_64
-#endif
-
-#ifdef Py_TRACE_REFS
- /* When we are tracing reference counts, rename Py_InitModule4 so
-    modules compiled with incompatible settings will generate a
-    link-time error. */
- #if SIZEOF_SIZE_T != SIZEOF_INT
- #undef Py_InitModule4
- #define Py_InitModule4 Py_InitModule4TraceRefs_64
- #else
- #define Py_InitModule4 Py_InitModule4TraceRefs
- #endif
-#endif
-
-PyAPI_FUNC(PyObject *) Py_InitModule4(const char *name, PyMethodDef *methods,
-                                      const char *doc, PyObject *self,
-                                      int apiver);
-
-#define Py_InitModule(name, methods) \
-	Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \
-		       PYTHON_API_VERSION)
-
-#define Py_InitModule3(name, methods, doc) \
-	Py_InitModule4(name, methods, doc, (PyObject *)NULL, \
-		       PYTHON_API_VERSION)
-
-PyAPI_DATA(char *) _Py_PackageContext;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MODSUPPORT_H */

+ 0 - 24
esp8266/eproj1/eproj1Venv/include/python2.7/moduleobject.h

@@ -1,24 +0,0 @@
-
-/* Module object interface */
-
-#ifndef Py_MODULEOBJECT_H
-#define Py_MODULEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyModule_Type;
-
-#define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type)
-#define PyModule_CheckExact(op) (Py_TYPE(op) == &PyModule_Type)
-
-PyAPI_FUNC(PyObject *) PyModule_New(const char *);
-PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *);
-PyAPI_FUNC(char *) PyModule_GetName(PyObject *);
-PyAPI_FUNC(char *) PyModule_GetFilename(PyObject *);
-PyAPI_FUNC(void) _PyModule_Clear(PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MODULEOBJECT_H */

+ 0 - 41
esp8266/eproj1/eproj1Venv/include/python2.7/node.h

@@ -1,41 +0,0 @@
-
-/* Parse tree node interface */
-
-#ifndef Py_NODE_H
-#define Py_NODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _node {
-    short		n_type;
-    char		*n_str;
-    int			n_lineno;
-    int			n_col_offset;
-    int			n_nchildren;
-    struct _node	*n_child;
-} node;
-
-PyAPI_FUNC(node *) PyNode_New(int type);
-PyAPI_FUNC(int) PyNode_AddChild(node *n, int type,
-                                      char *str, int lineno, int col_offset);
-PyAPI_FUNC(void) PyNode_Free(node *n);
-PyAPI_FUNC(Py_ssize_t) _PyNode_SizeOf(node *n);
-
-/* Node access functions */
-#define NCH(n)		((n)->n_nchildren)
-	
-#define CHILD(n, i)	(&(n)->n_child[i])
-#define RCHILD(n, i)	(CHILD(n, NCH(n) + i))
-#define TYPE(n)		((n)->n_type)
-#define STR(n)		((n)->n_str)
-
-/* Assert that the type of a node is what we expect */
-#define REQ(n, type) assert(TYPE(n) == (type))
-
-PyAPI_FUNC(void) PyNode_ListTree(node *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_NODE_H */

+ 0 - 1540
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/__multiarray_api.h

@@ -1,1540 +0,0 @@
-
-#if defined(_MULTIARRAYMODULE) || defined(WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE)
-
-typedef struct {
-        PyObject_HEAD
-        npy_bool obval;
-} PyBoolScalarObject;
-
-extern NPY_NO_EXPORT PyTypeObject PyArrayMapIter_Type;
-extern NPY_NO_EXPORT PyTypeObject PyArrayNeighborhoodIter_Type;
-extern NPY_NO_EXPORT PyBoolScalarObject _PyArrayScalar_BoolValues[2];
-
-NPY_NO_EXPORT  unsigned int PyArray_GetNDArrayCVersion \
-       (void);
-extern NPY_NO_EXPORT PyTypeObject PyBigArray_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyArray_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyArrayDescr_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyArrayFlags_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyArrayIter_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyArrayMultiIter_Type;
-
-extern NPY_NO_EXPORT int NPY_NUMUSERTYPES;
-
-extern NPY_NO_EXPORT PyTypeObject PyBoolArrType_Type;
-
-extern NPY_NO_EXPORT PyBoolScalarObject _PyArrayScalar_BoolValues[2];
-
-extern NPY_NO_EXPORT PyTypeObject PyGenericArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyNumberArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyIntegerArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PySignedIntegerArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUnsignedIntegerArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyInexactArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyFloatingArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyComplexFloatingArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyFlexibleArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyCharacterArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyByteArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyShortArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyIntArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyLongArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyLongLongArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUByteArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUShortArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUIntArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyULongArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyULongLongArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyFloatArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyDoubleArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyLongDoubleArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyCFloatArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyCDoubleArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyCLongDoubleArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyObjectArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyStringArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUnicodeArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyVoidArrType_Type;
-
-NPY_NO_EXPORT  int PyArray_SetNumericOps \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_GetNumericOps \
-       (void);
-NPY_NO_EXPORT  int PyArray_INCREF \
-       (PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_XDECREF \
-       (PyArrayObject *);
-NPY_NO_EXPORT  void PyArray_SetStringFunction \
-       (PyObject *, int);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromType \
-       (int);
-NPY_NO_EXPORT  PyObject * PyArray_TypeObjectFromType \
-       (int);
-NPY_NO_EXPORT  char * PyArray_Zero \
-       (PyArrayObject *);
-NPY_NO_EXPORT  char * PyArray_One \
-       (PyArrayObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) PyObject * PyArray_CastToType \
-       (PyArrayObject *, PyArray_Descr *, int);
-NPY_NO_EXPORT  int PyArray_CastTo \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_CastAnyTo \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_CanCastSafely \
-       (int, int);
-NPY_NO_EXPORT  npy_bool PyArray_CanCastTo \
-       (PyArray_Descr *, PyArray_Descr *);
-NPY_NO_EXPORT  int PyArray_ObjectType \
-       (PyObject *, int);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromObject \
-       (PyObject *, PyArray_Descr *);
-NPY_NO_EXPORT  PyArrayObject ** PyArray_ConvertToCommonType \
-       (PyObject *, int *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromScalar \
-       (PyObject *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromTypeObject \
-       (PyObject *);
-NPY_NO_EXPORT  npy_intp PyArray_Size \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Scalar \
-       (void *, PyArray_Descr *, PyObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromScalar \
-       (PyObject *, PyArray_Descr *);
-NPY_NO_EXPORT  void PyArray_ScalarAsCtype \
-       (PyObject *, void *);
-NPY_NO_EXPORT  int PyArray_CastScalarToCtype \
-       (PyObject *, void *, PyArray_Descr *);
-NPY_NO_EXPORT  int PyArray_CastScalarDirect \
-       (PyObject *, PyArray_Descr *, void *, int);
-NPY_NO_EXPORT  PyObject * PyArray_ScalarFromObject \
-       (PyObject *);
-NPY_NO_EXPORT  PyArray_VectorUnaryFunc * PyArray_GetCastFunc \
-       (PyArray_Descr *, int);
-NPY_NO_EXPORT  PyObject * PyArray_FromDims \
-       (int, int *, int);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_FromDimsAndDataAndDescr \
-       (int, int *, PyArray_Descr *, char *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromAny \
-       (PyObject *, PyArray_Descr *, int, int, int, PyObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_EnsureArray \
-       (PyObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_EnsureAnyArray \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_FromFile \
-       (FILE *, PyArray_Descr *, npy_intp, char *);
-NPY_NO_EXPORT  PyObject * PyArray_FromString \
-       (char *, npy_intp, PyArray_Descr *, npy_intp, char *);
-NPY_NO_EXPORT  PyObject * PyArray_FromBuffer \
-       (PyObject *, PyArray_Descr *, npy_intp, npy_intp);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromIter \
-       (PyObject *, PyArray_Descr *, npy_intp);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_Return \
-       (PyArrayObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) PyObject * PyArray_GetField \
-       (PyArrayObject *, PyArray_Descr *, int);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) int PyArray_SetField \
-       (PyArrayObject *, PyArray_Descr *, int, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Byteswap \
-       (PyArrayObject *, npy_bool);
-NPY_NO_EXPORT  PyObject * PyArray_Resize \
-       (PyArrayObject *, PyArray_Dims *, int, NPY_ORDER);
-NPY_NO_EXPORT  int PyArray_MoveInto \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_CopyInto \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_CopyAnyInto \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_CopyObject \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT NPY_GCC_NONNULL(1) PyObject * PyArray_NewCopy \
-       (PyArrayObject *, NPY_ORDER);
-NPY_NO_EXPORT  PyObject * PyArray_ToList \
-       (PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_ToString \
-       (PyArrayObject *, NPY_ORDER);
-NPY_NO_EXPORT  int PyArray_ToFile \
-       (PyArrayObject *, FILE *, char *, char *);
-NPY_NO_EXPORT  int PyArray_Dump \
-       (PyObject *, PyObject *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Dumps \
-       (PyObject *, int);
-NPY_NO_EXPORT  int PyArray_ValidType \
-       (int);
-NPY_NO_EXPORT  void PyArray_UpdateFlags \
-       (PyArrayObject *, int);
-NPY_NO_EXPORT NPY_GCC_NONNULL(1) PyObject * PyArray_New \
-       (PyTypeObject *, int, npy_intp *, int, npy_intp *, void *, int, int, PyObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(1) NPY_GCC_NONNULL(2) PyObject * PyArray_NewFromDescr \
-       (PyTypeObject *, PyArray_Descr *, int, npy_intp *, npy_intp *, void *, int, PyObject *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNew \
-       (PyArray_Descr *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNewFromType \
-       (int);
-NPY_NO_EXPORT  double PyArray_GetPriority \
-       (PyObject *, double);
-NPY_NO_EXPORT  PyObject * PyArray_IterNew \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_MultiIterNew \
-       (int, ...);
-NPY_NO_EXPORT  int PyArray_PyIntAsInt \
-       (PyObject *);
-NPY_NO_EXPORT  npy_intp PyArray_PyIntAsIntp \
-       (PyObject *);
-NPY_NO_EXPORT  int PyArray_Broadcast \
-       (PyArrayMultiIterObject *);
-NPY_NO_EXPORT  void PyArray_FillObjectArray \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT  int PyArray_FillWithScalar \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT  npy_bool PyArray_CheckStrides \
-       (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNewByteorder \
-       (PyArray_Descr *, char);
-NPY_NO_EXPORT  PyObject * PyArray_IterAllButAxis \
-       (PyObject *, int *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_CheckFromAny \
-       (PyObject *, PyArray_Descr *, int, int, int, PyObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromArray \
-       (PyArrayObject *, PyArray_Descr *, int);
-NPY_NO_EXPORT  PyObject * PyArray_FromInterface \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_FromStructInterface \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_FromArrayAttr \
-       (PyObject *, PyArray_Descr *, PyObject *);
-NPY_NO_EXPORT  NPY_SCALARKIND PyArray_ScalarKind \
-       (int, PyArrayObject **);
-NPY_NO_EXPORT  int PyArray_CanCoerceScalar \
-       (int, int, NPY_SCALARKIND);
-NPY_NO_EXPORT  PyObject * PyArray_NewFlagsObject \
-       (PyObject *);
-NPY_NO_EXPORT  npy_bool PyArray_CanCastScalar \
-       (PyTypeObject *, PyTypeObject *);
-NPY_NO_EXPORT  int PyArray_CompareUCS4 \
-       (npy_ucs4 *, npy_ucs4 *, size_t);
-NPY_NO_EXPORT  int PyArray_RemoveSmallest \
-       (PyArrayMultiIterObject *);
-NPY_NO_EXPORT  int PyArray_ElementStrides \
-       (PyObject *);
-NPY_NO_EXPORT  void PyArray_Item_INCREF \
-       (char *, PyArray_Descr *);
-NPY_NO_EXPORT  void PyArray_Item_XDECREF \
-       (char *, PyArray_Descr *);
-NPY_NO_EXPORT  PyObject * PyArray_FieldNames \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Transpose \
-       (PyArrayObject *, PyArray_Dims *);
-NPY_NO_EXPORT  PyObject * PyArray_TakeFrom \
-       (PyArrayObject *, PyObject *, int, PyArrayObject *, NPY_CLIPMODE);
-NPY_NO_EXPORT  PyObject * PyArray_PutTo \
-       (PyArrayObject *, PyObject*, PyObject *, NPY_CLIPMODE);
-NPY_NO_EXPORT  PyObject * PyArray_PutMask \
-       (PyArrayObject *, PyObject*, PyObject*);
-NPY_NO_EXPORT  PyObject * PyArray_Repeat \
-       (PyArrayObject *, PyObject *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Choose \
-       (PyArrayObject *, PyObject *, PyArrayObject *, NPY_CLIPMODE);
-NPY_NO_EXPORT  int PyArray_Sort \
-       (PyArrayObject *, int, NPY_SORTKIND);
-NPY_NO_EXPORT  PyObject * PyArray_ArgSort \
-       (PyArrayObject *, int, NPY_SORTKIND);
-NPY_NO_EXPORT  PyObject * PyArray_SearchSorted \
-       (PyArrayObject *, PyObject *, NPY_SEARCHSIDE, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_ArgMax \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_ArgMin \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Reshape \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Newshape \
-       (PyArrayObject *, PyArray_Dims *, NPY_ORDER);
-NPY_NO_EXPORT  PyObject * PyArray_Squeeze \
-       (PyArrayObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_View \
-       (PyArrayObject *, PyArray_Descr *, PyTypeObject *);
-NPY_NO_EXPORT  PyObject * PyArray_SwapAxes \
-       (PyArrayObject *, int, int);
-NPY_NO_EXPORT  PyObject * PyArray_Max \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Min \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Ptp \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Mean \
-       (PyArrayObject *, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Trace \
-       (PyArrayObject *, int, int, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Diagonal \
-       (PyArrayObject *, int, int, int);
-NPY_NO_EXPORT  PyObject * PyArray_Clip \
-       (PyArrayObject *, PyObject *, PyObject *, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Conjugate \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Nonzero \
-       (PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Std \
-       (PyArrayObject *, int, int, PyArrayObject *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Sum \
-       (PyArrayObject *, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_CumSum \
-       (PyArrayObject *, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Prod \
-       (PyArrayObject *, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_CumProd \
-       (PyArrayObject *, int, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_All \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Any \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Compress \
-       (PyArrayObject *, PyObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Flatten \
-       (PyArrayObject *, NPY_ORDER);
-NPY_NO_EXPORT  PyObject * PyArray_Ravel \
-       (PyArrayObject *, NPY_ORDER);
-NPY_NO_EXPORT  npy_intp PyArray_MultiplyList \
-       (npy_intp *, int);
-NPY_NO_EXPORT  int PyArray_MultiplyIntList \
-       (int *, int);
-NPY_NO_EXPORT  void * PyArray_GetPtr \
-       (PyArrayObject *, npy_intp*);
-NPY_NO_EXPORT  int PyArray_CompareLists \
-       (npy_intp *, npy_intp *, int);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(5) int PyArray_AsCArray \
-       (PyObject **, void *, npy_intp *, int, PyArray_Descr*);
-NPY_NO_EXPORT  int PyArray_As1D \
-       (PyObject **, char **, int *, int);
-NPY_NO_EXPORT  int PyArray_As2D \
-       (PyObject **, char ***, int *, int *, int);
-NPY_NO_EXPORT  int PyArray_Free \
-       (PyObject *, void *);
-NPY_NO_EXPORT  int PyArray_Converter \
-       (PyObject *, PyObject **);
-NPY_NO_EXPORT  int PyArray_IntpFromSequence \
-       (PyObject *, npy_intp *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Concatenate \
-       (PyObject *, int);
-NPY_NO_EXPORT  PyObject * PyArray_InnerProduct \
-       (PyObject *, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_MatrixProduct \
-       (PyObject *, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_CopyAndTranspose \
-       (PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Correlate \
-       (PyObject *, PyObject *, int);
-NPY_NO_EXPORT  int PyArray_TypestrConvert \
-       (int, int);
-NPY_NO_EXPORT  int PyArray_DescrConverter \
-       (PyObject *, PyArray_Descr **);
-NPY_NO_EXPORT  int PyArray_DescrConverter2 \
-       (PyObject *, PyArray_Descr **);
-NPY_NO_EXPORT  int PyArray_IntpConverter \
-       (PyObject *, PyArray_Dims *);
-NPY_NO_EXPORT  int PyArray_BufferConverter \
-       (PyObject *, PyArray_Chunk *);
-NPY_NO_EXPORT  int PyArray_AxisConverter \
-       (PyObject *, int *);
-NPY_NO_EXPORT  int PyArray_BoolConverter \
-       (PyObject *, npy_bool *);
-NPY_NO_EXPORT  int PyArray_ByteorderConverter \
-       (PyObject *, char *);
-NPY_NO_EXPORT  int PyArray_OrderConverter \
-       (PyObject *, NPY_ORDER *);
-NPY_NO_EXPORT  unsigned char PyArray_EquivTypes \
-       (PyArray_Descr *, PyArray_Descr *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_Zeros \
-       (int, npy_intp *, PyArray_Descr *, int);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_Empty \
-       (int, npy_intp *, PyArray_Descr *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Where \
-       (PyObject *, PyObject *, PyObject *);
-NPY_NO_EXPORT  PyObject * PyArray_Arange \
-       (double, double, double, int);
-NPY_NO_EXPORT  PyObject * PyArray_ArangeObj \
-       (PyObject *, PyObject *, PyObject *, PyArray_Descr *);
-NPY_NO_EXPORT  int PyArray_SortkindConverter \
-       (PyObject *, NPY_SORTKIND *);
-NPY_NO_EXPORT  PyObject * PyArray_LexSort \
-       (PyObject *, int);
-NPY_NO_EXPORT  PyObject * PyArray_Round \
-       (PyArrayObject *, int, PyArrayObject *);
-NPY_NO_EXPORT  unsigned char PyArray_EquivTypenums \
-       (int, int);
-NPY_NO_EXPORT  int PyArray_RegisterDataType \
-       (PyArray_Descr *);
-NPY_NO_EXPORT  int PyArray_RegisterCastFunc \
-       (PyArray_Descr *, int, PyArray_VectorUnaryFunc *);
-NPY_NO_EXPORT  int PyArray_RegisterCanCast \
-       (PyArray_Descr *, int, NPY_SCALARKIND);
-NPY_NO_EXPORT  void PyArray_InitArrFuncs \
-       (PyArray_ArrFuncs *);
-NPY_NO_EXPORT  PyObject * PyArray_IntTupleFromIntp \
-       (int, npy_intp *);
-NPY_NO_EXPORT  int PyArray_TypeNumFromName \
-       (char *);
-NPY_NO_EXPORT  int PyArray_ClipmodeConverter \
-       (PyObject *, NPY_CLIPMODE *);
-NPY_NO_EXPORT  int PyArray_OutputConverter \
-       (PyObject *, PyArrayObject **);
-NPY_NO_EXPORT  PyObject * PyArray_BroadcastToShape \
-       (PyObject *, npy_intp *, int);
-NPY_NO_EXPORT  void _PyArray_SigintHandler \
-       (int);
-NPY_NO_EXPORT  void* _PyArray_GetSigintBuf \
-       (void);
-NPY_NO_EXPORT  int PyArray_DescrAlignConverter \
-       (PyObject *, PyArray_Descr **);
-NPY_NO_EXPORT  int PyArray_DescrAlignConverter2 \
-       (PyObject *, PyArray_Descr **);
-NPY_NO_EXPORT  int PyArray_SearchsideConverter \
-       (PyObject *, void *);
-NPY_NO_EXPORT  PyObject * PyArray_CheckAxis \
-       (PyArrayObject *, int *, int);
-NPY_NO_EXPORT  npy_intp PyArray_OverflowMultiplyList \
-       (npy_intp *, int);
-NPY_NO_EXPORT  int PyArray_CompareString \
-       (char *, char *, size_t);
-NPY_NO_EXPORT  PyObject * PyArray_MultiIterFromObjects \
-       (PyObject **, int, int, ...);
-NPY_NO_EXPORT  int PyArray_GetEndianness \
-       (void);
-NPY_NO_EXPORT  unsigned int PyArray_GetNDArrayCFeatureVersion \
-       (void);
-NPY_NO_EXPORT  PyObject * PyArray_Correlate2 \
-       (PyObject *, PyObject *, int);
-NPY_NO_EXPORT  PyObject* PyArray_NeighborhoodIterNew \
-       (PyArrayIterObject *, npy_intp *, int, PyArrayObject*);
-extern NPY_NO_EXPORT PyTypeObject PyTimeIntegerArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyDatetimeArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyTimedeltaArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyHalfArrType_Type;
-
-extern NPY_NO_EXPORT PyTypeObject NpyIter_Type;
-
-NPY_NO_EXPORT  void PyArray_SetDatetimeParseFunction \
-       (PyObject *);
-NPY_NO_EXPORT  void PyArray_DatetimeToDatetimeStruct \
-       (npy_datetime, NPY_DATETIMEUNIT, npy_datetimestruct *);
-NPY_NO_EXPORT  void PyArray_TimedeltaToTimedeltaStruct \
-       (npy_timedelta, NPY_DATETIMEUNIT, npy_timedeltastruct *);
-NPY_NO_EXPORT  npy_datetime PyArray_DatetimeStructToDatetime \
-       (NPY_DATETIMEUNIT, npy_datetimestruct *);
-NPY_NO_EXPORT  npy_datetime PyArray_TimedeltaStructToTimedelta \
-       (NPY_DATETIMEUNIT, npy_timedeltastruct *);
-NPY_NO_EXPORT  NpyIter * NpyIter_New \
-       (PyArrayObject *, npy_uint32, NPY_ORDER, NPY_CASTING, PyArray_Descr*);
-NPY_NO_EXPORT  NpyIter * NpyIter_MultiNew \
-       (int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **);
-NPY_NO_EXPORT  NpyIter * NpyIter_AdvancedNew \
-       (int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **, int, int **, npy_intp *, npy_intp);
-NPY_NO_EXPORT  NpyIter * NpyIter_Copy \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_Deallocate \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_HasDelayedBufAlloc \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_HasExternalLoop \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_EnableExternalLoop \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_intp * NpyIter_GetInnerStrideArray \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_intp * NpyIter_GetInnerLoopSizePtr \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_Reset \
-       (NpyIter *, char **);
-NPY_NO_EXPORT  int NpyIter_ResetBasePointers \
-       (NpyIter *, char **, char **);
-NPY_NO_EXPORT  int NpyIter_ResetToIterIndexRange \
-       (NpyIter *, npy_intp, npy_intp, char **);
-NPY_NO_EXPORT  int NpyIter_GetNDim \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_GetNOp \
-       (NpyIter *);
-NPY_NO_EXPORT  NpyIter_IterNextFunc * NpyIter_GetIterNext \
-       (NpyIter *, char **);
-NPY_NO_EXPORT  npy_intp NpyIter_GetIterSize \
-       (NpyIter *);
-NPY_NO_EXPORT  void NpyIter_GetIterIndexRange \
-       (NpyIter *, npy_intp *, npy_intp *);
-NPY_NO_EXPORT  npy_intp NpyIter_GetIterIndex \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_GotoIterIndex \
-       (NpyIter *, npy_intp);
-NPY_NO_EXPORT  npy_bool NpyIter_HasMultiIndex \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_GetShape \
-       (NpyIter *, npy_intp *);
-NPY_NO_EXPORT  NpyIter_GetMultiIndexFunc * NpyIter_GetGetMultiIndex \
-       (NpyIter *, char **);
-NPY_NO_EXPORT  int NpyIter_GotoMultiIndex \
-       (NpyIter *, npy_intp *);
-NPY_NO_EXPORT  int NpyIter_RemoveMultiIndex \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_HasIndex \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_IsBuffered \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_IsGrowInner \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_intp NpyIter_GetBufferSize \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_intp * NpyIter_GetIndexPtr \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_GotoIndex \
-       (NpyIter *, npy_intp);
-NPY_NO_EXPORT  char ** NpyIter_GetDataPtrArray \
-       (NpyIter *);
-NPY_NO_EXPORT  PyArray_Descr ** NpyIter_GetDescrArray \
-       (NpyIter *);
-NPY_NO_EXPORT  PyArrayObject ** NpyIter_GetOperandArray \
-       (NpyIter *);
-NPY_NO_EXPORT  PyArrayObject * NpyIter_GetIterView \
-       (NpyIter *, npy_intp);
-NPY_NO_EXPORT  void NpyIter_GetReadFlags \
-       (NpyIter *, char *);
-NPY_NO_EXPORT  void NpyIter_GetWriteFlags \
-       (NpyIter *, char *);
-NPY_NO_EXPORT  void NpyIter_DebugPrint \
-       (NpyIter *);
-NPY_NO_EXPORT  npy_bool NpyIter_IterationNeedsAPI \
-       (NpyIter *);
-NPY_NO_EXPORT  void NpyIter_GetInnerFixedStrideArray \
-       (NpyIter *, npy_intp *);
-NPY_NO_EXPORT  int NpyIter_RemoveAxis \
-       (NpyIter *, int);
-NPY_NO_EXPORT  npy_intp * NpyIter_GetAxisStrideArray \
-       (NpyIter *, int);
-NPY_NO_EXPORT  npy_bool NpyIter_RequiresBuffering \
-       (NpyIter *);
-NPY_NO_EXPORT  char ** NpyIter_GetInitialDataPtrArray \
-       (NpyIter *);
-NPY_NO_EXPORT  int NpyIter_CreateCompatibleStrides \
-       (NpyIter *, npy_intp, npy_intp *);
-NPY_NO_EXPORT  int PyArray_CastingConverter \
-       (PyObject *, NPY_CASTING *);
-NPY_NO_EXPORT  npy_intp PyArray_CountNonzero \
-       (PyArrayObject *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_PromoteTypes \
-       (PyArray_Descr *, PyArray_Descr *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_MinScalarType \
-       (PyArrayObject *);
-NPY_NO_EXPORT  PyArray_Descr * PyArray_ResultType \
-       (npy_intp, PyArrayObject **, npy_intp, PyArray_Descr **);
-NPY_NO_EXPORT  npy_bool PyArray_CanCastArrayTo \
-       (PyArrayObject *, PyArray_Descr *, NPY_CASTING);
-NPY_NO_EXPORT  npy_bool PyArray_CanCastTypeTo \
-       (PyArray_Descr *, PyArray_Descr *, NPY_CASTING);
-NPY_NO_EXPORT  PyArrayObject * PyArray_EinsteinSum \
-       (char *, npy_intp, PyArrayObject **, PyArray_Descr *, NPY_ORDER, NPY_CASTING, PyArrayObject *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) NPY_GCC_NONNULL(1) PyObject * PyArray_NewLikeArray \
-       (PyArrayObject *, NPY_ORDER, PyArray_Descr *, int);
-NPY_NO_EXPORT  int PyArray_GetArrayParamsFromObject \
-       (PyObject *, PyArray_Descr *, npy_bool, PyArray_Descr **, int *, npy_intp *, PyArrayObject **, PyObject *);
-NPY_NO_EXPORT  int PyArray_ConvertClipmodeSequence \
-       (PyObject *, NPY_CLIPMODE *, int);
-NPY_NO_EXPORT  PyObject * PyArray_MatrixProduct2 \
-       (PyObject *, PyObject *, PyArrayObject*);
-NPY_NO_EXPORT  npy_bool NpyIter_IsFirstVisit \
-       (NpyIter *, int);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) int PyArray_SetBaseObject \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT  void PyArray_CreateSortedStridePerm \
-       (int, npy_intp *, npy_stride_sort_item *);
-NPY_NO_EXPORT  void PyArray_RemoveAxesInPlace \
-       (PyArrayObject *, npy_bool *);
-NPY_NO_EXPORT  void PyArray_DebugPrint \
-       (PyArrayObject *);
-NPY_NO_EXPORT  int PyArray_FailUnlessWriteable \
-       (PyArrayObject *, const char *);
-NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) int PyArray_SetUpdateIfCopyBase \
-       (PyArrayObject *, PyArrayObject *);
-NPY_NO_EXPORT  void * PyDataMem_NEW \
-       (size_t);
-NPY_NO_EXPORT  void PyDataMem_FREE \
-       (void *);
-NPY_NO_EXPORT  void * PyDataMem_RENEW \
-       (void *, size_t);
-NPY_NO_EXPORT  PyDataMem_EventHookFunc * PyDataMem_SetEventHook \
-       (PyDataMem_EventHookFunc *, void *, void **);
-extern NPY_NO_EXPORT NPY_CASTING NPY_DEFAULT_ASSIGN_CASTING;
-
-NPY_NO_EXPORT  void PyArray_MapIterSwapAxes \
-       (PyArrayMapIterObject *, PyArrayObject **, int);
-NPY_NO_EXPORT  PyObject * PyArray_MapIterArray \
-       (PyArrayObject *, PyObject *);
-NPY_NO_EXPORT  void PyArray_MapIterNext \
-       (PyArrayMapIterObject *);
-NPY_NO_EXPORT  int PyArray_Partition \
-       (PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND);
-NPY_NO_EXPORT  PyObject * PyArray_ArgPartition \
-       (PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND);
-NPY_NO_EXPORT  int PyArray_SelectkindConverter \
-       (PyObject *, NPY_SELECTKIND *);
-NPY_NO_EXPORT  void * PyDataMem_NEW_ZEROED \
-       (size_t, size_t);
-NPY_NO_EXPORT NPY_GCC_NONNULL(1) int PyArray_CheckAnyScalarExact \
-       (PyObject *);
-
-#else
-
-#if defined(PY_ARRAY_UNIQUE_SYMBOL)
-#define PyArray_API PY_ARRAY_UNIQUE_SYMBOL
-#endif
-
-#if defined(NO_IMPORT) || defined(NO_IMPORT_ARRAY)
-extern void **PyArray_API;
-#else
-#if defined(PY_ARRAY_UNIQUE_SYMBOL)
-void **PyArray_API;
-#else
-static void **PyArray_API=NULL;
-#endif
-#endif
-
-#define PyArray_GetNDArrayCVersion \
-        (*(unsigned int (*)(void)) \
-         PyArray_API[0])
-#define PyBigArray_Type (*(PyTypeObject *)PyArray_API[1])
-#define PyArray_Type (*(PyTypeObject *)PyArray_API[2])
-#define PyArrayDescr_Type (*(PyTypeObject *)PyArray_API[3])
-#define PyArrayFlags_Type (*(PyTypeObject *)PyArray_API[4])
-#define PyArrayIter_Type (*(PyTypeObject *)PyArray_API[5])
-#define PyArrayMultiIter_Type (*(PyTypeObject *)PyArray_API[6])
-#define NPY_NUMUSERTYPES (*(int *)PyArray_API[7])
-#define PyBoolArrType_Type (*(PyTypeObject *)PyArray_API[8])
-#define _PyArrayScalar_BoolValues ((PyBoolScalarObject *)PyArray_API[9])
-#define PyGenericArrType_Type (*(PyTypeObject *)PyArray_API[10])
-#define PyNumberArrType_Type (*(PyTypeObject *)PyArray_API[11])
-#define PyIntegerArrType_Type (*(PyTypeObject *)PyArray_API[12])
-#define PySignedIntegerArrType_Type (*(PyTypeObject *)PyArray_API[13])
-#define PyUnsignedIntegerArrType_Type (*(PyTypeObject *)PyArray_API[14])
-#define PyInexactArrType_Type (*(PyTypeObject *)PyArray_API[15])
-#define PyFloatingArrType_Type (*(PyTypeObject *)PyArray_API[16])
-#define PyComplexFloatingArrType_Type (*(PyTypeObject *)PyArray_API[17])
-#define PyFlexibleArrType_Type (*(PyTypeObject *)PyArray_API[18])
-#define PyCharacterArrType_Type (*(PyTypeObject *)PyArray_API[19])
-#define PyByteArrType_Type (*(PyTypeObject *)PyArray_API[20])
-#define PyShortArrType_Type (*(PyTypeObject *)PyArray_API[21])
-#define PyIntArrType_Type (*(PyTypeObject *)PyArray_API[22])
-#define PyLongArrType_Type (*(PyTypeObject *)PyArray_API[23])
-#define PyLongLongArrType_Type (*(PyTypeObject *)PyArray_API[24])
-#define PyUByteArrType_Type (*(PyTypeObject *)PyArray_API[25])
-#define PyUShortArrType_Type (*(PyTypeObject *)PyArray_API[26])
-#define PyUIntArrType_Type (*(PyTypeObject *)PyArray_API[27])
-#define PyULongArrType_Type (*(PyTypeObject *)PyArray_API[28])
-#define PyULongLongArrType_Type (*(PyTypeObject *)PyArray_API[29])
-#define PyFloatArrType_Type (*(PyTypeObject *)PyArray_API[30])
-#define PyDoubleArrType_Type (*(PyTypeObject *)PyArray_API[31])
-#define PyLongDoubleArrType_Type (*(PyTypeObject *)PyArray_API[32])
-#define PyCFloatArrType_Type (*(PyTypeObject *)PyArray_API[33])
-#define PyCDoubleArrType_Type (*(PyTypeObject *)PyArray_API[34])
-#define PyCLongDoubleArrType_Type (*(PyTypeObject *)PyArray_API[35])
-#define PyObjectArrType_Type (*(PyTypeObject *)PyArray_API[36])
-#define PyStringArrType_Type (*(PyTypeObject *)PyArray_API[37])
-#define PyUnicodeArrType_Type (*(PyTypeObject *)PyArray_API[38])
-#define PyVoidArrType_Type (*(PyTypeObject *)PyArray_API[39])
-#define PyArray_SetNumericOps \
-        (*(int (*)(PyObject *)) \
-         PyArray_API[40])
-#define PyArray_GetNumericOps \
-        (*(PyObject * (*)(void)) \
-         PyArray_API[41])
-#define PyArray_INCREF \
-        (*(int (*)(PyArrayObject *)) \
-         PyArray_API[42])
-#define PyArray_XDECREF \
-        (*(int (*)(PyArrayObject *)) \
-         PyArray_API[43])
-#define PyArray_SetStringFunction \
-        (*(void (*)(PyObject *, int)) \
-         PyArray_API[44])
-#define PyArray_DescrFromType \
-        (*(PyArray_Descr * (*)(int)) \
-         PyArray_API[45])
-#define PyArray_TypeObjectFromType \
-        (*(PyObject * (*)(int)) \
-         PyArray_API[46])
-#define PyArray_Zero \
-        (*(char * (*)(PyArrayObject *)) \
-         PyArray_API[47])
-#define PyArray_One \
-        (*(char * (*)(PyArrayObject *)) \
-         PyArray_API[48])
-#define PyArray_CastToType \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
-         PyArray_API[49])
-#define PyArray_CastTo \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[50])
-#define PyArray_CastAnyTo \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[51])
-#define PyArray_CanCastSafely \
-        (*(int (*)(int, int)) \
-         PyArray_API[52])
-#define PyArray_CanCastTo \
-        (*(npy_bool (*)(PyArray_Descr *, PyArray_Descr *)) \
-         PyArray_API[53])
-#define PyArray_ObjectType \
-        (*(int (*)(PyObject *, int)) \
-         PyArray_API[54])
-#define PyArray_DescrFromObject \
-        (*(PyArray_Descr * (*)(PyObject *, PyArray_Descr *)) \
-         PyArray_API[55])
-#define PyArray_ConvertToCommonType \
-        (*(PyArrayObject ** (*)(PyObject *, int *)) \
-         PyArray_API[56])
-#define PyArray_DescrFromScalar \
-        (*(PyArray_Descr * (*)(PyObject *)) \
-         PyArray_API[57])
-#define PyArray_DescrFromTypeObject \
-        (*(PyArray_Descr * (*)(PyObject *)) \
-         PyArray_API[58])
-#define PyArray_Size \
-        (*(npy_intp (*)(PyObject *)) \
-         PyArray_API[59])
-#define PyArray_Scalar \
-        (*(PyObject * (*)(void *, PyArray_Descr *, PyObject *)) \
-         PyArray_API[60])
-#define PyArray_FromScalar \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *)) \
-         PyArray_API[61])
-#define PyArray_ScalarAsCtype \
-        (*(void (*)(PyObject *, void *)) \
-         PyArray_API[62])
-#define PyArray_CastScalarToCtype \
-        (*(int (*)(PyObject *, void *, PyArray_Descr *)) \
-         PyArray_API[63])
-#define PyArray_CastScalarDirect \
-        (*(int (*)(PyObject *, PyArray_Descr *, void *, int)) \
-         PyArray_API[64])
-#define PyArray_ScalarFromObject \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[65])
-#define PyArray_GetCastFunc \
-        (*(PyArray_VectorUnaryFunc * (*)(PyArray_Descr *, int)) \
-         PyArray_API[66])
-#define PyArray_FromDims \
-        (*(PyObject * (*)(int, int *, int)) \
-         PyArray_API[67])
-#define PyArray_FromDimsAndDataAndDescr \
-        (*(PyObject * (*)(int, int *, PyArray_Descr *, char *)) \
-         PyArray_API[68])
-#define PyArray_FromAny \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *, int, int, int, PyObject *)) \
-         PyArray_API[69])
-#define PyArray_EnsureArray \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[70])
-#define PyArray_EnsureAnyArray \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[71])
-#define PyArray_FromFile \
-        (*(PyObject * (*)(FILE *, PyArray_Descr *, npy_intp, char *)) \
-         PyArray_API[72])
-#define PyArray_FromString \
-        (*(PyObject * (*)(char *, npy_intp, PyArray_Descr *, npy_intp, char *)) \
-         PyArray_API[73])
-#define PyArray_FromBuffer \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *, npy_intp, npy_intp)) \
-         PyArray_API[74])
-#define PyArray_FromIter \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *, npy_intp)) \
-         PyArray_API[75])
-#define PyArray_Return \
-        (*(PyObject * (*)(PyArrayObject *)) \
-         PyArray_API[76])
-#define PyArray_GetField \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
-         PyArray_API[77])
-#define PyArray_SetField \
-        (*(int (*)(PyArrayObject *, PyArray_Descr *, int, PyObject *)) \
-         PyArray_API[78])
-#define PyArray_Byteswap \
-        (*(PyObject * (*)(PyArrayObject *, npy_bool)) \
-         PyArray_API[79])
-#define PyArray_Resize \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *, int, NPY_ORDER)) \
-         PyArray_API[80])
-#define PyArray_MoveInto \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[81])
-#define PyArray_CopyInto \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[82])
-#define PyArray_CopyAnyInto \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[83])
-#define PyArray_CopyObject \
-        (*(int (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[84])
-#define PyArray_NewCopy \
-        (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
-         PyArray_API[85])
-#define PyArray_ToList \
-        (*(PyObject * (*)(PyArrayObject *)) \
-         PyArray_API[86])
-#define PyArray_ToString \
-        (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
-         PyArray_API[87])
-#define PyArray_ToFile \
-        (*(int (*)(PyArrayObject *, FILE *, char *, char *)) \
-         PyArray_API[88])
-#define PyArray_Dump \
-        (*(int (*)(PyObject *, PyObject *, int)) \
-         PyArray_API[89])
-#define PyArray_Dumps \
-        (*(PyObject * (*)(PyObject *, int)) \
-         PyArray_API[90])
-#define PyArray_ValidType \
-        (*(int (*)(int)) \
-         PyArray_API[91])
-#define PyArray_UpdateFlags \
-        (*(void (*)(PyArrayObject *, int)) \
-         PyArray_API[92])
-#define PyArray_New \
-        (*(PyObject * (*)(PyTypeObject *, int, npy_intp *, int, npy_intp *, void *, int, int, PyObject *)) \
-         PyArray_API[93])
-#define PyArray_NewFromDescr \
-        (*(PyObject * (*)(PyTypeObject *, PyArray_Descr *, int, npy_intp *, npy_intp *, void *, int, PyObject *)) \
-         PyArray_API[94])
-#define PyArray_DescrNew \
-        (*(PyArray_Descr * (*)(PyArray_Descr *)) \
-         PyArray_API[95])
-#define PyArray_DescrNewFromType \
-        (*(PyArray_Descr * (*)(int)) \
-         PyArray_API[96])
-#define PyArray_GetPriority \
-        (*(double (*)(PyObject *, double)) \
-         PyArray_API[97])
-#define PyArray_IterNew \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[98])
-#define PyArray_MultiIterNew \
-        (*(PyObject * (*)(int, ...)) \
-         PyArray_API[99])
-#define PyArray_PyIntAsInt \
-        (*(int (*)(PyObject *)) \
-         PyArray_API[100])
-#define PyArray_PyIntAsIntp \
-        (*(npy_intp (*)(PyObject *)) \
-         PyArray_API[101])
-#define PyArray_Broadcast \
-        (*(int (*)(PyArrayMultiIterObject *)) \
-         PyArray_API[102])
-#define PyArray_FillObjectArray \
-        (*(void (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[103])
-#define PyArray_FillWithScalar \
-        (*(int (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[104])
-#define PyArray_CheckStrides \
-        (*(npy_bool (*)(int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)) \
-         PyArray_API[105])
-#define PyArray_DescrNewByteorder \
-        (*(PyArray_Descr * (*)(PyArray_Descr *, char)) \
-         PyArray_API[106])
-#define PyArray_IterAllButAxis \
-        (*(PyObject * (*)(PyObject *, int *)) \
-         PyArray_API[107])
-#define PyArray_CheckFromAny \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *, int, int, int, PyObject *)) \
-         PyArray_API[108])
-#define PyArray_FromArray \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
-         PyArray_API[109])
-#define PyArray_FromInterface \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[110])
-#define PyArray_FromStructInterface \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[111])
-#define PyArray_FromArrayAttr \
-        (*(PyObject * (*)(PyObject *, PyArray_Descr *, PyObject *)) \
-         PyArray_API[112])
-#define PyArray_ScalarKind \
-        (*(NPY_SCALARKIND (*)(int, PyArrayObject **)) \
-         PyArray_API[113])
-#define PyArray_CanCoerceScalar \
-        (*(int (*)(int, int, NPY_SCALARKIND)) \
-         PyArray_API[114])
-#define PyArray_NewFlagsObject \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[115])
-#define PyArray_CanCastScalar \
-        (*(npy_bool (*)(PyTypeObject *, PyTypeObject *)) \
-         PyArray_API[116])
-#define PyArray_CompareUCS4 \
-        (*(int (*)(npy_ucs4 *, npy_ucs4 *, size_t)) \
-         PyArray_API[117])
-#define PyArray_RemoveSmallest \
-        (*(int (*)(PyArrayMultiIterObject *)) \
-         PyArray_API[118])
-#define PyArray_ElementStrides \
-        (*(int (*)(PyObject *)) \
-         PyArray_API[119])
-#define PyArray_Item_INCREF \
-        (*(void (*)(char *, PyArray_Descr *)) \
-         PyArray_API[120])
-#define PyArray_Item_XDECREF \
-        (*(void (*)(char *, PyArray_Descr *)) \
-         PyArray_API[121])
-#define PyArray_FieldNames \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[122])
-#define PyArray_Transpose \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *)) \
-         PyArray_API[123])
-#define PyArray_TakeFrom \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, int, PyArrayObject *, NPY_CLIPMODE)) \
-         PyArray_API[124])
-#define PyArray_PutTo \
-        (*(PyObject * (*)(PyArrayObject *, PyObject*, PyObject *, NPY_CLIPMODE)) \
-         PyArray_API[125])
-#define PyArray_PutMask \
-        (*(PyObject * (*)(PyArrayObject *, PyObject*, PyObject*)) \
-         PyArray_API[126])
-#define PyArray_Repeat \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, int)) \
-         PyArray_API[127])
-#define PyArray_Choose \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, PyArrayObject *, NPY_CLIPMODE)) \
-         PyArray_API[128])
-#define PyArray_Sort \
-        (*(int (*)(PyArrayObject *, int, NPY_SORTKIND)) \
-         PyArray_API[129])
-#define PyArray_ArgSort \
-        (*(PyObject * (*)(PyArrayObject *, int, NPY_SORTKIND)) \
-         PyArray_API[130])
-#define PyArray_SearchSorted \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, NPY_SEARCHSIDE, PyObject *)) \
-         PyArray_API[131])
-#define PyArray_ArgMax \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[132])
-#define PyArray_ArgMin \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[133])
-#define PyArray_Reshape \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[134])
-#define PyArray_Newshape \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *, NPY_ORDER)) \
-         PyArray_API[135])
-#define PyArray_Squeeze \
-        (*(PyObject * (*)(PyArrayObject *)) \
-         PyArray_API[136])
-#define PyArray_View \
-        (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, PyTypeObject *)) \
-         PyArray_API[137])
-#define PyArray_SwapAxes \
-        (*(PyObject * (*)(PyArrayObject *, int, int)) \
-         PyArray_API[138])
-#define PyArray_Max \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[139])
-#define PyArray_Min \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[140])
-#define PyArray_Ptp \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[141])
-#define PyArray_Mean \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
-         PyArray_API[142])
-#define PyArray_Trace \
-        (*(PyObject * (*)(PyArrayObject *, int, int, int, int, PyArrayObject *)) \
-         PyArray_API[143])
-#define PyArray_Diagonal \
-        (*(PyObject * (*)(PyArrayObject *, int, int, int)) \
-         PyArray_API[144])
-#define PyArray_Clip \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, PyObject *, PyArrayObject *)) \
-         PyArray_API[145])
-#define PyArray_Conjugate \
-        (*(PyObject * (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[146])
-#define PyArray_Nonzero \
-        (*(PyObject * (*)(PyArrayObject *)) \
-         PyArray_API[147])
-#define PyArray_Std \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *, int)) \
-         PyArray_API[148])
-#define PyArray_Sum \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
-         PyArray_API[149])
-#define PyArray_CumSum \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
-         PyArray_API[150])
-#define PyArray_Prod \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
-         PyArray_API[151])
-#define PyArray_CumProd \
-        (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
-         PyArray_API[152])
-#define PyArray_All \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[153])
-#define PyArray_Any \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[154])
-#define PyArray_Compress \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *, int, PyArrayObject *)) \
-         PyArray_API[155])
-#define PyArray_Flatten \
-        (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
-         PyArray_API[156])
-#define PyArray_Ravel \
-        (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
-         PyArray_API[157])
-#define PyArray_MultiplyList \
-        (*(npy_intp (*)(npy_intp *, int)) \
-         PyArray_API[158])
-#define PyArray_MultiplyIntList \
-        (*(int (*)(int *, int)) \
-         PyArray_API[159])
-#define PyArray_GetPtr \
-        (*(void * (*)(PyArrayObject *, npy_intp*)) \
-         PyArray_API[160])
-#define PyArray_CompareLists \
-        (*(int (*)(npy_intp *, npy_intp *, int)) \
-         PyArray_API[161])
-#define PyArray_AsCArray \
-        (*(int (*)(PyObject **, void *, npy_intp *, int, PyArray_Descr*)) \
-         PyArray_API[162])
-#define PyArray_As1D \
-        (*(int (*)(PyObject **, char **, int *, int)) \
-         PyArray_API[163])
-#define PyArray_As2D \
-        (*(int (*)(PyObject **, char ***, int *, int *, int)) \
-         PyArray_API[164])
-#define PyArray_Free \
-        (*(int (*)(PyObject *, void *)) \
-         PyArray_API[165])
-#define PyArray_Converter \
-        (*(int (*)(PyObject *, PyObject **)) \
-         PyArray_API[166])
-#define PyArray_IntpFromSequence \
-        (*(int (*)(PyObject *, npy_intp *, int)) \
-         PyArray_API[167])
-#define PyArray_Concatenate \
-        (*(PyObject * (*)(PyObject *, int)) \
-         PyArray_API[168])
-#define PyArray_InnerProduct \
-        (*(PyObject * (*)(PyObject *, PyObject *)) \
-         PyArray_API[169])
-#define PyArray_MatrixProduct \
-        (*(PyObject * (*)(PyObject *, PyObject *)) \
-         PyArray_API[170])
-#define PyArray_CopyAndTranspose \
-        (*(PyObject * (*)(PyObject *)) \
-         PyArray_API[171])
-#define PyArray_Correlate \
-        (*(PyObject * (*)(PyObject *, PyObject *, int)) \
-         PyArray_API[172])
-#define PyArray_TypestrConvert \
-        (*(int (*)(int, int)) \
-         PyArray_API[173])
-#define PyArray_DescrConverter \
-        (*(int (*)(PyObject *, PyArray_Descr **)) \
-         PyArray_API[174])
-#define PyArray_DescrConverter2 \
-        (*(int (*)(PyObject *, PyArray_Descr **)) \
-         PyArray_API[175])
-#define PyArray_IntpConverter \
-        (*(int (*)(PyObject *, PyArray_Dims *)) \
-         PyArray_API[176])
-#define PyArray_BufferConverter \
-        (*(int (*)(PyObject *, PyArray_Chunk *)) \
-         PyArray_API[177])
-#define PyArray_AxisConverter \
-        (*(int (*)(PyObject *, int *)) \
-         PyArray_API[178])
-#define PyArray_BoolConverter \
-        (*(int (*)(PyObject *, npy_bool *)) \
-         PyArray_API[179])
-#define PyArray_ByteorderConverter \
-        (*(int (*)(PyObject *, char *)) \
-         PyArray_API[180])
-#define PyArray_OrderConverter \
-        (*(int (*)(PyObject *, NPY_ORDER *)) \
-         PyArray_API[181])
-#define PyArray_EquivTypes \
-        (*(unsigned char (*)(PyArray_Descr *, PyArray_Descr *)) \
-         PyArray_API[182])
-#define PyArray_Zeros \
-        (*(PyObject * (*)(int, npy_intp *, PyArray_Descr *, int)) \
-         PyArray_API[183])
-#define PyArray_Empty \
-        (*(PyObject * (*)(int, npy_intp *, PyArray_Descr *, int)) \
-         PyArray_API[184])
-#define PyArray_Where \
-        (*(PyObject * (*)(PyObject *, PyObject *, PyObject *)) \
-         PyArray_API[185])
-#define PyArray_Arange \
-        (*(PyObject * (*)(double, double, double, int)) \
-         PyArray_API[186])
-#define PyArray_ArangeObj \
-        (*(PyObject * (*)(PyObject *, PyObject *, PyObject *, PyArray_Descr *)) \
-         PyArray_API[187])
-#define PyArray_SortkindConverter \
-        (*(int (*)(PyObject *, NPY_SORTKIND *)) \
-         PyArray_API[188])
-#define PyArray_LexSort \
-        (*(PyObject * (*)(PyObject *, int)) \
-         PyArray_API[189])
-#define PyArray_Round \
-        (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
-         PyArray_API[190])
-#define PyArray_EquivTypenums \
-        (*(unsigned char (*)(int, int)) \
-         PyArray_API[191])
-#define PyArray_RegisterDataType \
-        (*(int (*)(PyArray_Descr *)) \
-         PyArray_API[192])
-#define PyArray_RegisterCastFunc \
-        (*(int (*)(PyArray_Descr *, int, PyArray_VectorUnaryFunc *)) \
-         PyArray_API[193])
-#define PyArray_RegisterCanCast \
-        (*(int (*)(PyArray_Descr *, int, NPY_SCALARKIND)) \
-         PyArray_API[194])
-#define PyArray_InitArrFuncs \
-        (*(void (*)(PyArray_ArrFuncs *)) \
-         PyArray_API[195])
-#define PyArray_IntTupleFromIntp \
-        (*(PyObject * (*)(int, npy_intp *)) \
-         PyArray_API[196])
-#define PyArray_TypeNumFromName \
-        (*(int (*)(char *)) \
-         PyArray_API[197])
-#define PyArray_ClipmodeConverter \
-        (*(int (*)(PyObject *, NPY_CLIPMODE *)) \
-         PyArray_API[198])
-#define PyArray_OutputConverter \
-        (*(int (*)(PyObject *, PyArrayObject **)) \
-         PyArray_API[199])
-#define PyArray_BroadcastToShape \
-        (*(PyObject * (*)(PyObject *, npy_intp *, int)) \
-         PyArray_API[200])
-#define _PyArray_SigintHandler \
-        (*(void (*)(int)) \
-         PyArray_API[201])
-#define _PyArray_GetSigintBuf \
-        (*(void* (*)(void)) \
-         PyArray_API[202])
-#define PyArray_DescrAlignConverter \
-        (*(int (*)(PyObject *, PyArray_Descr **)) \
-         PyArray_API[203])
-#define PyArray_DescrAlignConverter2 \
-        (*(int (*)(PyObject *, PyArray_Descr **)) \
-         PyArray_API[204])
-#define PyArray_SearchsideConverter \
-        (*(int (*)(PyObject *, void *)) \
-         PyArray_API[205])
-#define PyArray_CheckAxis \
-        (*(PyObject * (*)(PyArrayObject *, int *, int)) \
-         PyArray_API[206])
-#define PyArray_OverflowMultiplyList \
-        (*(npy_intp (*)(npy_intp *, int)) \
-         PyArray_API[207])
-#define PyArray_CompareString \
-        (*(int (*)(char *, char *, size_t)) \
-         PyArray_API[208])
-#define PyArray_MultiIterFromObjects \
-        (*(PyObject * (*)(PyObject **, int, int, ...)) \
-         PyArray_API[209])
-#define PyArray_GetEndianness \
-        (*(int (*)(void)) \
-         PyArray_API[210])
-#define PyArray_GetNDArrayCFeatureVersion \
-        (*(unsigned int (*)(void)) \
-         PyArray_API[211])
-#define PyArray_Correlate2 \
-        (*(PyObject * (*)(PyObject *, PyObject *, int)) \
-         PyArray_API[212])
-#define PyArray_NeighborhoodIterNew \
-        (*(PyObject* (*)(PyArrayIterObject *, npy_intp *, int, PyArrayObject*)) \
-         PyArray_API[213])
-#define PyTimeIntegerArrType_Type (*(PyTypeObject *)PyArray_API[214])
-#define PyDatetimeArrType_Type (*(PyTypeObject *)PyArray_API[215])
-#define PyTimedeltaArrType_Type (*(PyTypeObject *)PyArray_API[216])
-#define PyHalfArrType_Type (*(PyTypeObject *)PyArray_API[217])
-#define NpyIter_Type (*(PyTypeObject *)PyArray_API[218])
-#define PyArray_SetDatetimeParseFunction \
-        (*(void (*)(PyObject *)) \
-         PyArray_API[219])
-#define PyArray_DatetimeToDatetimeStruct \
-        (*(void (*)(npy_datetime, NPY_DATETIMEUNIT, npy_datetimestruct *)) \
-         PyArray_API[220])
-#define PyArray_TimedeltaToTimedeltaStruct \
-        (*(void (*)(npy_timedelta, NPY_DATETIMEUNIT, npy_timedeltastruct *)) \
-         PyArray_API[221])
-#define PyArray_DatetimeStructToDatetime \
-        (*(npy_datetime (*)(NPY_DATETIMEUNIT, npy_datetimestruct *)) \
-         PyArray_API[222])
-#define PyArray_TimedeltaStructToTimedelta \
-        (*(npy_datetime (*)(NPY_DATETIMEUNIT, npy_timedeltastruct *)) \
-         PyArray_API[223])
-#define NpyIter_New \
-        (*(NpyIter * (*)(PyArrayObject *, npy_uint32, NPY_ORDER, NPY_CASTING, PyArray_Descr*)) \
-         PyArray_API[224])
-#define NpyIter_MultiNew \
-        (*(NpyIter * (*)(int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **)) \
-         PyArray_API[225])
-#define NpyIter_AdvancedNew \
-        (*(NpyIter * (*)(int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **, int, int **, npy_intp *, npy_intp)) \
-         PyArray_API[226])
-#define NpyIter_Copy \
-        (*(NpyIter * (*)(NpyIter *)) \
-         PyArray_API[227])
-#define NpyIter_Deallocate \
-        (*(int (*)(NpyIter *)) \
-         PyArray_API[228])
-#define NpyIter_HasDelayedBufAlloc \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[229])
-#define NpyIter_HasExternalLoop \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[230])
-#define NpyIter_EnableExternalLoop \
-        (*(int (*)(NpyIter *)) \
-         PyArray_API[231])
-#define NpyIter_GetInnerStrideArray \
-        (*(npy_intp * (*)(NpyIter *)) \
-         PyArray_API[232])
-#define NpyIter_GetInnerLoopSizePtr \
-        (*(npy_intp * (*)(NpyIter *)) \
-         PyArray_API[233])
-#define NpyIter_Reset \
-        (*(int (*)(NpyIter *, char **)) \
-         PyArray_API[234])
-#define NpyIter_ResetBasePointers \
-        (*(int (*)(NpyIter *, char **, char **)) \
-         PyArray_API[235])
-#define NpyIter_ResetToIterIndexRange \
-        (*(int (*)(NpyIter *, npy_intp, npy_intp, char **)) \
-         PyArray_API[236])
-#define NpyIter_GetNDim \
-        (*(int (*)(NpyIter *)) \
-         PyArray_API[237])
-#define NpyIter_GetNOp \
-        (*(int (*)(NpyIter *)) \
-         PyArray_API[238])
-#define NpyIter_GetIterNext \
-        (*(NpyIter_IterNextFunc * (*)(NpyIter *, char **)) \
-         PyArray_API[239])
-#define NpyIter_GetIterSize \
-        (*(npy_intp (*)(NpyIter *)) \
-         PyArray_API[240])
-#define NpyIter_GetIterIndexRange \
-        (*(void (*)(NpyIter *, npy_intp *, npy_intp *)) \
-         PyArray_API[241])
-#define NpyIter_GetIterIndex \
-        (*(npy_intp (*)(NpyIter *)) \
-         PyArray_API[242])
-#define NpyIter_GotoIterIndex \
-        (*(int (*)(NpyIter *, npy_intp)) \
-         PyArray_API[243])
-#define NpyIter_HasMultiIndex \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[244])
-#define NpyIter_GetShape \
-        (*(int (*)(NpyIter *, npy_intp *)) \
-         PyArray_API[245])
-#define NpyIter_GetGetMultiIndex \
-        (*(NpyIter_GetMultiIndexFunc * (*)(NpyIter *, char **)) \
-         PyArray_API[246])
-#define NpyIter_GotoMultiIndex \
-        (*(int (*)(NpyIter *, npy_intp *)) \
-         PyArray_API[247])
-#define NpyIter_RemoveMultiIndex \
-        (*(int (*)(NpyIter *)) \
-         PyArray_API[248])
-#define NpyIter_HasIndex \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[249])
-#define NpyIter_IsBuffered \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[250])
-#define NpyIter_IsGrowInner \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[251])
-#define NpyIter_GetBufferSize \
-        (*(npy_intp (*)(NpyIter *)) \
-         PyArray_API[252])
-#define NpyIter_GetIndexPtr \
-        (*(npy_intp * (*)(NpyIter *)) \
-         PyArray_API[253])
-#define NpyIter_GotoIndex \
-        (*(int (*)(NpyIter *, npy_intp)) \
-         PyArray_API[254])
-#define NpyIter_GetDataPtrArray \
-        (*(char ** (*)(NpyIter *)) \
-         PyArray_API[255])
-#define NpyIter_GetDescrArray \
-        (*(PyArray_Descr ** (*)(NpyIter *)) \
-         PyArray_API[256])
-#define NpyIter_GetOperandArray \
-        (*(PyArrayObject ** (*)(NpyIter *)) \
-         PyArray_API[257])
-#define NpyIter_GetIterView \
-        (*(PyArrayObject * (*)(NpyIter *, npy_intp)) \
-         PyArray_API[258])
-#define NpyIter_GetReadFlags \
-        (*(void (*)(NpyIter *, char *)) \
-         PyArray_API[259])
-#define NpyIter_GetWriteFlags \
-        (*(void (*)(NpyIter *, char *)) \
-         PyArray_API[260])
-#define NpyIter_DebugPrint \
-        (*(void (*)(NpyIter *)) \
-         PyArray_API[261])
-#define NpyIter_IterationNeedsAPI \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[262])
-#define NpyIter_GetInnerFixedStrideArray \
-        (*(void (*)(NpyIter *, npy_intp *)) \
-         PyArray_API[263])
-#define NpyIter_RemoveAxis \
-        (*(int (*)(NpyIter *, int)) \
-         PyArray_API[264])
-#define NpyIter_GetAxisStrideArray \
-        (*(npy_intp * (*)(NpyIter *, int)) \
-         PyArray_API[265])
-#define NpyIter_RequiresBuffering \
-        (*(npy_bool (*)(NpyIter *)) \
-         PyArray_API[266])
-#define NpyIter_GetInitialDataPtrArray \
-        (*(char ** (*)(NpyIter *)) \
-         PyArray_API[267])
-#define NpyIter_CreateCompatibleStrides \
-        (*(int (*)(NpyIter *, npy_intp, npy_intp *)) \
-         PyArray_API[268])
-#define PyArray_CastingConverter \
-        (*(int (*)(PyObject *, NPY_CASTING *)) \
-         PyArray_API[269])
-#define PyArray_CountNonzero \
-        (*(npy_intp (*)(PyArrayObject *)) \
-         PyArray_API[270])
-#define PyArray_PromoteTypes \
-        (*(PyArray_Descr * (*)(PyArray_Descr *, PyArray_Descr *)) \
-         PyArray_API[271])
-#define PyArray_MinScalarType \
-        (*(PyArray_Descr * (*)(PyArrayObject *)) \
-         PyArray_API[272])
-#define PyArray_ResultType \
-        (*(PyArray_Descr * (*)(npy_intp, PyArrayObject **, npy_intp, PyArray_Descr **)) \
-         PyArray_API[273])
-#define PyArray_CanCastArrayTo \
-        (*(npy_bool (*)(PyArrayObject *, PyArray_Descr *, NPY_CASTING)) \
-         PyArray_API[274])
-#define PyArray_CanCastTypeTo \
-        (*(npy_bool (*)(PyArray_Descr *, PyArray_Descr *, NPY_CASTING)) \
-         PyArray_API[275])
-#define PyArray_EinsteinSum \
-        (*(PyArrayObject * (*)(char *, npy_intp, PyArrayObject **, PyArray_Descr *, NPY_ORDER, NPY_CASTING, PyArrayObject *)) \
-         PyArray_API[276])
-#define PyArray_NewLikeArray \
-        (*(PyObject * (*)(PyArrayObject *, NPY_ORDER, PyArray_Descr *, int)) \
-         PyArray_API[277])
-#define PyArray_GetArrayParamsFromObject \
-        (*(int (*)(PyObject *, PyArray_Descr *, npy_bool, PyArray_Descr **, int *, npy_intp *, PyArrayObject **, PyObject *)) \
-         PyArray_API[278])
-#define PyArray_ConvertClipmodeSequence \
-        (*(int (*)(PyObject *, NPY_CLIPMODE *, int)) \
-         PyArray_API[279])
-#define PyArray_MatrixProduct2 \
-        (*(PyObject * (*)(PyObject *, PyObject *, PyArrayObject*)) \
-         PyArray_API[280])
-#define NpyIter_IsFirstVisit \
-        (*(npy_bool (*)(NpyIter *, int)) \
-         PyArray_API[281])
-#define PyArray_SetBaseObject \
-        (*(int (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[282])
-#define PyArray_CreateSortedStridePerm \
-        (*(void (*)(int, npy_intp *, npy_stride_sort_item *)) \
-         PyArray_API[283])
-#define PyArray_RemoveAxesInPlace \
-        (*(void (*)(PyArrayObject *, npy_bool *)) \
-         PyArray_API[284])
-#define PyArray_DebugPrint \
-        (*(void (*)(PyArrayObject *)) \
-         PyArray_API[285])
-#define PyArray_FailUnlessWriteable \
-        (*(int (*)(PyArrayObject *, const char *)) \
-         PyArray_API[286])
-#define PyArray_SetUpdateIfCopyBase \
-        (*(int (*)(PyArrayObject *, PyArrayObject *)) \
-         PyArray_API[287])
-#define PyDataMem_NEW \
-        (*(void * (*)(size_t)) \
-         PyArray_API[288])
-#define PyDataMem_FREE \
-        (*(void (*)(void *)) \
-         PyArray_API[289])
-#define PyDataMem_RENEW \
-        (*(void * (*)(void *, size_t)) \
-         PyArray_API[290])
-#define PyDataMem_SetEventHook \
-        (*(PyDataMem_EventHookFunc * (*)(PyDataMem_EventHookFunc *, void *, void **)) \
-         PyArray_API[291])
-#define NPY_DEFAULT_ASSIGN_CASTING (*(NPY_CASTING *)PyArray_API[292])
-#define PyArray_MapIterSwapAxes \
-        (*(void (*)(PyArrayMapIterObject *, PyArrayObject **, int)) \
-         PyArray_API[293])
-#define PyArray_MapIterArray \
-        (*(PyObject * (*)(PyArrayObject *, PyObject *)) \
-         PyArray_API[294])
-#define PyArray_MapIterNext \
-        (*(void (*)(PyArrayMapIterObject *)) \
-         PyArray_API[295])
-#define PyArray_Partition \
-        (*(int (*)(PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND)) \
-         PyArray_API[296])
-#define PyArray_ArgPartition \
-        (*(PyObject * (*)(PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND)) \
-         PyArray_API[297])
-#define PyArray_SelectkindConverter \
-        (*(int (*)(PyObject *, NPY_SELECTKIND *)) \
-         PyArray_API[298])
-#define PyDataMem_NEW_ZEROED \
-        (*(void * (*)(size_t, size_t)) \
-         PyArray_API[299])
-#define PyArray_CheckAnyScalarExact \
-        (*(int (*)(PyObject *)) \
-         PyArray_API[300])
-
-#if !defined(NO_IMPORT_ARRAY) && !defined(NO_IMPORT)
-static int
-_import_array(void)
-{
-  int st;
-  PyObject *numpy = PyImport_ImportModule("numpy.core.multiarray");
-  PyObject *c_api = NULL;
-
-  if (numpy == NULL) {
-      PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import");
-      return -1;
-  }
-  c_api = PyObject_GetAttrString(numpy, "_ARRAY_API");
-  Py_DECREF(numpy);
-  if (c_api == NULL) {
-      PyErr_SetString(PyExc_AttributeError, "_ARRAY_API not found");
-      return -1;
-  }
-
-#if PY_VERSION_HEX >= 0x03000000
-  if (!PyCapsule_CheckExact(c_api)) {
-      PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCapsule object");
-      Py_DECREF(c_api);
-      return -1;
-  }
-  PyArray_API = (void **)PyCapsule_GetPointer(c_api, NULL);
-#else
-  if (!PyCObject_Check(c_api)) {
-      PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCObject object");
-      Py_DECREF(c_api);
-      return -1;
-  }
-  PyArray_API = (void **)PyCObject_AsVoidPtr(c_api);
-#endif
-  Py_DECREF(c_api);
-  if (PyArray_API == NULL) {
-      PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is NULL pointer");
-      return -1;
-  }
-
-  /* Perform runtime check of C API version */
-  if (NPY_VERSION != PyArray_GetNDArrayCVersion()) {
-      PyErr_Format(PyExc_RuntimeError, "module compiled against "\
-             "ABI version 0x%x but this version of numpy is 0x%x", \
-             (int) NPY_VERSION, (int) PyArray_GetNDArrayCVersion());
-      return -1;
-  }
-  if (NPY_FEATURE_VERSION > PyArray_GetNDArrayCFeatureVersion()) {
-      PyErr_Format(PyExc_RuntimeError, "module compiled against "\
-             "API version 0x%x but this version of numpy is 0x%x", \
-             (int) NPY_FEATURE_VERSION, (int) PyArray_GetNDArrayCFeatureVersion());
-      return -1;
-  }
-
-  /*
-   * Perform runtime check of endianness and check it matches the one set by
-   * the headers (npy_endian.h) as a safeguard
-   */
-  st = PyArray_GetEndianness();
-  if (st == NPY_CPU_UNKNOWN_ENDIAN) {
-      PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as unknown endian");
-      return -1;
-  }
-#if NPY_BYTE_ORDER == NPY_BIG_ENDIAN
-  if (st != NPY_CPU_BIG) {
-      PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as "\
-             "big endian, but detected different endianness at runtime");
-      return -1;
-  }
-#elif NPY_BYTE_ORDER == NPY_LITTLE_ENDIAN
-  if (st != NPY_CPU_LITTLE) {
-      PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as "\
-             "little endian, but detected different endianness at runtime");
-      return -1;
-  }
-#endif
-
-  return 0;
-}
-
-#if PY_VERSION_HEX >= 0x03000000
-#define NUMPY_IMPORT_ARRAY_RETVAL NULL
-#else
-#define NUMPY_IMPORT_ARRAY_RETVAL
-#endif
-
-#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
-
-#define import_array1(ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return ret; } }
-
-#define import_array2(msg, ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, msg); return ret; } }
-
-#endif
-
-#endif

+ 0 - 320
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/__ufunc_api.h

@@ -1,320 +0,0 @@
-
-#ifdef _UMATHMODULE
-
-extern NPY_NO_EXPORT PyTypeObject PyUFunc_Type;
-
-extern NPY_NO_EXPORT PyTypeObject PyUFunc_Type;
-
-NPY_NO_EXPORT  PyObject * PyUFunc_FromFuncAndData \
-       (PyUFuncGenericFunction *, void **, char *, int, int, int, int, const char *, const char *, int);
-NPY_NO_EXPORT  int PyUFunc_RegisterLoopForType \
-       (PyUFuncObject *, int, PyUFuncGenericFunction, int *, void *);
-NPY_NO_EXPORT  int PyUFunc_GenericFunction \
-       (PyUFuncObject *, PyObject *, PyObject *, PyArrayObject **);
-NPY_NO_EXPORT  void PyUFunc_f_f_As_d_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_d_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_f_f \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_g_g \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_F_F_As_D_D \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_F_F \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_D_D \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_G_G \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_O_O \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_ff_f_As_dd_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_ff_f \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_dd_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_gg_g \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_FF_F_As_DD_D \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_DD_D \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_FF_F \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_GG_G \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_OO_O \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_O_O_method \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_OO_O_method \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_On_Om \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  int PyUFunc_GetPyValues \
-       (char *, int *, int *, PyObject **);
-NPY_NO_EXPORT  int PyUFunc_checkfperr \
-       (int, PyObject *, int *);
-NPY_NO_EXPORT  void PyUFunc_clearfperr \
-       (void);
-NPY_NO_EXPORT  int PyUFunc_getfperr \
-       (void);
-NPY_NO_EXPORT  int PyUFunc_handlefperr \
-       (int, PyObject *, int, int *);
-NPY_NO_EXPORT  int PyUFunc_ReplaceLoopBySignature \
-       (PyUFuncObject *, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *);
-NPY_NO_EXPORT  PyObject * PyUFunc_FromFuncAndDataAndSignature \
-       (PyUFuncGenericFunction *, void **, char *, int, int, int, int, const char *, const char *, int, const char *);
-NPY_NO_EXPORT  int PyUFunc_SetUsesArraysAsData \
-       (void **, size_t);
-NPY_NO_EXPORT  void PyUFunc_e_e \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_e_e_As_f_f \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_e_e_As_d_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_ee_e \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_ee_e_As_ff_f \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  void PyUFunc_ee_e_As_dd_d \
-       (char **, npy_intp *, npy_intp *, void *);
-NPY_NO_EXPORT  int PyUFunc_DefaultTypeResolver \
-       (PyUFuncObject *, NPY_CASTING, PyArrayObject **, PyObject *, PyArray_Descr **);
-NPY_NO_EXPORT  int PyUFunc_ValidateCasting \
-       (PyUFuncObject *, NPY_CASTING, PyArrayObject **, PyArray_Descr **);
-NPY_NO_EXPORT  int PyUFunc_RegisterLoopForDescr \
-       (PyUFuncObject *, PyArray_Descr *, PyUFuncGenericFunction, PyArray_Descr **, void *);
-
-#else
-
-#if defined(PY_UFUNC_UNIQUE_SYMBOL)
-#define PyUFunc_API PY_UFUNC_UNIQUE_SYMBOL
-#endif
-
-#if defined(NO_IMPORT) || defined(NO_IMPORT_UFUNC)
-extern void **PyUFunc_API;
-#else
-#if defined(PY_UFUNC_UNIQUE_SYMBOL)
-void **PyUFunc_API;
-#else
-static void **PyUFunc_API=NULL;
-#endif
-#endif
-
-#define PyUFunc_Type (*(PyTypeObject *)PyUFunc_API[0])
-#define PyUFunc_FromFuncAndData \
-        (*(PyObject * (*)(PyUFuncGenericFunction *, void **, char *, int, int, int, int, const char *, const char *, int)) \
-         PyUFunc_API[1])
-#define PyUFunc_RegisterLoopForType \
-        (*(int (*)(PyUFuncObject *, int, PyUFuncGenericFunction, int *, void *)) \
-         PyUFunc_API[2])
-#define PyUFunc_GenericFunction \
-        (*(int (*)(PyUFuncObject *, PyObject *, PyObject *, PyArrayObject **)) \
-         PyUFunc_API[3])
-#define PyUFunc_f_f_As_d_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[4])
-#define PyUFunc_d_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[5])
-#define PyUFunc_f_f \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[6])
-#define PyUFunc_g_g \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[7])
-#define PyUFunc_F_F_As_D_D \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[8])
-#define PyUFunc_F_F \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[9])
-#define PyUFunc_D_D \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[10])
-#define PyUFunc_G_G \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[11])
-#define PyUFunc_O_O \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[12])
-#define PyUFunc_ff_f_As_dd_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[13])
-#define PyUFunc_ff_f \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[14])
-#define PyUFunc_dd_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[15])
-#define PyUFunc_gg_g \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[16])
-#define PyUFunc_FF_F_As_DD_D \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[17])
-#define PyUFunc_DD_D \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[18])
-#define PyUFunc_FF_F \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[19])
-#define PyUFunc_GG_G \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[20])
-#define PyUFunc_OO_O \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[21])
-#define PyUFunc_O_O_method \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[22])
-#define PyUFunc_OO_O_method \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[23])
-#define PyUFunc_On_Om \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[24])
-#define PyUFunc_GetPyValues \
-        (*(int (*)(char *, int *, int *, PyObject **)) \
-         PyUFunc_API[25])
-#define PyUFunc_checkfperr \
-        (*(int (*)(int, PyObject *, int *)) \
-         PyUFunc_API[26])
-#define PyUFunc_clearfperr \
-        (*(void (*)(void)) \
-         PyUFunc_API[27])
-#define PyUFunc_getfperr \
-        (*(int (*)(void)) \
-         PyUFunc_API[28])
-#define PyUFunc_handlefperr \
-        (*(int (*)(int, PyObject *, int, int *)) \
-         PyUFunc_API[29])
-#define PyUFunc_ReplaceLoopBySignature \
-        (*(int (*)(PyUFuncObject *, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *)) \
-         PyUFunc_API[30])
-#define PyUFunc_FromFuncAndDataAndSignature \
-        (*(PyObject * (*)(PyUFuncGenericFunction *, void **, char *, int, int, int, int, const char *, const char *, int, const char *)) \
-         PyUFunc_API[31])
-#define PyUFunc_SetUsesArraysAsData \
-        (*(int (*)(void **, size_t)) \
-         PyUFunc_API[32])
-#define PyUFunc_e_e \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[33])
-#define PyUFunc_e_e_As_f_f \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[34])
-#define PyUFunc_e_e_As_d_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[35])
-#define PyUFunc_ee_e \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[36])
-#define PyUFunc_ee_e_As_ff_f \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[37])
-#define PyUFunc_ee_e_As_dd_d \
-        (*(void (*)(char **, npy_intp *, npy_intp *, void *)) \
-         PyUFunc_API[38])
-#define PyUFunc_DefaultTypeResolver \
-        (*(int (*)(PyUFuncObject *, NPY_CASTING, PyArrayObject **, PyObject *, PyArray_Descr **)) \
-         PyUFunc_API[39])
-#define PyUFunc_ValidateCasting \
-        (*(int (*)(PyUFuncObject *, NPY_CASTING, PyArrayObject **, PyArray_Descr **)) \
-         PyUFunc_API[40])
-#define PyUFunc_RegisterLoopForDescr \
-        (*(int (*)(PyUFuncObject *, PyArray_Descr *, PyUFuncGenericFunction, PyArray_Descr **, void *)) \
-         PyUFunc_API[41])
-
-static NPY_INLINE int
-_import_umath(void)
-{
-  PyObject *numpy = PyImport_ImportModule("numpy.core.umath");
-  PyObject *c_api = NULL;
-
-  if (numpy == NULL) {
-      PyErr_SetString(PyExc_ImportError, "numpy.core.umath failed to import");
-      return -1;
-  }
-  c_api = PyObject_GetAttrString(numpy, "_UFUNC_API");
-  Py_DECREF(numpy);
-  if (c_api == NULL) {
-      PyErr_SetString(PyExc_AttributeError, "_UFUNC_API not found");
-      return -1;
-  }
-
-#if PY_VERSION_HEX >= 0x03000000
-  if (!PyCapsule_CheckExact(c_api)) {
-      PyErr_SetString(PyExc_RuntimeError, "_UFUNC_API is not PyCapsule object");
-      Py_DECREF(c_api);
-      return -1;
-  }
-  PyUFunc_API = (void **)PyCapsule_GetPointer(c_api, NULL);
-#else
-  if (!PyCObject_Check(c_api)) {
-      PyErr_SetString(PyExc_RuntimeError, "_UFUNC_API is not PyCObject object");
-      Py_DECREF(c_api);
-      return -1;
-  }
-  PyUFunc_API = (void **)PyCObject_AsVoidPtr(c_api);
-#endif
-  Py_DECREF(c_api);
-  if (PyUFunc_API == NULL) {
-      PyErr_SetString(PyExc_RuntimeError, "_UFUNC_API is NULL pointer");
-      return -1;
-  }
-  return 0;
-}
-
-#if PY_VERSION_HEX >= 0x03000000
-#define NUMPY_IMPORT_UMATH_RETVAL NULL
-#else
-#define NUMPY_IMPORT_UMATH_RETVAL
-#endif
-
-#define import_umath() \
-    do {\
-        UFUNC_NOFPE\
-        if (_import_umath() < 0) {\
-            PyErr_Print();\
-            PyErr_SetString(PyExc_ImportError,\
-                    "numpy.core.umath failed to import");\
-            return NUMPY_IMPORT_UMATH_RETVAL;\
-        }\
-    } while(0)
-
-#define import_umath1(ret) \
-    do {\
-        UFUNC_NOFPE\
-        if (_import_umath() < 0) {\
-            PyErr_Print();\
-            PyErr_SetString(PyExc_ImportError,\
-                    "numpy.core.umath failed to import");\
-            return ret;\
-        }\
-    } while(0)
-
-#define import_umath2(ret, msg) \
-    do {\
-        UFUNC_NOFPE\
-        if (_import_umath() < 0) {\
-            PyErr_Print();\
-            PyErr_SetString(PyExc_ImportError, msg);\
-            return ret;\
-        }\
-    } while(0)
-
-#define import_ufunc() \
-    do {\
-        UFUNC_NOFPE\
-        if (_import_umath() < 0) {\
-            PyErr_Print();\
-            PyErr_SetString(PyExc_ImportError,\
-                    "numpy.core.umath failed to import");\
-        }\
-    } while(0)
-
-#endif

+ 0 - 90
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/_neighborhood_iterator_imp.h

@@ -1,90 +0,0 @@
-#ifndef _NPY_INCLUDE_NEIGHBORHOOD_IMP
-#error You should not include this header directly
-#endif
-/*
- * Private API (here for inline)
- */
-static NPY_INLINE int
-_PyArrayNeighborhoodIter_IncrCoord(PyArrayNeighborhoodIterObject* iter);
-
-/*
- * Update to next item of the iterator
- *
- * Note: this simply increment the coordinates vector, last dimension
- * incremented first , i.e, for dimension 3
- * ...
- * -1, -1, -1
- * -1, -1,  0
- * -1, -1,  1
- *  ....
- * -1,  0, -1
- * -1,  0,  0
- *  ....
- * 0,  -1, -1
- * 0,  -1,  0
- *  ....
- */
-#define _UPDATE_COORD_ITER(c) \
-    wb = iter->coordinates[c] < iter->bounds[c][1]; \
-    if (wb) { \
-        iter->coordinates[c] += 1; \
-        return 0; \
-    } \
-    else { \
-        iter->coordinates[c] = iter->bounds[c][0]; \
-    }
-
-static NPY_INLINE int
-_PyArrayNeighborhoodIter_IncrCoord(PyArrayNeighborhoodIterObject* iter)
-{
-    npy_intp i, wb;
-
-    for (i = iter->nd - 1; i >= 0; --i) {
-        _UPDATE_COORD_ITER(i)
-    }
-
-    return 0;
-}
-
-/*
- * Version optimized for 2d arrays, manual loop unrolling
- */
-static NPY_INLINE int
-_PyArrayNeighborhoodIter_IncrCoord2D(PyArrayNeighborhoodIterObject* iter)
-{
-    npy_intp wb;
-
-    _UPDATE_COORD_ITER(1)
-    _UPDATE_COORD_ITER(0)
-
-    return 0;
-}
-#undef _UPDATE_COORD_ITER
-
-/*
- * Advance to the next neighbour
- */
-static NPY_INLINE int
-PyArrayNeighborhoodIter_Next(PyArrayNeighborhoodIterObject* iter)
-{
-    _PyArrayNeighborhoodIter_IncrCoord (iter);
-    iter->dataptr = iter->translate((PyArrayIterObject*)iter, iter->coordinates);
-
-    return 0;
-}
-
-/*
- * Reset functions
- */
-static NPY_INLINE int
-PyArrayNeighborhoodIter_Reset(PyArrayNeighborhoodIterObject* iter)
-{
-    npy_intp i;
-
-    for (i = 0; i < iter->nd; ++i) {
-        iter->coordinates[i] = iter->bounds[i][0];
-    }
-    iter->dataptr = iter->translate((PyArrayIterObject*)iter, iter->coordinates);
-
-    return 0;
-}

+ 0 - 31
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/_numpyconfig.h

@@ -1,31 +0,0 @@
-#define NPY_HAVE_ENDIAN_H 1
-#define NPY_SIZEOF_SHORT SIZEOF_SHORT
-#define NPY_SIZEOF_INT SIZEOF_INT
-#define NPY_SIZEOF_LONG SIZEOF_LONG
-#define NPY_SIZEOF_FLOAT 4
-#define NPY_SIZEOF_COMPLEX_FLOAT 8
-#define NPY_SIZEOF_DOUBLE 8
-#define NPY_SIZEOF_COMPLEX_DOUBLE 16
-#define NPY_SIZEOF_LONGDOUBLE 16
-#define NPY_SIZEOF_COMPLEX_LONGDOUBLE 32
-#define NPY_SIZEOF_PY_INTPTR_T 8
-#define NPY_SIZEOF_OFF_T 8
-#define NPY_SIZEOF_PY_LONG_LONG 8
-#define NPY_SIZEOF_LONGLONG 8
-#define NPY_NO_SMP 0
-#define NPY_HAVE_DECL_ISNAN
-#define NPY_HAVE_DECL_ISINF
-#define NPY_HAVE_DECL_ISFINITE
-#define NPY_HAVE_DECL_SIGNBIT
-#define NPY_USE_C99_COMPLEX 1
-#define NPY_HAVE_COMPLEX_DOUBLE 1
-#define NPY_HAVE_COMPLEX_FLOAT 1
-#define NPY_HAVE_COMPLEX_LONG_DOUBLE 1
-#define NPY_USE_C99_FORMATS 1
-#define NPY_VISIBILITY_HIDDEN __attribute__((visibility("hidden")))
-#define NPY_ABI_VERSION 0x01000009
-#define NPY_API_VERSION 0x0000000A
-
-#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS 1
-#endif

+ 0 - 11
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/arrayobject.h

@@ -1,11 +0,0 @@
-#ifndef Py_ARRAYOBJECT_H
-#define Py_ARRAYOBJECT_H
-
-#include "ndarrayobject.h"
-#include "npy_interrupt.h"
-
-#ifdef NPY_NO_PREFIX
-#include "noprefix.h"
-#endif
-
-#endif

+ 0 - 175
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/arrayscalars.h

@@ -1,175 +0,0 @@
-#ifndef _NPY_ARRAYSCALARS_H_
-#define _NPY_ARRAYSCALARS_H_
-
-#ifndef _MULTIARRAYMODULE
-typedef struct {
-        PyObject_HEAD
-        npy_bool obval;
-} PyBoolScalarObject;
-#endif
-
-
-typedef struct {
-        PyObject_HEAD
-        signed char obval;
-} PyByteScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        short obval;
-} PyShortScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        int obval;
-} PyIntScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        long obval;
-} PyLongScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_longlong obval;
-} PyLongLongScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        unsigned char obval;
-} PyUByteScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        unsigned short obval;
-} PyUShortScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        unsigned int obval;
-} PyUIntScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        unsigned long obval;
-} PyULongScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_ulonglong obval;
-} PyULongLongScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_half obval;
-} PyHalfScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        float obval;
-} PyFloatScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        double obval;
-} PyDoubleScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_longdouble obval;
-} PyLongDoubleScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_cfloat obval;
-} PyCFloatScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_cdouble obval;
-} PyCDoubleScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        npy_clongdouble obval;
-} PyCLongDoubleScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        PyObject * obval;
-} PyObjectScalarObject;
-
-typedef struct {
-        PyObject_HEAD
-        npy_datetime obval;
-        PyArray_DatetimeMetaData obmeta;
-} PyDatetimeScalarObject;
-
-typedef struct {
-        PyObject_HEAD
-        npy_timedelta obval;
-        PyArray_DatetimeMetaData obmeta;
-} PyTimedeltaScalarObject;
-
-
-typedef struct {
-        PyObject_HEAD
-        char obval;
-} PyScalarObject;
-
-#define PyStringScalarObject PyStringObject
-#define PyUnicodeScalarObject PyUnicodeObject
-
-typedef struct {
-        PyObject_VAR_HEAD
-        char *obval;
-        PyArray_Descr *descr;
-        int flags;
-        PyObject *base;
-} PyVoidScalarObject;
-
-/* Macros
-     Py<Cls><bitsize>ScalarObject
-     Py<Cls><bitsize>ArrType_Type
-   are defined in ndarrayobject.h
-*/
-
-#define PyArrayScalar_False ((PyObject *)(&(_PyArrayScalar_BoolValues[0])))
-#define PyArrayScalar_True ((PyObject *)(&(_PyArrayScalar_BoolValues[1])))
-#define PyArrayScalar_FromLong(i) \
-        ((PyObject *)(&(_PyArrayScalar_BoolValues[((i)!=0)])))
-#define PyArrayScalar_RETURN_BOOL_FROM_LONG(i)                  \
-        return Py_INCREF(PyArrayScalar_FromLong(i)), \
-                PyArrayScalar_FromLong(i)
-#define PyArrayScalar_RETURN_FALSE              \
-        return Py_INCREF(PyArrayScalar_False),  \
-                PyArrayScalar_False
-#define PyArrayScalar_RETURN_TRUE               \
-        return Py_INCREF(PyArrayScalar_True),   \
-                PyArrayScalar_True
-
-#define PyArrayScalar_New(cls) \
-        Py##cls##ArrType_Type.tp_alloc(&Py##cls##ArrType_Type, 0)
-#define PyArrayScalar_VAL(obj, cls)             \
-        ((Py##cls##ScalarObject *)obj)->obval
-#define PyArrayScalar_ASSIGN(obj, cls, val) \
-        PyArrayScalar_VAL(obj, cls) = val
-
-#endif

+ 0 - 70
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/halffloat.h

@@ -1,70 +0,0 @@
-#ifndef __NPY_HALFFLOAT_H__
-#define __NPY_HALFFLOAT_H__
-
-#include <Python.h>
-#include <numpy/npy_math.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Half-precision routines
- */
-
-/* Conversions */
-float npy_half_to_float(npy_half h);
-double npy_half_to_double(npy_half h);
-npy_half npy_float_to_half(float f);
-npy_half npy_double_to_half(double d);
-/* Comparisons */
-int npy_half_eq(npy_half h1, npy_half h2);
-int npy_half_ne(npy_half h1, npy_half h2);
-int npy_half_le(npy_half h1, npy_half h2);
-int npy_half_lt(npy_half h1, npy_half h2);
-int npy_half_ge(npy_half h1, npy_half h2);
-int npy_half_gt(npy_half h1, npy_half h2);
-/* faster *_nonan variants for when you know h1 and h2 are not NaN */
-int npy_half_eq_nonan(npy_half h1, npy_half h2);
-int npy_half_lt_nonan(npy_half h1, npy_half h2);
-int npy_half_le_nonan(npy_half h1, npy_half h2);
-/* Miscellaneous functions */
-int npy_half_iszero(npy_half h);
-int npy_half_isnan(npy_half h);
-int npy_half_isinf(npy_half h);
-int npy_half_isfinite(npy_half h);
-int npy_half_signbit(npy_half h);
-npy_half npy_half_copysign(npy_half x, npy_half y);
-npy_half npy_half_spacing(npy_half h);
-npy_half npy_half_nextafter(npy_half x, npy_half y);
-npy_half npy_half_divmod(npy_half x, npy_half y, npy_half *modulus);
-
-/*
- * Half-precision constants
- */
-
-#define NPY_HALF_ZERO   (0x0000u)
-#define NPY_HALF_PZERO  (0x0000u)
-#define NPY_HALF_NZERO  (0x8000u)
-#define NPY_HALF_ONE    (0x3c00u)
-#define NPY_HALF_NEGONE (0xbc00u)
-#define NPY_HALF_PINF   (0x7c00u)
-#define NPY_HALF_NINF   (0xfc00u)
-#define NPY_HALF_NAN    (0x7e00u)
-
-#define NPY_MAX_HALF    (0x7bffu)
-
-/*
- * Bit-level conversions
- */
-
-npy_uint16 npy_floatbits_to_halfbits(npy_uint32 f);
-npy_uint16 npy_doublebits_to_halfbits(npy_uint64 d);
-npy_uint32 npy_halfbits_to_floatbits(npy_uint16 h);
-npy_uint64 npy_halfbits_to_doublebits(npy_uint16 h);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif

+ 0 - 2449
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/multiarray_api.txt

@@ -1,2449 +0,0 @@
-
-===========
-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, ENSUREARRAY)
-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.
-
-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 (even on failure)
-
-::
-
-  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
-
-steal a reference
-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.
-
-::
-
-  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 explicite 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'.
-
-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/descruction 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. Please note
-that most of this public API is currently not guaranteed
-to stay the same between versions. If you plan on using
-it, please consider adding more utility functions here
-to accommodate new features.
-
-::
-
-  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
-

+ 0 - 246
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ndarrayobject.h

@@ -1,246 +0,0 @@
-/*
- * DON'T INCLUDE THIS DIRECTLY.
- */
-
-#ifndef NPY_NDARRAYOBJECT_H
-#define NPY_NDARRAYOBJECT_H
-#ifdef __cplusplus
-#define CONFUSE_EMACS {
-#define CONFUSE_EMACS2 }
-extern "C" CONFUSE_EMACS
-#undef CONFUSE_EMACS
-#undef CONFUSE_EMACS2
-/* ... otherwise a semi-smart identer (like emacs) tries to indent
-       everything when you're typing */
-#endif
-
-#include <Python.h>
-#include "ndarraytypes.h"
-
-/* Includes the "function" C-API -- these are all stored in a
-   list of pointers --- one for each file
-   The two lists are concatenated into one in multiarray.
-
-   They are available as import_array()
-*/
-
-#include "__multiarray_api.h"
-
-
-/* C-API that requries previous API to be defined */
-
-#define PyArray_DescrCheck(op) (((PyObject*)(op))->ob_type==&PyArrayDescr_Type)
-
-#define PyArray_Check(op) PyObject_TypeCheck(op, &PyArray_Type)
-#define PyArray_CheckExact(op) (((PyObject*)(op))->ob_type == &PyArray_Type)
-
-#define PyArray_HasArrayInterfaceType(op, type, context, out)                 \
-        ((((out)=PyArray_FromStructInterface(op)) != Py_NotImplemented) ||    \
-         (((out)=PyArray_FromInterface(op)) != Py_NotImplemented) ||          \
-         (((out)=PyArray_FromArrayAttr(op, type, context)) !=                 \
-          Py_NotImplemented))
-
-#define PyArray_HasArrayInterface(op, out)                                    \
-        PyArray_HasArrayInterfaceType(op, NULL, NULL, out)
-
-#define PyArray_IsZeroDim(op) (PyArray_Check(op) && \
-                               (PyArray_NDIM((PyArrayObject *)op) == 0))
-
-#define PyArray_IsScalar(obj, cls)                                            \
-        (PyObject_TypeCheck(obj, &Py##cls##ArrType_Type))
-
-#define PyArray_CheckScalar(m) (PyArray_IsScalar(m, Generic) ||               \
-                                PyArray_IsZeroDim(m))
-#if PY_MAJOR_VERSION >= 3
-#define PyArray_IsPythonNumber(obj)                                           \
-        (PyFloat_Check(obj) || PyComplex_Check(obj) ||                        \
-         PyLong_Check(obj) || PyBool_Check(obj))
-#define PyArray_IsIntegerScalar(obj) (PyLong_Check(obj)                       \
-              || PyArray_IsScalar((obj), Integer))
-#define PyArray_IsPythonScalar(obj)                                           \
-        (PyArray_IsPythonNumber(obj) || PyBytes_Check(obj) ||                 \
-         PyUnicode_Check(obj))
-#else
-#define PyArray_IsPythonNumber(obj)                                           \
-        (PyInt_Check(obj) || PyFloat_Check(obj) || PyComplex_Check(obj) ||    \
-         PyLong_Check(obj) || PyBool_Check(obj))
-#define PyArray_IsIntegerScalar(obj) (PyInt_Check(obj)                        \
-              || PyLong_Check(obj)                                            \
-              || PyArray_IsScalar((obj), Integer))
-#define PyArray_IsPythonScalar(obj)                                           \
-        (PyArray_IsPythonNumber(obj) || PyString_Check(obj) ||                \
-         PyUnicode_Check(obj))
-#endif
-
-#define PyArray_IsAnyScalar(obj)                                              \
-        (PyArray_IsScalar(obj, Generic) || PyArray_IsPythonScalar(obj))
-
-#define PyArray_CheckAnyScalar(obj) (PyArray_IsPythonScalar(obj) ||           \
-                                     PyArray_CheckScalar(obj))
-
-
-#define PyArray_GETCONTIGUOUS(m) (PyArray_ISCONTIGUOUS(m) ?                   \
-                                  Py_INCREF(m), (m) :                         \
-                                  (PyArrayObject *)(PyArray_Copy(m)))
-
-#define PyArray_SAMESHAPE(a1,a2) ((PyArray_NDIM(a1) == PyArray_NDIM(a2)) &&   \
-                                  PyArray_CompareLists(PyArray_DIMS(a1),      \
-                                                       PyArray_DIMS(a2),      \
-                                                       PyArray_NDIM(a1)))
-
-#define PyArray_SIZE(m) PyArray_MultiplyList(PyArray_DIMS(m), PyArray_NDIM(m))
-#define PyArray_NBYTES(m) (PyArray_ITEMSIZE(m) * PyArray_SIZE(m))
-#define PyArray_FROM_O(m) PyArray_FromAny(m, NULL, 0, 0, 0, NULL)
-
-#define PyArray_FROM_OF(m,flags) PyArray_CheckFromAny(m, NULL, 0, 0, flags,   \
-                                                      NULL)
-
-#define PyArray_FROM_OT(m,type) PyArray_FromAny(m,                            \
-                                PyArray_DescrFromType(type), 0, 0, 0, NULL)
-
-#define PyArray_FROM_OTF(m, type, flags) \
-        PyArray_FromAny(m, PyArray_DescrFromType(type), 0, 0, \
-                        (((flags) & NPY_ARRAY_ENSURECOPY) ? \
-                         ((flags) | NPY_ARRAY_DEFAULT) : (flags)), NULL)
-
-#define PyArray_FROMANY(m, type, min, max, flags) \
-        PyArray_FromAny(m, PyArray_DescrFromType(type), min, max, \
-                        (((flags) & NPY_ARRAY_ENSURECOPY) ? \
-                         (flags) | NPY_ARRAY_DEFAULT : (flags)), NULL)
-
-#define PyArray_ZEROS(m, dims, type, is_f_order) \
-        PyArray_Zeros(m, dims, PyArray_DescrFromType(type), is_f_order)
-
-#define PyArray_EMPTY(m, dims, type, is_f_order) \
-        PyArray_Empty(m, dims, PyArray_DescrFromType(type), is_f_order)
-
-#define PyArray_FILLWBYTE(obj, val) memset(PyArray_DATA(obj), val, \
-                                           PyArray_NBYTES(obj))
-
-#define PyArray_REFCOUNT(obj) (((PyObject *)(obj))->ob_refcnt)
-#define NPY_REFCOUNT PyArray_REFCOUNT
-#define NPY_MAX_ELSIZE (2 * NPY_SIZEOF_LONGDOUBLE)
-
-#define PyArray_ContiguousFromAny(op, type, min_depth, max_depth) \
-        PyArray_FromAny(op, PyArray_DescrFromType(type), min_depth, \
-                              max_depth, NPY_ARRAY_DEFAULT, NULL)
-
-#define PyArray_EquivArrTypes(a1, a2) \
-        PyArray_EquivTypes(PyArray_DESCR(a1), PyArray_DESCR(a2))
-
-#define PyArray_EquivByteorders(b1, b2) \
-        (((b1) == (b2)) || (PyArray_ISNBO(b1) == PyArray_ISNBO(b2)))
-
-#define PyArray_SimpleNew(nd, dims, typenum) \
-        PyArray_New(&PyArray_Type, nd, dims, typenum, NULL, NULL, 0, 0, NULL)
-
-#define PyArray_SimpleNewFromData(nd, dims, typenum, data) \
-        PyArray_New(&PyArray_Type, nd, dims, typenum, NULL, \
-                    data, 0, NPY_ARRAY_CARRAY, NULL)
-
-#define PyArray_SimpleNewFromDescr(nd, dims, descr) \
-        PyArray_NewFromDescr(&PyArray_Type, descr, nd, dims, \
-                             NULL, NULL, 0, NULL)
-
-#define PyArray_ToScalar(data, arr) \
-        PyArray_Scalar(data, PyArray_DESCR(arr), (PyObject *)arr)
-
-
-/* These might be faster without the dereferencing of obj
-   going on inside -- of course an optimizing compiler should
-   inline the constants inside a for loop making it a moot point
-*/
-
-#define PyArray_GETPTR1(obj, i) ((void *)(PyArray_BYTES(obj) + \
-                                         (i)*PyArray_STRIDES(obj)[0]))
-
-#define PyArray_GETPTR2(obj, i, j) ((void *)(PyArray_BYTES(obj) + \
-                                            (i)*PyArray_STRIDES(obj)[0] + \
-                                            (j)*PyArray_STRIDES(obj)[1]))
-
-#define PyArray_GETPTR3(obj, i, j, k) ((void *)(PyArray_BYTES(obj) + \
-                                            (i)*PyArray_STRIDES(obj)[0] + \
-                                            (j)*PyArray_STRIDES(obj)[1] + \
-                                            (k)*PyArray_STRIDES(obj)[2]))
-
-#define PyArray_GETPTR4(obj, i, j, k, l) ((void *)(PyArray_BYTES(obj) + \
-                                            (i)*PyArray_STRIDES(obj)[0] + \
-                                            (j)*PyArray_STRIDES(obj)[1] + \
-                                            (k)*PyArray_STRIDES(obj)[2] + \
-                                            (l)*PyArray_STRIDES(obj)[3]))
-
-static NPY_INLINE void
-PyArray_XDECREF_ERR(PyArrayObject *arr)
-{
-    if (arr != NULL) {
-        if (PyArray_FLAGS(arr) & NPY_ARRAY_UPDATEIFCOPY) {
-            PyArrayObject *base = (PyArrayObject *)PyArray_BASE(arr);
-            PyArray_ENABLEFLAGS(base, NPY_ARRAY_WRITEABLE);
-            PyArray_CLEARFLAGS(arr, NPY_ARRAY_UPDATEIFCOPY);
-        }
-        Py_DECREF(arr);
-    }
-}
-
-#define PyArray_DESCR_REPLACE(descr) do { \
-                PyArray_Descr *_new_; \
-                _new_ = PyArray_DescrNew(descr); \
-                Py_XDECREF(descr); \
-                descr = _new_; \
-        } while(0)
-
-/* Copy should always return contiguous array */
-#define PyArray_Copy(obj) PyArray_NewCopy(obj, NPY_CORDER)
-
-#define PyArray_FromObject(op, type, min_depth, max_depth) \
-        PyArray_FromAny(op, PyArray_DescrFromType(type), min_depth, \
-                              max_depth, NPY_ARRAY_BEHAVED | \
-                                         NPY_ARRAY_ENSUREARRAY, NULL)
-
-#define PyArray_ContiguousFromObject(op, type, min_depth, max_depth) \
-        PyArray_FromAny(op, PyArray_DescrFromType(type), min_depth, \
-                              max_depth, NPY_ARRAY_DEFAULT | \
-                                         NPY_ARRAY_ENSUREARRAY, NULL)
-
-#define PyArray_CopyFromObject(op, type, min_depth, max_depth) \
-        PyArray_FromAny(op, PyArray_DescrFromType(type), min_depth, \
-                        max_depth, NPY_ARRAY_ENSURECOPY | \
-                                   NPY_ARRAY_DEFAULT | \
-                                   NPY_ARRAY_ENSUREARRAY, NULL)
-
-#define PyArray_Cast(mp, type_num)                                            \
-        PyArray_CastToType(mp, PyArray_DescrFromType(type_num), 0)
-
-#define PyArray_Take(ap, items, axis)                                         \
-        PyArray_TakeFrom(ap, items, axis, NULL, NPY_RAISE)
-
-#define PyArray_Put(ap, items, values)                                        \
-        PyArray_PutTo(ap, items, values, NPY_RAISE)
-
-/* Compatibility with old Numeric stuff -- don't use in new code */
-
-#define PyArray_FromDimsAndData(nd, d, type, data)                            \
-        PyArray_FromDimsAndDataAndDescr(nd, d, PyArray_DescrFromType(type),   \
-                                        data)
-
-
-/*
-   Check to see if this key in the dictionary is the "title"
-   entry of the tuple (i.e. a duplicate dictionary entry in the fields
-   dict.
-*/
-
-#define NPY_TITLE_KEY(key, value) ((PyTuple_GET_SIZE((value))==3) && \
-                                   (PyTuple_GET_ITEM((value), 2) == (key)))
-
-
-#define DEPRECATE(msg) PyErr_WarnEx(PyExc_DeprecationWarning,msg,1)
-#define DEPRECATE_FUTUREWARNING(msg) PyErr_WarnEx(PyExc_FutureWarning,msg,1)
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* NPY_NDARRAYOBJECT_H */

+ 0 - 1793
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ndarraytypes.h

@@ -1,1793 +0,0 @@
-#ifndef NDARRAYTYPES_H
-#define NDARRAYTYPES_H
-
-#include "npy_common.h"
-#include "npy_endian.h"
-#include "npy_cpu.h"
-#include "utils.h"
-
-#define NPY_NO_EXPORT NPY_VISIBILITY_HIDDEN
-
-/* Only use thread if configured in config and python supports it */
-#if defined WITH_THREAD && !NPY_NO_SMP
-        #define NPY_ALLOW_THREADS 1
-#else
-        #define NPY_ALLOW_THREADS 0
-#endif
-
-
-
-/*
- * There are several places in the code where an array of dimensions
- * is allocated statically.  This is the size of that static
- * allocation.
- *
- * The array creation itself could have arbitrary dimensions but all
- * the places where static allocation is used would need to be changed
- * to dynamic (including inside of several structures)
- */
-
-#define NPY_MAXDIMS 32
-#define NPY_MAXARGS 32
-
-/* Used for Converter Functions "O&" code in ParseTuple */
-#define NPY_FAIL 0
-#define NPY_SUCCEED 1
-
-/*
- * Binary compatibility version number.  This number is increased
- * whenever the C-API is changed such that binary compatibility is
- * broken, i.e. whenever a recompile of extension modules is needed.
- */
-#define NPY_VERSION NPY_ABI_VERSION
-
-/*
- * Minor API version.  This number is increased whenever a change is
- * made to the C-API -- whether it breaks binary compatibility or not.
- * Some changes, such as adding a function pointer to the end of the
- * function table, can be made without breaking binary compatibility.
- * In this case, only the NPY_FEATURE_VERSION (*not* NPY_VERSION)
- * would be increased.  Whenever binary compatibility is broken, both
- * NPY_VERSION and NPY_FEATURE_VERSION should be increased.
- */
-#define NPY_FEATURE_VERSION NPY_API_VERSION
-
-enum NPY_TYPES {    NPY_BOOL=0,
-                    NPY_BYTE, NPY_UBYTE,
-                    NPY_SHORT, NPY_USHORT,
-                    NPY_INT, NPY_UINT,
-                    NPY_LONG, NPY_ULONG,
-                    NPY_LONGLONG, NPY_ULONGLONG,
-                    NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
-                    NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
-                    NPY_OBJECT=17,
-                    NPY_STRING, NPY_UNICODE,
-                    NPY_VOID,
-                    /*
-                     * New 1.6 types appended, may be integrated
-                     * into the above in 2.0.
-                     */
-                    NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
-
-                    NPY_NTYPES,
-                    NPY_NOTYPE,
-                    NPY_CHAR,      /* special flag */
-                    NPY_USERDEF=256,  /* leave room for characters */
-
-                    /* The number of types not including the new 1.6 types */
-                    NPY_NTYPES_ABI_COMPATIBLE=21
-};
-
-/* basetype array priority */
-#define NPY_PRIORITY 0.0
-
-/* default subtype priority */
-#define NPY_SUBTYPE_PRIORITY 1.0
-
-/* default scalar priority */
-#define NPY_SCALAR_PRIORITY -1000000.0
-
-/* How many floating point types are there (excluding half) */
-#define NPY_NUM_FLOATTYPE 3
-
-/*
- * These characters correspond to the array type and the struct
- * module
- */
-
-enum NPY_TYPECHAR {
-        NPY_BOOLLTR = '?',
-        NPY_BYTELTR = 'b',
-        NPY_UBYTELTR = 'B',
-        NPY_SHORTLTR = 'h',
-        NPY_USHORTLTR = 'H',
-        NPY_INTLTR = 'i',
-        NPY_UINTLTR = 'I',
-        NPY_LONGLTR = 'l',
-        NPY_ULONGLTR = 'L',
-        NPY_LONGLONGLTR = 'q',
-        NPY_ULONGLONGLTR = 'Q',
-        NPY_HALFLTR = 'e',
-        NPY_FLOATLTR = 'f',
-        NPY_DOUBLELTR = 'd',
-        NPY_LONGDOUBLELTR = 'g',
-        NPY_CFLOATLTR = 'F',
-        NPY_CDOUBLELTR = 'D',
-        NPY_CLONGDOUBLELTR = 'G',
-        NPY_OBJECTLTR = 'O',
-        NPY_STRINGLTR = 'S',
-        NPY_STRINGLTR2 = 'a',
-        NPY_UNICODELTR = 'U',
-        NPY_VOIDLTR = 'V',
-        NPY_DATETIMELTR = 'M',
-        NPY_TIMEDELTALTR = 'm',
-        NPY_CHARLTR = 'c',
-
-        /*
-         * No Descriptor, just a define -- this let's
-         * Python users specify an array of integers
-         * large enough to hold a pointer on the
-         * platform
-         */
-        NPY_INTPLTR = 'p',
-        NPY_UINTPLTR = 'P',
-
-        /*
-         * These are for dtype 'kinds', not dtype 'typecodes'
-         * as the above are for.
-         */
-        NPY_GENBOOLLTR ='b',
-        NPY_SIGNEDLTR = 'i',
-        NPY_UNSIGNEDLTR = 'u',
-        NPY_FLOATINGLTR = 'f',
-        NPY_COMPLEXLTR = 'c'
-};
-
-typedef enum {
-        NPY_QUICKSORT=0,
-        NPY_HEAPSORT=1,
-        NPY_MERGESORT=2
-} NPY_SORTKIND;
-#define NPY_NSORTS (NPY_MERGESORT + 1)
-
-
-typedef enum {
-        NPY_INTROSELECT=0
-} NPY_SELECTKIND;
-#define NPY_NSELECTS (NPY_INTROSELECT + 1)
-
-
-typedef enum {
-        NPY_SEARCHLEFT=0,
-        NPY_SEARCHRIGHT=1
-} NPY_SEARCHSIDE;
-#define NPY_NSEARCHSIDES (NPY_SEARCHRIGHT + 1)
-
-
-typedef enum {
-        NPY_NOSCALAR=-1,
-        NPY_BOOL_SCALAR,
-        NPY_INTPOS_SCALAR,
-        NPY_INTNEG_SCALAR,
-        NPY_FLOAT_SCALAR,
-        NPY_COMPLEX_SCALAR,
-        NPY_OBJECT_SCALAR
-} NPY_SCALARKIND;
-#define NPY_NSCALARKINDS (NPY_OBJECT_SCALAR + 1)
-
-/* For specifying array memory layout or iteration order */
-typedef enum {
-        /* Fortran order if inputs are all Fortran, C otherwise */
-        NPY_ANYORDER=-1,
-        /* C order */
-        NPY_CORDER=0,
-        /* Fortran order */
-        NPY_FORTRANORDER=1,
-        /* An order as close to the inputs as possible */
-        NPY_KEEPORDER=2
-} NPY_ORDER;
-
-/* For specifying allowed casting in operations which support it */
-typedef enum {
-        /* Only allow identical types */
-        NPY_NO_CASTING=0,
-        /* Allow identical and byte swapped types */
-        NPY_EQUIV_CASTING=1,
-        /* Only allow safe casts */
-        NPY_SAFE_CASTING=2,
-        /* Allow safe casts or casts within the same kind */
-        NPY_SAME_KIND_CASTING=3,
-        /* Allow any casts */
-        NPY_UNSAFE_CASTING=4
-} NPY_CASTING;
-
-typedef enum {
-        NPY_CLIP=0,
-        NPY_WRAP=1,
-        NPY_RAISE=2
-} NPY_CLIPMODE;
-
-/* The special not-a-time (NaT) value */
-#define NPY_DATETIME_NAT NPY_MIN_INT64
-
-/*
- * Upper bound on the length of a DATETIME ISO 8601 string
- *   YEAR: 21 (64-bit year)
- *   MONTH: 3
- *   DAY: 3
- *   HOURS: 3
- *   MINUTES: 3
- *   SECONDS: 3
- *   ATTOSECONDS: 1 + 3*6
- *   TIMEZONE: 5
- *   NULL TERMINATOR: 1
- */
-#define NPY_DATETIME_MAX_ISO8601_STRLEN (21+3*5+1+3*6+6+1)
-
-typedef enum {
-        NPY_FR_Y = 0,  /* Years */
-        NPY_FR_M = 1,  /* Months */
-        NPY_FR_W = 2,  /* Weeks */
-        /* Gap where 1.6 NPY_FR_B (value 3) was */
-        NPY_FR_D = 4,  /* Days */
-        NPY_FR_h = 5,  /* hours */
-        NPY_FR_m = 6,  /* minutes */
-        NPY_FR_s = 7,  /* seconds */
-        NPY_FR_ms = 8, /* milliseconds */
-        NPY_FR_us = 9, /* microseconds */
-        NPY_FR_ns = 10,/* nanoseconds */
-        NPY_FR_ps = 11,/* picoseconds */
-        NPY_FR_fs = 12,/* femtoseconds */
-        NPY_FR_as = 13,/* attoseconds */
-        NPY_FR_GENERIC = 14 /* Generic, unbound units, can convert to anything */
-} NPY_DATETIMEUNIT;
-
-/*
- * NOTE: With the NPY_FR_B gap for 1.6 ABI compatibility, NPY_DATETIME_NUMUNITS
- *       is technically one more than the actual number of units.
- */
-#define NPY_DATETIME_NUMUNITS (NPY_FR_GENERIC + 1)
-#define NPY_DATETIME_DEFAULTUNIT NPY_FR_GENERIC
-
-/*
- * Business day conventions for mapping invalid business
- * days to valid business days.
- */
-typedef enum {
-    /* Go forward in time to the following business day. */
-    NPY_BUSDAY_FORWARD,
-    NPY_BUSDAY_FOLLOWING = NPY_BUSDAY_FORWARD,
-    /* Go backward in time to the preceding business day. */
-    NPY_BUSDAY_BACKWARD,
-    NPY_BUSDAY_PRECEDING = NPY_BUSDAY_BACKWARD,
-    /*
-     * Go forward in time to the following business day, unless it
-     * crosses a month boundary, in which case go backward
-     */
-    NPY_BUSDAY_MODIFIEDFOLLOWING,
-    /*
-     * Go backward in time to the preceding business day, unless it
-     * crosses a month boundary, in which case go forward.
-     */
-    NPY_BUSDAY_MODIFIEDPRECEDING,
-    /* Produce a NaT for non-business days. */
-    NPY_BUSDAY_NAT,
-    /* Raise an exception for non-business days. */
-    NPY_BUSDAY_RAISE
-} NPY_BUSDAY_ROLL;
-
-/************************************************************
- * NumPy Auxiliary Data for inner loops, sort functions, etc.
- ************************************************************/
-
-/*
- * When creating an auxiliary data struct, this should always appear
- * as the first member, like this:
- *
- * typedef struct {
- *     NpyAuxData base;
- *     double constant;
- * } constant_multiplier_aux_data;
- */
-typedef struct NpyAuxData_tag NpyAuxData;
-
-/* Function pointers for freeing or cloning auxiliary data */
-typedef void (NpyAuxData_FreeFunc) (NpyAuxData *);
-typedef NpyAuxData *(NpyAuxData_CloneFunc) (NpyAuxData *);
-
-struct NpyAuxData_tag {
-    NpyAuxData_FreeFunc *free;
-    NpyAuxData_CloneFunc *clone;
-    /* To allow for a bit of expansion without breaking the ABI */
-    void *reserved[2];
-};
-
-/* Macros to use for freeing and cloning auxiliary data */
-#define NPY_AUXDATA_FREE(auxdata) \
-    do { \
-        if ((auxdata) != NULL) { \
-            (auxdata)->free(auxdata); \
-        } \
-    } while(0)
-#define NPY_AUXDATA_CLONE(auxdata) \
-    ((auxdata)->clone(auxdata))
-
-#define NPY_ERR(str) fprintf(stderr, #str); fflush(stderr);
-#define NPY_ERR2(str) fprintf(stderr, str); fflush(stderr);
-
-#define NPY_STRINGIFY(x) #x
-#define NPY_TOSTRING(x) NPY_STRINGIFY(x)
-
-  /*
-   * Macros to define how array, and dimension/strides data is
-   * allocated.
-   */
-
-  /* Data buffer - PyDataMem_NEW/FREE/RENEW are in multiarraymodule.c */
-
-#define NPY_USE_PYMEM 1
-
-#if NPY_USE_PYMEM == 1
-#define PyArray_malloc PyMem_Malloc
-#define PyArray_free PyMem_Free
-#define PyArray_realloc PyMem_Realloc
-#else
-#define PyArray_malloc malloc
-#define PyArray_free free
-#define PyArray_realloc realloc
-#endif
-
-/* Dimensions and strides */
-#define PyDimMem_NEW(size)                                         \
-    ((npy_intp *)PyArray_malloc(size*sizeof(npy_intp)))
-
-#define PyDimMem_FREE(ptr) PyArray_free(ptr)
-
-#define PyDimMem_RENEW(ptr,size)                                   \
-        ((npy_intp *)PyArray_realloc(ptr,size*sizeof(npy_intp)))
-
-/* forward declaration */
-struct _PyArray_Descr;
-
-/* These must deal with unaligned and swapped data if necessary */
-typedef PyObject * (PyArray_GetItemFunc) (void *, void *);
-typedef int (PyArray_SetItemFunc)(PyObject *, void *, void *);
-
-typedef void (PyArray_CopySwapNFunc)(void *, npy_intp, void *, npy_intp,
-                                     npy_intp, int, void *);
-
-typedef void (PyArray_CopySwapFunc)(void *, void *, int, void *);
-typedef npy_bool (PyArray_NonzeroFunc)(void *, void *);
-
-
-/*
- * These assume aligned and notswapped data -- a buffer will be used
- * before or contiguous data will be obtained
- */
-
-typedef int (PyArray_CompareFunc)(const void *, const void *, void *);
-typedef int (PyArray_ArgFunc)(void*, npy_intp, npy_intp*, void *);
-
-typedef void (PyArray_DotFunc)(void *, npy_intp, void *, npy_intp, void *,
-                               npy_intp, void *);
-
-typedef void (PyArray_VectorUnaryFunc)(void *, void *, npy_intp, void *,
-                                       void *);
-
-/*
- * XXX the ignore argument should be removed next time the API version
- * is bumped. It used to be the separator.
- */
-typedef int (PyArray_ScanFunc)(FILE *fp, void *dptr,
-                               char *ignore, struct _PyArray_Descr *);
-typedef int (PyArray_FromStrFunc)(char *s, void *dptr, char **endptr,
-                                  struct _PyArray_Descr *);
-
-typedef int (PyArray_FillFunc)(void *, npy_intp, void *);
-
-typedef int (PyArray_SortFunc)(void *, npy_intp, void *);
-typedef int (PyArray_ArgSortFunc)(void *, npy_intp *, npy_intp, void *);
-typedef int (PyArray_PartitionFunc)(void *, npy_intp, npy_intp,
-                                    npy_intp *, npy_intp *,
-                                    void *);
-typedef int (PyArray_ArgPartitionFunc)(void *, npy_intp *, npy_intp, npy_intp,
-                                       npy_intp *, npy_intp *,
-                                       void *);
-
-typedef int (PyArray_FillWithScalarFunc)(void *, npy_intp, void *, void *);
-
-typedef int (PyArray_ScalarKindFunc)(void *);
-
-typedef void (PyArray_FastClipFunc)(void *in, npy_intp n_in, void *min,
-                                    void *max, void *out);
-typedef void (PyArray_FastPutmaskFunc)(void *in, void *mask, npy_intp n_in,
-                                       void *values, npy_intp nv);
-typedef int  (PyArray_FastTakeFunc)(void *dest, void *src, npy_intp *indarray,
-                                       npy_intp nindarray, npy_intp n_outer,
-                                       npy_intp m_middle, npy_intp nelem,
-                                       NPY_CLIPMODE clipmode);
-
-typedef struct {
-        npy_intp *ptr;
-        int len;
-} PyArray_Dims;
-
-typedef struct {
-        /*
-         * Functions to cast to most other standard types
-         * Can have some NULL entries. The types
-         * DATETIME, TIMEDELTA, and HALF go into the castdict
-         * even though they are built-in.
-         */
-        PyArray_VectorUnaryFunc *cast[NPY_NTYPES_ABI_COMPATIBLE];
-
-        /* The next four functions *cannot* be NULL */
-
-        /*
-         * Functions to get and set items with standard Python types
-         * -- not array scalars
-         */
-        PyArray_GetItemFunc *getitem;
-        PyArray_SetItemFunc *setitem;
-
-        /*
-         * Copy and/or swap data.  Memory areas may not overlap
-         * Use memmove first if they might
-         */
-        PyArray_CopySwapNFunc *copyswapn;
-        PyArray_CopySwapFunc *copyswap;
-
-        /*
-         * Function to compare items
-         * Can be NULL
-         */
-        PyArray_CompareFunc *compare;
-
-        /*
-         * Function to select largest
-         * Can be NULL
-         */
-        PyArray_ArgFunc *argmax;
-
-        /*
-         * Function to compute dot product
-         * Can be NULL
-         */
-        PyArray_DotFunc *dotfunc;
-
-        /*
-         * Function to scan an ASCII file and
-         * place a single value plus possible separator
-         * Can be NULL
-         */
-        PyArray_ScanFunc *scanfunc;
-
-        /*
-         * Function to read a single value from a string
-         * and adjust the pointer; Can be NULL
-         */
-        PyArray_FromStrFunc *fromstr;
-
-        /*
-         * Function to determine if data is zero or not
-         * If NULL a default version is
-         * used at Registration time.
-         */
-        PyArray_NonzeroFunc *nonzero;
-
-        /*
-         * Used for arange.
-         * Can be NULL.
-         */
-        PyArray_FillFunc *fill;
-
-        /*
-         * Function to fill arrays with scalar values
-         * Can be NULL
-         */
-        PyArray_FillWithScalarFunc *fillwithscalar;
-
-        /*
-         * Sorting functions
-         * Can be NULL
-         */
-        PyArray_SortFunc *sort[NPY_NSORTS];
-        PyArray_ArgSortFunc *argsort[NPY_NSORTS];
-
-        /*
-         * Dictionary of additional casting functions
-         * PyArray_VectorUnaryFuncs
-         * which can be populated to support casting
-         * to other registered types. Can be NULL
-         */
-        PyObject *castdict;
-
-        /*
-         * Functions useful for generalizing
-         * the casting rules.
-         * Can be NULL;
-         */
-        PyArray_ScalarKindFunc *scalarkind;
-        int **cancastscalarkindto;
-        int *cancastto;
-
-        PyArray_FastClipFunc *fastclip;
-        PyArray_FastPutmaskFunc *fastputmask;
-        PyArray_FastTakeFunc *fasttake;
-
-        /*
-         * Function to select smallest
-         * Can be NULL
-         */
-        PyArray_ArgFunc *argmin;
-
-} PyArray_ArrFuncs;
-
-/* The item must be reference counted when it is inserted or extracted. */
-#define NPY_ITEM_REFCOUNT   0x01
-/* Same as needing REFCOUNT */
-#define NPY_ITEM_HASOBJECT  0x01
-/* Convert to list for pickling */
-#define NPY_LIST_PICKLE     0x02
-/* The item is a POINTER  */
-#define NPY_ITEM_IS_POINTER 0x04
-/* memory needs to be initialized for this data-type */
-#define NPY_NEEDS_INIT      0x08
-/* operations need Python C-API so don't give-up thread. */
-#define NPY_NEEDS_PYAPI     0x10
-/* Use f.getitem when extracting elements of this data-type */
-#define NPY_USE_GETITEM     0x20
-/* Use f.setitem when setting creating 0-d array from this data-type.*/
-#define NPY_USE_SETITEM     0x40
-/* A sticky flag specifically for structured arrays */
-#define NPY_ALIGNED_STRUCT  0x80
-
-/*
- *These are inherited for global data-type if any data-types in the
- * field have them
- */
-#define NPY_FROM_FIELDS    (NPY_NEEDS_INIT | NPY_LIST_PICKLE | \
-                            NPY_ITEM_REFCOUNT | NPY_NEEDS_PYAPI)
-
-#define NPY_OBJECT_DTYPE_FLAGS (NPY_LIST_PICKLE | NPY_USE_GETITEM | \
-                                NPY_ITEM_IS_POINTER | NPY_ITEM_REFCOUNT | \
-                                NPY_NEEDS_INIT | NPY_NEEDS_PYAPI)
-
-#define PyDataType_FLAGCHK(dtype, flag) \
-        (((dtype)->flags & (flag)) == (flag))
-
-#define PyDataType_REFCHK(dtype) \
-        PyDataType_FLAGCHK(dtype, NPY_ITEM_REFCOUNT)
-
-typedef struct _PyArray_Descr {
-        PyObject_HEAD
-        /*
-         * the type object representing an
-         * instance of this type -- should not
-         * be two type_numbers with the same type
-         * object.
-         */
-        PyTypeObject *typeobj;
-        /* kind for this type */
-        char kind;
-        /* unique-character representing this type */
-        char type;
-        /*
-         * '>' (big), '<' (little), '|'
-         * (not-applicable), or '=' (native).
-         */
-        char byteorder;
-        /* flags describing data type */
-        char flags;
-        /* number representing this type */
-        int type_num;
-        /* element size (itemsize) for this type */
-        int elsize;
-        /* alignment needed for this type */
-        int alignment;
-        /*
-         * Non-NULL if this type is
-         * is an array (C-contiguous)
-         * of some other type
-         */
-        struct _arr_descr *subarray;
-        /*
-         * The fields dictionary for this type
-         * For statically defined descr this
-         * is always Py_None
-         */
-        PyObject *fields;
-        /*
-         * An ordered tuple of field names or NULL
-         * if no fields are defined
-         */
-        PyObject *names;
-        /*
-         * a table of functions specific for each
-         * basic data descriptor
-         */
-        PyArray_ArrFuncs *f;
-        /* Metadata about this dtype */
-        PyObject *metadata;
-        /*
-         * Metadata specific to the C implementation
-         * of the particular dtype. This was added
-         * for NumPy 1.7.0.
-         */
-        NpyAuxData *c_metadata;
-        /* Cached hash value (-1 if not yet computed).
-         * This was added for NumPy 2.0.0.
-         */
-        npy_hash_t hash;
-} PyArray_Descr;
-
-typedef struct _arr_descr {
-        PyArray_Descr *base;
-        PyObject *shape;       /* a tuple */
-} PyArray_ArrayDescr;
-
-/*
- * The main array object structure.
- *
- * It has been recommended to use the inline functions defined below
- * (PyArray_DATA and friends) to access fields here for a number of
- * releases. Direct access to the members themselves is deprecated.
- * To ensure that your code does not use deprecated access,
- * #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
- * (or NPY_1_8_API_VERSION or higher as required).
- */
-/* This struct will be moved to a private header in a future release */
-typedef struct tagPyArrayObject_fields {
-    PyObject_HEAD
-    /* Pointer to the raw data buffer */
-    char *data;
-    /* The number of dimensions, also called 'ndim' */
-    int nd;
-    /* The size in each dimension, also called 'shape' */
-    npy_intp *dimensions;
-    /*
-     * Number of bytes to jump to get to the
-     * next element in each dimension
-     */
-    npy_intp *strides;
-    /*
-     * This object is decref'd upon
-     * deletion of array. Except in the
-     * case of UPDATEIFCOPY which has
-     * special handling.
-     *
-     * For views it points to the original
-     * array, collapsed so no chains of
-     * views occur.
-     *
-     * For creation from buffer object it
-     * points to an object that shold be
-     * decref'd on deletion
-     *
-     * For UPDATEIFCOPY flag this is an
-     * array to-be-updated upon deletion
-     * of this one
-     */
-    PyObject *base;
-    /* Pointer to type structure */
-    PyArray_Descr *descr;
-    /* Flags describing array -- see below */
-    int flags;
-    /* For weak references */
-    PyObject *weakreflist;
-} PyArrayObject_fields;
-
-/*
- * To hide the implementation details, we only expose
- * the Python struct HEAD.
- */
-#if !defined(NPY_NO_DEPRECATED_API) || \
-    (NPY_NO_DEPRECATED_API < NPY_1_7_API_VERSION)
-/*
- * Can't put this in npy_deprecated_api.h like the others.
- * PyArrayObject field access is deprecated as of NumPy 1.7.
- */
-typedef PyArrayObject_fields PyArrayObject;
-#else
-typedef struct tagPyArrayObject {
-        PyObject_HEAD
-} PyArrayObject;
-#endif
-
-#define NPY_SIZEOF_PYARRAYOBJECT (sizeof(PyArrayObject_fields))
-
-/* Array Flags Object */
-typedef struct PyArrayFlagsObject {
-        PyObject_HEAD
-        PyObject *arr;
-        int flags;
-} PyArrayFlagsObject;
-
-/* Mirrors buffer object to ptr */
-
-typedef struct {
-        PyObject_HEAD
-        PyObject *base;
-        void *ptr;
-        npy_intp len;
-        int flags;
-} PyArray_Chunk;
-
-typedef struct {
-    NPY_DATETIMEUNIT base;
-    int num;
-} PyArray_DatetimeMetaData;
-
-typedef struct {
-    NpyAuxData base;
-    PyArray_DatetimeMetaData meta;
-} PyArray_DatetimeDTypeMetaData;
-
-/*
- * This structure contains an exploded view of a date-time value.
- * NaT is represented by year == NPY_DATETIME_NAT.
- */
-typedef struct {
-        npy_int64 year;
-        npy_int32 month, day, hour, min, sec, us, ps, as;
-} npy_datetimestruct;
-
-/* This is not used internally. */
-typedef struct {
-        npy_int64 day;
-        npy_int32 sec, us, ps, as;
-} npy_timedeltastruct;
-
-typedef int (PyArray_FinalizeFunc)(PyArrayObject *, PyObject *);
-
-/*
- * Means c-style contiguous (last index varies the fastest). The data
- * elements right after each other.
- *
- * This flag may be requested in constructor functions.
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_C_CONTIGUOUS    0x0001
-
-/*
- * Set if array is a contiguous Fortran array: the first index varies
- * the fastest in memory (strides array is reverse of C-contiguous
- * array)
- *
- * This flag may be requested in constructor functions.
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_F_CONTIGUOUS    0x0002
-
-/*
- * Note: all 0-d arrays are C_CONTIGUOUS and F_CONTIGUOUS. If a
- * 1-d array is C_CONTIGUOUS it is also F_CONTIGUOUS. Arrays with
- * more then one dimension can be C_CONTIGUOUS and F_CONTIGUOUS
- * at the same time if they have either zero or one element.
- * If NPY_RELAXED_STRIDES_CHECKING is set, a higher dimensional
- * array is always C_CONTIGUOUS and F_CONTIGUOUS if it has zero elements
- * and the array is contiguous if ndarray.squeeze() is contiguous.
- * I.e. dimensions for which `ndarray.shape[dimension] == 1` are
- * ignored.
- */
-
-/*
- * If set, the array owns the data: it will be free'd when the array
- * is deleted.
- *
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_OWNDATA         0x0004
-
-/*
- * An array never has the next four set; they're only used as parameter
- * flags to the the various FromAny functions
- *
- * This flag may be requested in constructor functions.
- */
-
-/* Cause a cast to occur regardless of whether or not it is safe. */
-#define NPY_ARRAY_FORCECAST       0x0010
-
-/*
- * Always copy the array. Returned arrays are always CONTIGUOUS,
- * ALIGNED, and WRITEABLE.
- *
- * This flag may be requested in constructor functions.
- */
-#define NPY_ARRAY_ENSURECOPY      0x0020
-
-/*
- * Make sure the returned array is a base-class ndarray
- *
- * This flag may be requested in constructor functions.
- */
-#define NPY_ARRAY_ENSUREARRAY     0x0040
-
-/*
- * Make sure that the strides are in units of the element size Needed
- * for some operations with record-arrays.
- *
- * This flag may be requested in constructor functions.
- */
-#define NPY_ARRAY_ELEMENTSTRIDES  0x0080
-
-/*
- * Array data is aligned on the appropiate memory address for the type
- * stored according to how the compiler would align things (e.g., an
- * array of integers (4 bytes each) starts on a memory address that's
- * a multiple of 4)
- *
- * This flag may be requested in constructor functions.
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_ALIGNED         0x0100
-
-/*
- * Array data has the native endianness
- *
- * This flag may be requested in constructor functions.
- */
-#define NPY_ARRAY_NOTSWAPPED      0x0200
-
-/*
- * Array data is writeable
- *
- * This flag may be requested in constructor functions.
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_WRITEABLE       0x0400
-
-/*
- * If this flag is set, then base contains a pointer to an array of
- * the same size that should be updated with the current contents of
- * this array when this array is deallocated
- *
- * This flag may be requested in constructor functions.
- * This flag may be tested for in PyArray_FLAGS(arr).
- */
-#define NPY_ARRAY_UPDATEIFCOPY    0x1000
-
-/*
- * NOTE: there are also internal flags defined in multiarray/arrayobject.h,
- * which start at bit 31 and work down.
- */
-
-#define NPY_ARRAY_BEHAVED      (NPY_ARRAY_ALIGNED | \
-                                NPY_ARRAY_WRITEABLE)
-#define NPY_ARRAY_BEHAVED_NS   (NPY_ARRAY_ALIGNED | \
-                                NPY_ARRAY_WRITEABLE | \
-                                NPY_ARRAY_NOTSWAPPED)
-#define NPY_ARRAY_CARRAY       (NPY_ARRAY_C_CONTIGUOUS | \
-                                NPY_ARRAY_BEHAVED)
-#define NPY_ARRAY_CARRAY_RO    (NPY_ARRAY_C_CONTIGUOUS | \
-                                NPY_ARRAY_ALIGNED)
-#define NPY_ARRAY_FARRAY       (NPY_ARRAY_F_CONTIGUOUS | \
-                                NPY_ARRAY_BEHAVED)
-#define NPY_ARRAY_FARRAY_RO    (NPY_ARRAY_F_CONTIGUOUS | \
-                                NPY_ARRAY_ALIGNED)
-#define NPY_ARRAY_DEFAULT      (NPY_ARRAY_CARRAY)
-#define NPY_ARRAY_IN_ARRAY     (NPY_ARRAY_CARRAY_RO)
-#define NPY_ARRAY_OUT_ARRAY    (NPY_ARRAY_CARRAY)
-#define NPY_ARRAY_INOUT_ARRAY  (NPY_ARRAY_CARRAY | \
-                                NPY_ARRAY_UPDATEIFCOPY)
-#define NPY_ARRAY_IN_FARRAY    (NPY_ARRAY_FARRAY_RO)
-#define NPY_ARRAY_OUT_FARRAY   (NPY_ARRAY_FARRAY)
-#define NPY_ARRAY_INOUT_FARRAY (NPY_ARRAY_FARRAY | \
-                                NPY_ARRAY_UPDATEIFCOPY)
-
-#define NPY_ARRAY_UPDATE_ALL   (NPY_ARRAY_C_CONTIGUOUS | \
-                                NPY_ARRAY_F_CONTIGUOUS | \
-                                NPY_ARRAY_ALIGNED)
-
-/* This flag is for the array interface, not PyArrayObject */
-#define NPY_ARR_HAS_DESCR  0x0800
-
-
-
-
-/*
- * Size of internal buffers used for alignment Make BUFSIZE a multiple
- * of sizeof(npy_cdouble) -- usually 16 so that ufunc buffers are aligned
- */
-#define NPY_MIN_BUFSIZE ((int)sizeof(npy_cdouble))
-#define NPY_MAX_BUFSIZE (((int)sizeof(npy_cdouble))*1000000)
-#define NPY_BUFSIZE 8192
-/* buffer stress test size: */
-/*#define NPY_BUFSIZE 17*/
-
-#define PyArray_MAX(a,b) (((a)>(b))?(a):(b))
-#define PyArray_MIN(a,b) (((a)<(b))?(a):(b))
-#define PyArray_CLT(p,q) ((((p).real==(q).real) ? ((p).imag < (q).imag) : \
-                               ((p).real < (q).real)))
-#define PyArray_CGT(p,q) ((((p).real==(q).real) ? ((p).imag > (q).imag) : \
-                               ((p).real > (q).real)))
-#define PyArray_CLE(p,q) ((((p).real==(q).real) ? ((p).imag <= (q).imag) : \
-                               ((p).real <= (q).real)))
-#define PyArray_CGE(p,q) ((((p).real==(q).real) ? ((p).imag >= (q).imag) : \
-                               ((p).real >= (q).real)))
-#define PyArray_CEQ(p,q) (((p).real==(q).real) && ((p).imag == (q).imag))
-#define PyArray_CNE(p,q) (((p).real!=(q).real) || ((p).imag != (q).imag))
-
-/*
- * C API: consists of Macros and functions.  The MACROS are defined
- * here.
- */
-
-
-#define PyArray_ISCONTIGUOUS(m) PyArray_CHKFLAGS(m, NPY_ARRAY_C_CONTIGUOUS)
-#define PyArray_ISWRITEABLE(m) PyArray_CHKFLAGS(m, NPY_ARRAY_WRITEABLE)
-#define PyArray_ISALIGNED(m) PyArray_CHKFLAGS(m, NPY_ARRAY_ALIGNED)
-
-#define PyArray_IS_C_CONTIGUOUS(m) PyArray_CHKFLAGS(m, NPY_ARRAY_C_CONTIGUOUS)
-#define PyArray_IS_F_CONTIGUOUS(m) PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS)
-
-/* the variable is used in some places, so always define it */
-#define NPY_BEGIN_THREADS_DEF PyThreadState *_save=NULL;
-#if NPY_ALLOW_THREADS
-#define NPY_BEGIN_ALLOW_THREADS Py_BEGIN_ALLOW_THREADS
-#define NPY_END_ALLOW_THREADS Py_END_ALLOW_THREADS
-#define NPY_BEGIN_THREADS do {_save = PyEval_SaveThread();} while (0);
-#define NPY_END_THREADS   do { if (_save) \
-                { PyEval_RestoreThread(_save); _save = NULL;} } while (0);
-#define NPY_BEGIN_THREADS_THRESHOLDED(loop_size) do { if (loop_size > 500) \
-                { _save = PyEval_SaveThread();} } while (0);
-
-#define NPY_BEGIN_THREADS_DESCR(dtype) \
-        do {if (!(PyDataType_FLAGCHK(dtype, NPY_NEEDS_PYAPI))) \
-                NPY_BEGIN_THREADS;} while (0);
-
-#define NPY_END_THREADS_DESCR(dtype) \
-        do {if (!(PyDataType_FLAGCHK(dtype, NPY_NEEDS_PYAPI))) \
-                NPY_END_THREADS; } while (0);
-
-#define NPY_ALLOW_C_API_DEF  PyGILState_STATE __save__;
-#define NPY_ALLOW_C_API      do {__save__ = PyGILState_Ensure();} while (0);
-#define NPY_DISABLE_C_API    do {PyGILState_Release(__save__);} while (0);
-#else
-#define NPY_BEGIN_ALLOW_THREADS
-#define NPY_END_ALLOW_THREADS
-#define NPY_BEGIN_THREADS
-#define NPY_END_THREADS
-#define NPY_BEGIN_THREADS_THRESHOLDED(loop_size)
-#define NPY_BEGIN_THREADS_DESCR(dtype)
-#define NPY_END_THREADS_DESCR(dtype)
-#define NPY_ALLOW_C_API_DEF
-#define NPY_ALLOW_C_API
-#define NPY_DISABLE_C_API
-#endif
-
-/**********************************
- * The nditer object, added in 1.6
- **********************************/
-
-/* The actual structure of the iterator is an internal detail */
-typedef struct NpyIter_InternalOnly NpyIter;
-
-/* Iterator function pointers that may be specialized */
-typedef int (NpyIter_IterNextFunc)(NpyIter *iter);
-typedef void (NpyIter_GetMultiIndexFunc)(NpyIter *iter,
-                                      npy_intp *outcoords);
-
-/*** Global flags that may be passed to the iterator constructors ***/
-
-/* Track an index representing C order */
-#define NPY_ITER_C_INDEX                    0x00000001
-/* Track an index representing Fortran order */
-#define NPY_ITER_F_INDEX                    0x00000002
-/* Track a multi-index */
-#define NPY_ITER_MULTI_INDEX                0x00000004
-/* User code external to the iterator does the 1-dimensional innermost loop */
-#define NPY_ITER_EXTERNAL_LOOP              0x00000008
-/* Convert all the operands to a common data type */
-#define NPY_ITER_COMMON_DTYPE               0x00000010
-/* Operands may hold references, requiring API access during iteration */
-#define NPY_ITER_REFS_OK                    0x00000020
-/* Zero-sized operands should be permitted, iteration checks IterSize for 0 */
-#define NPY_ITER_ZEROSIZE_OK                0x00000040
-/* Permits reductions (size-0 stride with dimension size > 1) */
-#define NPY_ITER_REDUCE_OK                  0x00000080
-/* Enables sub-range iteration */
-#define NPY_ITER_RANGED                     0x00000100
-/* Enables buffering */
-#define NPY_ITER_BUFFERED                   0x00000200
-/* When buffering is enabled, grows the inner loop if possible */
-#define NPY_ITER_GROWINNER                  0x00000400
-/* Delay allocation of buffers until first Reset* call */
-#define NPY_ITER_DELAY_BUFALLOC             0x00000800
-/* When NPY_KEEPORDER is specified, disable reversing negative-stride axes */
-#define NPY_ITER_DONT_NEGATE_STRIDES        0x00001000
-
-/*** Per-operand flags that may be passed to the iterator constructors ***/
-
-/* The operand will be read from and written to */
-#define NPY_ITER_READWRITE                  0x00010000
-/* The operand will only be read from */
-#define NPY_ITER_READONLY                   0x00020000
-/* The operand will only be written to */
-#define NPY_ITER_WRITEONLY                  0x00040000
-/* The operand's data must be in native byte order */
-#define NPY_ITER_NBO                        0x00080000
-/* The operand's data must be aligned */
-#define NPY_ITER_ALIGNED                    0x00100000
-/* The operand's data must be contiguous (within the inner loop) */
-#define NPY_ITER_CONTIG                     0x00200000
-/* The operand may be copied to satisfy requirements */
-#define NPY_ITER_COPY                       0x00400000
-/* The operand may be copied with UPDATEIFCOPY to satisfy requirements */
-#define NPY_ITER_UPDATEIFCOPY               0x00800000
-/* Allocate the operand if it is NULL */
-#define NPY_ITER_ALLOCATE                   0x01000000
-/* If an operand is allocated, don't use any subtype */
-#define NPY_ITER_NO_SUBTYPE                 0x02000000
-/* This is a virtual array slot, operand is NULL but temporary data is there */
-#define NPY_ITER_VIRTUAL                    0x04000000
-/* Require that the dimension match the iterator dimensions exactly */
-#define NPY_ITER_NO_BROADCAST               0x08000000
-/* A mask is being used on this array, affects buffer -> array copy */
-#define NPY_ITER_WRITEMASKED                0x10000000
-/* This array is the mask for all WRITEMASKED operands */
-#define NPY_ITER_ARRAYMASK                  0x20000000
-
-#define NPY_ITER_GLOBAL_FLAGS               0x0000ffff
-#define NPY_ITER_PER_OP_FLAGS               0xffff0000
-
-
-/*****************************
- * Basic iterator object
- *****************************/
-
-/* FWD declaration */
-typedef struct PyArrayIterObject_tag PyArrayIterObject;
-
-/*
- * type of the function which translates a set of coordinates to a
- * pointer to the data
- */
-typedef char* (*npy_iter_get_dataptr_t)(PyArrayIterObject* iter, npy_intp*);
-
-struct PyArrayIterObject_tag {
-        PyObject_HEAD
-        int               nd_m1;            /* number of dimensions - 1 */
-        npy_intp          index, size;
-        npy_intp          coordinates[NPY_MAXDIMS];/* N-dimensional loop */
-        npy_intp          dims_m1[NPY_MAXDIMS];    /* ao->dimensions - 1 */
-        npy_intp          strides[NPY_MAXDIMS];    /* ao->strides or fake */
-        npy_intp          backstrides[NPY_MAXDIMS];/* how far to jump back */
-        npy_intp          factors[NPY_MAXDIMS];     /* shape factors */
-        PyArrayObject     *ao;
-        char              *dataptr;        /* pointer to current item*/
-        npy_bool          contiguous;
-
-        npy_intp          bounds[NPY_MAXDIMS][2];
-        npy_intp          limits[NPY_MAXDIMS][2];
-        npy_intp          limits_sizes[NPY_MAXDIMS];
-        npy_iter_get_dataptr_t translate;
-} ;
-
-
-/* Iterator API */
-#define PyArrayIter_Check(op) PyObject_TypeCheck(op, &PyArrayIter_Type)
-
-#define _PyAIT(it) ((PyArrayIterObject *)(it))
-#define PyArray_ITER_RESET(it) do { \
-        _PyAIT(it)->index = 0; \
-        _PyAIT(it)->dataptr = PyArray_BYTES(_PyAIT(it)->ao); \
-        memset(_PyAIT(it)->coordinates, 0, \
-               (_PyAIT(it)->nd_m1+1)*sizeof(npy_intp)); \
-} while (0)
-
-#define _PyArray_ITER_NEXT1(it) do { \
-        (it)->dataptr += _PyAIT(it)->strides[0]; \
-        (it)->coordinates[0]++; \
-} while (0)
-
-#define _PyArray_ITER_NEXT2(it) do { \
-        if ((it)->coordinates[1] < (it)->dims_m1[1]) { \
-                (it)->coordinates[1]++; \
-                (it)->dataptr += (it)->strides[1]; \
-        } \
-        else { \
-                (it)->coordinates[1] = 0; \
-                (it)->coordinates[0]++; \
-                (it)->dataptr += (it)->strides[0] - \
-                        (it)->backstrides[1]; \
-        } \
-} while (0)
-
-#define PyArray_ITER_NEXT(it) do { \
-        _PyAIT(it)->index++; \
-        if (_PyAIT(it)->nd_m1 == 0) { \
-                _PyArray_ITER_NEXT1(_PyAIT(it)); \
-        } \
-        else if (_PyAIT(it)->contiguous) \
-                _PyAIT(it)->dataptr += PyArray_DESCR(_PyAIT(it)->ao)->elsize; \
-        else if (_PyAIT(it)->nd_m1 == 1) { \
-                _PyArray_ITER_NEXT2(_PyAIT(it)); \
-        } \
-        else { \
-                int __npy_i; \
-                for (__npy_i=_PyAIT(it)->nd_m1; __npy_i >= 0; __npy_i--) { \
-                        if (_PyAIT(it)->coordinates[__npy_i] < \
-                            _PyAIT(it)->dims_m1[__npy_i]) { \
-                                _PyAIT(it)->coordinates[__npy_i]++; \
-                                _PyAIT(it)->dataptr += \
-                                        _PyAIT(it)->strides[__npy_i]; \
-                                break; \
-                        } \
-                        else { \
-                                _PyAIT(it)->coordinates[__npy_i] = 0; \
-                                _PyAIT(it)->dataptr -= \
-                                        _PyAIT(it)->backstrides[__npy_i]; \
-                        } \
-                } \
-        } \
-} while (0)
-
-#define PyArray_ITER_GOTO(it, destination) do { \
-        int __npy_i; \
-        _PyAIT(it)->index = 0; \
-        _PyAIT(it)->dataptr = PyArray_BYTES(_PyAIT(it)->ao); \
-        for (__npy_i = _PyAIT(it)->nd_m1; __npy_i>=0; __npy_i--) { \
-                if (destination[__npy_i] < 0) { \
-                        destination[__npy_i] += \
-                                _PyAIT(it)->dims_m1[__npy_i]+1; \
-                } \
-                _PyAIT(it)->dataptr += destination[__npy_i] * \
-                        _PyAIT(it)->strides[__npy_i]; \
-                _PyAIT(it)->coordinates[__npy_i] = \
-                        destination[__npy_i]; \
-                _PyAIT(it)->index += destination[__npy_i] * \
-                        ( __npy_i==_PyAIT(it)->nd_m1 ? 1 : \
-                          _PyAIT(it)->dims_m1[__npy_i+1]+1) ; \
-        } \
-} while (0)
-
-#define PyArray_ITER_GOTO1D(it, ind) do { \
-        int __npy_i; \
-        npy_intp __npy_ind = (npy_intp) (ind); \
-        if (__npy_ind < 0) __npy_ind += _PyAIT(it)->size; \
-        _PyAIT(it)->index = __npy_ind; \
-        if (_PyAIT(it)->nd_m1 == 0) { \
-                _PyAIT(it)->dataptr = PyArray_BYTES(_PyAIT(it)->ao) + \
-                        __npy_ind * _PyAIT(it)->strides[0]; \
-        } \
-        else if (_PyAIT(it)->contiguous) \
-                _PyAIT(it)->dataptr = PyArray_BYTES(_PyAIT(it)->ao) + \
-                        __npy_ind * PyArray_DESCR(_PyAIT(it)->ao)->elsize; \
-        else { \
-                _PyAIT(it)->dataptr = PyArray_BYTES(_PyAIT(it)->ao); \
-                for (__npy_i = 0; __npy_i<=_PyAIT(it)->nd_m1; \
-                     __npy_i++) { \
-                        _PyAIT(it)->dataptr += \
-                                (__npy_ind / _PyAIT(it)->factors[__npy_i]) \
-                                * _PyAIT(it)->strides[__npy_i]; \
-                        __npy_ind %= _PyAIT(it)->factors[__npy_i]; \
-                } \
-        } \
-} while (0)
-
-#define PyArray_ITER_DATA(it) ((void *)(_PyAIT(it)->dataptr))
-
-#define PyArray_ITER_NOTDONE(it) (_PyAIT(it)->index < _PyAIT(it)->size)
-
-
-/*
- * Any object passed to PyArray_Broadcast must be binary compatible
- * with this structure.
- */
-
-typedef struct {
-        PyObject_HEAD
-        int                  numiter;                 /* number of iters */
-        npy_intp             size;                    /* broadcasted size */
-        npy_intp             index;                   /* current index */
-        int                  nd;                      /* number of dims */
-        npy_intp             dimensions[NPY_MAXDIMS]; /* dimensions */
-        PyArrayIterObject    *iters[NPY_MAXARGS];     /* iterators */
-} PyArrayMultiIterObject;
-
-#define _PyMIT(m) ((PyArrayMultiIterObject *)(m))
-#define PyArray_MultiIter_RESET(multi) do {                                   \
-        int __npy_mi;                                                         \
-        _PyMIT(multi)->index = 0;                                             \
-        for (__npy_mi=0; __npy_mi < _PyMIT(multi)->numiter;  __npy_mi++) {    \
-                PyArray_ITER_RESET(_PyMIT(multi)->iters[__npy_mi]);           \
-        }                                                                     \
-} while (0)
-
-#define PyArray_MultiIter_NEXT(multi) do {                                    \
-        int __npy_mi;                                                         \
-        _PyMIT(multi)->index++;                                               \
-        for (__npy_mi=0; __npy_mi < _PyMIT(multi)->numiter;   __npy_mi++) {   \
-                PyArray_ITER_NEXT(_PyMIT(multi)->iters[__npy_mi]);            \
-        }                                                                     \
-} while (0)
-
-#define PyArray_MultiIter_GOTO(multi, dest) do {                            \
-        int __npy_mi;                                                       \
-        for (__npy_mi=0; __npy_mi < _PyMIT(multi)->numiter; __npy_mi++) {   \
-                PyArray_ITER_GOTO(_PyMIT(multi)->iters[__npy_mi], dest);    \
-        }                                                                   \
-        _PyMIT(multi)->index = _PyMIT(multi)->iters[0]->index;              \
-} while (0)
-
-#define PyArray_MultiIter_GOTO1D(multi, ind) do {                          \
-        int __npy_mi;                                                      \
-        for (__npy_mi=0; __npy_mi < _PyMIT(multi)->numiter; __npy_mi++) {  \
-                PyArray_ITER_GOTO1D(_PyMIT(multi)->iters[__npy_mi], ind);  \
-        }                                                                  \
-        _PyMIT(multi)->index = _PyMIT(multi)->iters[0]->index;             \
-} while (0)
-
-#define PyArray_MultiIter_DATA(multi, i)                \
-        ((void *)(_PyMIT(multi)->iters[i]->dataptr))
-
-#define PyArray_MultiIter_NEXTi(multi, i)               \
-        PyArray_ITER_NEXT(_PyMIT(multi)->iters[i])
-
-#define PyArray_MultiIter_NOTDONE(multi)                \
-        (_PyMIT(multi)->index < _PyMIT(multi)->size)
-
-
-/*
- * Store the information needed for fancy-indexing over an array. The
- * fields are slightly unordered to keep consec, dataptr and subspace
- * where they were originally.
- */
-typedef struct {
-        PyObject_HEAD
-        /*
-         * Multi-iterator portion --- needs to be present in this
-         * order to work with PyArray_Broadcast
-         */
-
-        int                   numiter;                 /* number of index-array
-                                                          iterators */
-        npy_intp              size;                    /* size of broadcasted
-                                                          result */
-        npy_intp              index;                   /* current index */
-        int                   nd;                      /* number of dims */
-        npy_intp              dimensions[NPY_MAXDIMS]; /* dimensions */
-        NpyIter               *outer;                  /* index objects
-                                                          iterator */
-        void                  *unused[NPY_MAXDIMS - 2];
-        PyArrayObject         *array;
-        /* Flat iterator for the indexed array. For compatibility solely. */
-        PyArrayIterObject     *ait;
-
-        /*
-         * Subspace array. For binary compatibility (was an iterator,
-         * but only the check for NULL should be used).
-         */
-        PyArrayObject         *subspace;
-
-        /*
-         * if subspace iteration, then this is the array of axes in
-         * the underlying array represented by the index objects
-         */
-        int                   iteraxes[NPY_MAXDIMS];
-        npy_intp              fancy_strides[NPY_MAXDIMS];
-
-        /* pointer when all fancy indices are 0 */
-        char                  *baseoffset;
-
-        /*
-         * after binding consec denotes at which axis the fancy axes
-         * are inserted.
-         */
-        int                   consec;
-        char                  *dataptr;
-
-        int                   nd_fancy;
-        npy_intp              fancy_dims[NPY_MAXDIMS];
-
-        /* Whether the iterator (any of the iterators) requires API */
-        int                   needs_api;
-
-        /*
-         * Extra op information.
-         */
-        PyArrayObject         *extra_op;
-        PyArray_Descr         *extra_op_dtype;         /* desired dtype */
-        npy_uint32            *extra_op_flags;         /* Iterator flags */
-
-        NpyIter               *extra_op_iter;
-        NpyIter_IterNextFunc  *extra_op_next;
-        char                  **extra_op_ptrs;
-
-        /*
-         * Information about the iteration state.
-         */
-        NpyIter_IterNextFunc  *outer_next;
-        char                  **outer_ptrs;
-        npy_intp              *outer_strides;
-
-        /*
-         * Information about the subspace iterator.
-         */
-        NpyIter               *subspace_iter;
-        NpyIter_IterNextFunc  *subspace_next;
-        char                  **subspace_ptrs;
-        npy_intp              *subspace_strides;
-
-        /* Count for the external loop (which ever it is) for API iteration */
-        npy_intp              iter_count;
-
-} PyArrayMapIterObject;
-
-enum {
-    NPY_NEIGHBORHOOD_ITER_ZERO_PADDING,
-    NPY_NEIGHBORHOOD_ITER_ONE_PADDING,
-    NPY_NEIGHBORHOOD_ITER_CONSTANT_PADDING,
-    NPY_NEIGHBORHOOD_ITER_CIRCULAR_PADDING,
-    NPY_NEIGHBORHOOD_ITER_MIRROR_PADDING
-};
-
-typedef struct {
-    PyObject_HEAD
-
-    /*
-     * PyArrayIterObject part: keep this in this exact order
-     */
-    int               nd_m1;            /* number of dimensions - 1 */
-    npy_intp          index, size;
-    npy_intp          coordinates[NPY_MAXDIMS];/* N-dimensional loop */
-    npy_intp          dims_m1[NPY_MAXDIMS];    /* ao->dimensions - 1 */
-    npy_intp          strides[NPY_MAXDIMS];    /* ao->strides or fake */
-    npy_intp          backstrides[NPY_MAXDIMS];/* how far to jump back */
-    npy_intp          factors[NPY_MAXDIMS];     /* shape factors */
-    PyArrayObject     *ao;
-    char              *dataptr;        /* pointer to current item*/
-    npy_bool          contiguous;
-
-    npy_intp          bounds[NPY_MAXDIMS][2];
-    npy_intp          limits[NPY_MAXDIMS][2];
-    npy_intp          limits_sizes[NPY_MAXDIMS];
-    npy_iter_get_dataptr_t translate;
-
-    /*
-     * New members
-     */
-    npy_intp nd;
-
-    /* Dimensions is the dimension of the array */
-    npy_intp dimensions[NPY_MAXDIMS];
-
-    /*
-     * Neighborhood points coordinates are computed relatively to the
-     * point pointed by _internal_iter
-     */
-    PyArrayIterObject* _internal_iter;
-    /*
-     * To keep a reference to the representation of the constant value
-     * for constant padding
-     */
-    char* constant;
-
-    int mode;
-} PyArrayNeighborhoodIterObject;
-
-/*
- * Neighborhood iterator API
- */
-
-/* General: those work for any mode */
-static NPY_INLINE int
-PyArrayNeighborhoodIter_Reset(PyArrayNeighborhoodIterObject* iter);
-static NPY_INLINE int
-PyArrayNeighborhoodIter_Next(PyArrayNeighborhoodIterObject* iter);
-#if 0
-static NPY_INLINE int
-PyArrayNeighborhoodIter_Next2D(PyArrayNeighborhoodIterObject* iter);
-#endif
-
-/*
- * Include inline implementations - functions defined there are not
- * considered public API
- */
-#define _NPY_INCLUDE_NEIGHBORHOOD_IMP
-#include "_neighborhood_iterator_imp.h"
-#undef _NPY_INCLUDE_NEIGHBORHOOD_IMP
-
-/* The default array type */
-#define NPY_DEFAULT_TYPE NPY_DOUBLE
-
-/*
- * All sorts of useful ways to look into a PyArrayObject. It is recommended
- * to use PyArrayObject * objects instead of always casting from PyObject *,
- * for improved type checking.
- *
- * In many cases here the macro versions of the accessors are deprecated,
- * but can't be immediately changed to inline functions because the
- * preexisting macros accept PyObject * and do automatic casts. Inline
- * functions accepting PyArrayObject * provides for some compile-time
- * checking of correctness when working with these objects in C.
- */
-
-#define PyArray_ISONESEGMENT(m) (PyArray_NDIM(m) == 0 || \
-                             PyArray_CHKFLAGS(m, NPY_ARRAY_C_CONTIGUOUS) || \
-                             PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS))
-
-#define PyArray_ISFORTRAN(m) (PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS) && \
-                             (!PyArray_CHKFLAGS(m, NPY_ARRAY_C_CONTIGUOUS)))
-
-#define PyArray_FORTRAN_IF(m) ((PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS) ? \
-                               NPY_ARRAY_F_CONTIGUOUS : 0))
-
-#if (defined(NPY_NO_DEPRECATED_API) && (NPY_1_7_API_VERSION <= NPY_NO_DEPRECATED_API))
-/*
- * Changing access macros into functions, to allow for future hiding
- * of the internal memory layout. This later hiding will allow the 2.x series
- * to change the internal representation of arrays without affecting
- * ABI compatibility.
- */
-
-static NPY_INLINE int
-PyArray_NDIM(const PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->nd;
-}
-
-static NPY_INLINE void *
-PyArray_DATA(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->data;
-}
-
-static NPY_INLINE char *
-PyArray_BYTES(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->data;
-}
-
-static NPY_INLINE npy_intp *
-PyArray_DIMS(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->dimensions;
-}
-
-static NPY_INLINE npy_intp *
-PyArray_STRIDES(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->strides;
-}
-
-static NPY_INLINE npy_intp
-PyArray_DIM(const PyArrayObject *arr, int idim)
-{
-    return ((PyArrayObject_fields *)arr)->dimensions[idim];
-}
-
-static NPY_INLINE npy_intp
-PyArray_STRIDE(const PyArrayObject *arr, int istride)
-{
-    return ((PyArrayObject_fields *)arr)->strides[istride];
-}
-
-static NPY_INLINE NPY_RETURNS_BORROWED_REF PyObject *
-PyArray_BASE(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->base;
-}
-
-static NPY_INLINE NPY_RETURNS_BORROWED_REF PyArray_Descr *
-PyArray_DESCR(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->descr;
-}
-
-static NPY_INLINE int
-PyArray_FLAGS(const PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->flags;
-}
-
-static NPY_INLINE npy_intp
-PyArray_ITEMSIZE(const PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->descr->elsize;
-}
-
-static NPY_INLINE int
-PyArray_TYPE(const PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->descr->type_num;
-}
-
-static NPY_INLINE int
-PyArray_CHKFLAGS(const PyArrayObject *arr, int flags)
-{
-    return (PyArray_FLAGS(arr) & flags) == flags;
-}
-
-static NPY_INLINE PyObject *
-PyArray_GETITEM(const PyArrayObject *arr, const char *itemptr)
-{
-    return ((PyArrayObject_fields *)arr)->descr->f->getitem(
-                                        (void *)itemptr, (PyArrayObject *)arr);
-}
-
-static NPY_INLINE int
-PyArray_SETITEM(PyArrayObject *arr, char *itemptr, PyObject *v)
-{
-    return ((PyArrayObject_fields *)arr)->descr->f->setitem(
-                                                        v, itemptr, arr);
-}
-
-#else
-
-/* These macros are deprecated as of NumPy 1.7. */
-#define PyArray_NDIM(obj) (((PyArrayObject_fields *)(obj))->nd)
-#define PyArray_BYTES(obj) (((PyArrayObject_fields *)(obj))->data)
-#define PyArray_DATA(obj) ((void *)((PyArrayObject_fields *)(obj))->data)
-#define PyArray_DIMS(obj) (((PyArrayObject_fields *)(obj))->dimensions)
-#define PyArray_STRIDES(obj) (((PyArrayObject_fields *)(obj))->strides)
-#define PyArray_DIM(obj,n) (PyArray_DIMS(obj)[n])
-#define PyArray_STRIDE(obj,n) (PyArray_STRIDES(obj)[n])
-#define PyArray_BASE(obj) (((PyArrayObject_fields *)(obj))->base)
-#define PyArray_DESCR(obj) (((PyArrayObject_fields *)(obj))->descr)
-#define PyArray_FLAGS(obj) (((PyArrayObject_fields *)(obj))->flags)
-#define PyArray_CHKFLAGS(m, FLAGS) \
-        ((((PyArrayObject_fields *)(m))->flags & (FLAGS)) == (FLAGS))
-#define PyArray_ITEMSIZE(obj) \
-                    (((PyArrayObject_fields *)(obj))->descr->elsize)
-#define PyArray_TYPE(obj) \
-                    (((PyArrayObject_fields *)(obj))->descr->type_num)
-#define PyArray_GETITEM(obj,itemptr) \
-        PyArray_DESCR(obj)->f->getitem((char *)(itemptr), \
-                                     (PyArrayObject *)(obj))
-
-#define PyArray_SETITEM(obj,itemptr,v) \
-        PyArray_DESCR(obj)->f->setitem((PyObject *)(v), \
-                                     (char *)(itemptr), \
-                                     (PyArrayObject *)(obj))
-#endif
-
-static NPY_INLINE PyArray_Descr *
-PyArray_DTYPE(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->descr;
-}
-
-static NPY_INLINE npy_intp *
-PyArray_SHAPE(PyArrayObject *arr)
-{
-    return ((PyArrayObject_fields *)arr)->dimensions;
-}
-
-/*
- * Enables the specified array flags. Does no checking,
- * assumes you know what you're doing.
- */
-static NPY_INLINE void
-PyArray_ENABLEFLAGS(PyArrayObject *arr, int flags)
-{
-    ((PyArrayObject_fields *)arr)->flags |= flags;
-}
-
-/*
- * Clears the specified array flags. Does no checking,
- * assumes you know what you're doing.
- */
-static NPY_INLINE void
-PyArray_CLEARFLAGS(PyArrayObject *arr, int flags)
-{
-    ((PyArrayObject_fields *)arr)->flags &= ~flags;
-}
-
-#define PyTypeNum_ISBOOL(type) ((type) == NPY_BOOL)
-
-#define PyTypeNum_ISUNSIGNED(type) (((type) == NPY_UBYTE) ||   \
-                                 ((type) == NPY_USHORT) ||     \
-                                 ((type) == NPY_UINT) ||       \
-                                 ((type) == NPY_ULONG) ||      \
-                                 ((type) == NPY_ULONGLONG))
-
-#define PyTypeNum_ISSIGNED(type) (((type) == NPY_BYTE) ||      \
-                               ((type) == NPY_SHORT) ||        \
-                               ((type) == NPY_INT) ||          \
-                               ((type) == NPY_LONG) ||         \
-                               ((type) == NPY_LONGLONG))
-
-#define PyTypeNum_ISINTEGER(type) (((type) >= NPY_BYTE) &&     \
-                                ((type) <= NPY_ULONGLONG))
-
-#define PyTypeNum_ISFLOAT(type) ((((type) >= NPY_FLOAT) && \
-                              ((type) <= NPY_LONGDOUBLE)) || \
-                              ((type) == NPY_HALF))
-
-#define PyTypeNum_ISNUMBER(type) (((type) <= NPY_CLONGDOUBLE) || \
-                                  ((type) == NPY_HALF))
-
-#define PyTypeNum_ISSTRING(type) (((type) == NPY_STRING) ||    \
-                                  ((type) == NPY_UNICODE))
-
-#define PyTypeNum_ISCOMPLEX(type) (((type) >= NPY_CFLOAT) &&   \
-                                ((type) <= NPY_CLONGDOUBLE))
-
-#define PyTypeNum_ISPYTHON(type) (((type) == NPY_LONG) ||      \
-                                  ((type) == NPY_DOUBLE) ||    \
-                                  ((type) == NPY_CDOUBLE) ||   \
-                                  ((type) == NPY_BOOL) ||      \
-                                  ((type) == NPY_OBJECT ))
-
-#define PyTypeNum_ISFLEXIBLE(type) (((type) >=NPY_STRING) &&  \
-                                    ((type) <=NPY_VOID))
-
-#define PyTypeNum_ISDATETIME(type) (((type) >=NPY_DATETIME) &&  \
-                                    ((type) <=NPY_TIMEDELTA))
-
-#define PyTypeNum_ISUSERDEF(type) (((type) >= NPY_USERDEF) && \
-                                   ((type) < NPY_USERDEF+     \
-                                    NPY_NUMUSERTYPES))
-
-#define PyTypeNum_ISEXTENDED(type) (PyTypeNum_ISFLEXIBLE(type) ||  \
-                                    PyTypeNum_ISUSERDEF(type))
-
-#define PyTypeNum_ISOBJECT(type) ((type) == NPY_OBJECT)
-
-
-#define PyDataType_ISBOOL(obj) PyTypeNum_ISBOOL(_PyADt(obj))
-#define PyDataType_ISUNSIGNED(obj) PyTypeNum_ISUNSIGNED(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISSIGNED(obj) PyTypeNum_ISSIGNED(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISINTEGER(obj) PyTypeNum_ISINTEGER(((PyArray_Descr*)(obj))->type_num )
-#define PyDataType_ISFLOAT(obj) PyTypeNum_ISFLOAT(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISNUMBER(obj) PyTypeNum_ISNUMBER(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISSTRING(obj) PyTypeNum_ISSTRING(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISCOMPLEX(obj) PyTypeNum_ISCOMPLEX(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISPYTHON(obj) PyTypeNum_ISPYTHON(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISFLEXIBLE(obj) PyTypeNum_ISFLEXIBLE(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISDATETIME(obj) PyTypeNum_ISDATETIME(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISUSERDEF(obj) PyTypeNum_ISUSERDEF(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISEXTENDED(obj) PyTypeNum_ISEXTENDED(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_ISOBJECT(obj) PyTypeNum_ISOBJECT(((PyArray_Descr*)(obj))->type_num)
-#define PyDataType_HASFIELDS(obj) (((PyArray_Descr *)(obj))->names != NULL)
-#define PyDataType_HASSUBARRAY(dtype) ((dtype)->subarray != NULL)
-
-#define PyArray_ISBOOL(obj) PyTypeNum_ISBOOL(PyArray_TYPE(obj))
-#define PyArray_ISUNSIGNED(obj) PyTypeNum_ISUNSIGNED(PyArray_TYPE(obj))
-#define PyArray_ISSIGNED(obj) PyTypeNum_ISSIGNED(PyArray_TYPE(obj))
-#define PyArray_ISINTEGER(obj) PyTypeNum_ISINTEGER(PyArray_TYPE(obj))
-#define PyArray_ISFLOAT(obj) PyTypeNum_ISFLOAT(PyArray_TYPE(obj))
-#define PyArray_ISNUMBER(obj) PyTypeNum_ISNUMBER(PyArray_TYPE(obj))
-#define PyArray_ISSTRING(obj) PyTypeNum_ISSTRING(PyArray_TYPE(obj))
-#define PyArray_ISCOMPLEX(obj) PyTypeNum_ISCOMPLEX(PyArray_TYPE(obj))
-#define PyArray_ISPYTHON(obj) PyTypeNum_ISPYTHON(PyArray_TYPE(obj))
-#define PyArray_ISFLEXIBLE(obj) PyTypeNum_ISFLEXIBLE(PyArray_TYPE(obj))
-#define PyArray_ISDATETIME(obj) PyTypeNum_ISDATETIME(PyArray_TYPE(obj))
-#define PyArray_ISUSERDEF(obj) PyTypeNum_ISUSERDEF(PyArray_TYPE(obj))
-#define PyArray_ISEXTENDED(obj) PyTypeNum_ISEXTENDED(PyArray_TYPE(obj))
-#define PyArray_ISOBJECT(obj) PyTypeNum_ISOBJECT(PyArray_TYPE(obj))
-#define PyArray_HASFIELDS(obj) PyDataType_HASFIELDS(PyArray_DESCR(obj))
-
-    /*
-     * FIXME: This should check for a flag on the data-type that
-     * states whether or not it is variable length.  Because the
-     * ISFLEXIBLE check is hard-coded to the built-in data-types.
-     */
-#define PyArray_ISVARIABLE(obj) PyTypeNum_ISFLEXIBLE(PyArray_TYPE(obj))
-
-#define PyArray_SAFEALIGNEDCOPY(obj) (PyArray_ISALIGNED(obj) && !PyArray_ISVARIABLE(obj))
-
-
-#define NPY_LITTLE '<'
-#define NPY_BIG '>'
-#define NPY_NATIVE '='
-#define NPY_SWAP 's'
-#define NPY_IGNORE '|'
-
-#if NPY_BYTE_ORDER == NPY_BIG_ENDIAN
-#define NPY_NATBYTE NPY_BIG
-#define NPY_OPPBYTE NPY_LITTLE
-#else
-#define NPY_NATBYTE NPY_LITTLE
-#define NPY_OPPBYTE NPY_BIG
-#endif
-
-#define PyArray_ISNBO(arg) ((arg) != NPY_OPPBYTE)
-#define PyArray_IsNativeByteOrder PyArray_ISNBO
-#define PyArray_ISNOTSWAPPED(m) PyArray_ISNBO(PyArray_DESCR(m)->byteorder)
-#define PyArray_ISBYTESWAPPED(m) (!PyArray_ISNOTSWAPPED(m))
-
-#define PyArray_FLAGSWAP(m, flags) (PyArray_CHKFLAGS(m, flags) &&       \
-                                    PyArray_ISNOTSWAPPED(m))
-
-#define PyArray_ISCARRAY(m) PyArray_FLAGSWAP(m, NPY_ARRAY_CARRAY)
-#define PyArray_ISCARRAY_RO(m) PyArray_FLAGSWAP(m, NPY_ARRAY_CARRAY_RO)
-#define PyArray_ISFARRAY(m) PyArray_FLAGSWAP(m, NPY_ARRAY_FARRAY)
-#define PyArray_ISFARRAY_RO(m) PyArray_FLAGSWAP(m, NPY_ARRAY_FARRAY_RO)
-#define PyArray_ISBEHAVED(m) PyArray_FLAGSWAP(m, NPY_ARRAY_BEHAVED)
-#define PyArray_ISBEHAVED_RO(m) PyArray_FLAGSWAP(m, NPY_ARRAY_ALIGNED)
-
-
-#define PyDataType_ISNOTSWAPPED(d) PyArray_ISNBO(((PyArray_Descr *)(d))->byteorder)
-#define PyDataType_ISBYTESWAPPED(d) (!PyDataType_ISNOTSWAPPED(d))
-
-/************************************************************
- * A struct used by PyArray_CreateSortedStridePerm, new in 1.7.
- ************************************************************/
-
-typedef struct {
-    npy_intp perm, stride;
-} npy_stride_sort_item;
-
-/************************************************************
- * This is the form of the struct that's returned pointed by the
- * PyCObject attribute of an array __array_struct__. See
- * http://docs.scipy.org/doc/numpy/reference/arrays.interface.html for the full
- * documentation.
- ************************************************************/
-typedef struct {
-    int two;              /*
-                           * contains the integer 2 as a sanity
-                           * check
-                           */
-
-    int nd;               /* number of dimensions */
-
-    char typekind;        /*
-                           * kind in array --- character code of
-                           * typestr
-                           */
-
-    int itemsize;         /* size of each element */
-
-    int flags;            /*
-                           * how should be data interpreted. Valid
-                           * flags are CONTIGUOUS (1), F_CONTIGUOUS (2),
-                           * ALIGNED (0x100), NOTSWAPPED (0x200), and
-                           * WRITEABLE (0x400).  ARR_HAS_DESCR (0x800)
-                           * states that arrdescr field is present in
-                           * structure
-                           */
-
-    npy_intp *shape;       /*
-                            * A length-nd array of shape
-                            * information
-                            */
-
-    npy_intp *strides;    /* A length-nd array of stride information */
-
-    void *data;           /* A pointer to the first element of the array */
-
-    PyObject *descr;      /*
-                           * A list of fields or NULL (ignored if flags
-                           * does not have ARR_HAS_DESCR flag set)
-                           */
-} PyArrayInterface;
-
-/*
- * This is a function for hooking into the PyDataMem_NEW/FREE/RENEW functions.
- * See the documentation for PyDataMem_SetEventHook.
- */
-typedef void (PyDataMem_EventHookFunc)(void *inp, void *outp, size_t size,
-                                       void *user_data);
-
-/*
- * Use the keyword NPY_DEPRECATED_INCLUDES to ensure that the header files
- * npy_*_*_deprecated_api.h are only included from here and nowhere else.
- */
-#ifdef NPY_DEPRECATED_INCLUDES
-#error "Do not use the reserved keyword NPY_DEPRECATED_INCLUDES."
-#endif
-#define NPY_DEPRECATED_INCLUDES
-#if !defined(NPY_NO_DEPRECATED_API) || \
-    (NPY_NO_DEPRECATED_API < NPY_1_7_API_VERSION)
-#include "npy_1_7_deprecated_api.h"
-#endif
-/*
- * There is no file npy_1_8_deprecated_api.h since there are no additional
- * deprecated API features in NumPy 1.8.
- *
- * Note to maintainers: insert code like the following in future NumPy
- * versions.
- *
- * #if !defined(NPY_NO_DEPRECATED_API) || \
- *     (NPY_NO_DEPRECATED_API < NPY_1_9_API_VERSION)
- * #include "npy_1_9_deprecated_api.h"
- * #endif
- */
-#undef NPY_DEPRECATED_INCLUDES
-
-#endif /* NPY_ARRAYTYPES_H */

+ 0 - 209
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/noprefix.h

@@ -1,209 +0,0 @@
-#ifndef NPY_NOPREFIX_H
-#define NPY_NOPREFIX_H
-
-/*
- * You can directly include noprefix.h as a backward
- * compatibility measure
- */
-#ifndef NPY_NO_PREFIX
-#include "ndarrayobject.h"
-#include "npy_interrupt.h"
-#endif
-
-#define SIGSETJMP   NPY_SIGSETJMP
-#define SIGLONGJMP  NPY_SIGLONGJMP
-#define SIGJMP_BUF  NPY_SIGJMP_BUF
-
-#define MAX_DIMS NPY_MAXDIMS
-
-#define longlong    npy_longlong
-#define ulonglong   npy_ulonglong
-#define Bool        npy_bool
-#define longdouble  npy_longdouble
-#define byte        npy_byte
-
-#ifndef _BSD_SOURCE
-#define ushort      npy_ushort
-#define uint        npy_uint
-#define ulong       npy_ulong
-#endif
-
-#define ubyte       npy_ubyte
-#define ushort      npy_ushort
-#define uint        npy_uint
-#define ulong       npy_ulong
-#define cfloat      npy_cfloat
-#define cdouble     npy_cdouble
-#define clongdouble npy_clongdouble
-#define Int8        npy_int8
-#define UInt8       npy_uint8
-#define Int16       npy_int16
-#define UInt16      npy_uint16
-#define Int32       npy_int32
-#define UInt32      npy_uint32
-#define Int64       npy_int64
-#define UInt64      npy_uint64
-#define Int128      npy_int128
-#define UInt128     npy_uint128
-#define Int256      npy_int256
-#define UInt256     npy_uint256
-#define Float16     npy_float16
-#define Complex32   npy_complex32
-#define Float32     npy_float32
-#define Complex64   npy_complex64
-#define Float64     npy_float64
-#define Complex128  npy_complex128
-#define Float80     npy_float80
-#define Complex160  npy_complex160
-#define Float96     npy_float96
-#define Complex192  npy_complex192
-#define Float128    npy_float128
-#define Complex256  npy_complex256
-#define intp        npy_intp
-#define uintp       npy_uintp
-#define datetime    npy_datetime
-#define timedelta   npy_timedelta
-
-#define SIZEOF_LONGLONG         NPY_SIZEOF_LONGLONG
-#define SIZEOF_INTP             NPY_SIZEOF_INTP
-#define SIZEOF_UINTP            NPY_SIZEOF_UINTP
-#define SIZEOF_HALF             NPY_SIZEOF_HALF
-#define SIZEOF_LONGDOUBLE       NPY_SIZEOF_LONGDOUBLE
-#define SIZEOF_DATETIME         NPY_SIZEOF_DATETIME
-#define SIZEOF_TIMEDELTA        NPY_SIZEOF_TIMEDELTA
-
-#define LONGLONG_FMT NPY_LONGLONG_FMT
-#define ULONGLONG_FMT NPY_ULONGLONG_FMT
-#define LONGLONG_SUFFIX NPY_LONGLONG_SUFFIX
-#define ULONGLONG_SUFFIX NPY_ULONGLONG_SUFFIX
-
-#define MAX_INT8 127
-#define MIN_INT8 -128
-#define MAX_UINT8 255
-#define MAX_INT16 32767
-#define MIN_INT16 -32768
-#define MAX_UINT16 65535
-#define MAX_INT32 2147483647
-#define MIN_INT32 (-MAX_INT32 - 1)
-#define MAX_UINT32 4294967295U
-#define MAX_INT64 LONGLONG_SUFFIX(9223372036854775807)
-#define MIN_INT64 (-MAX_INT64 - LONGLONG_SUFFIX(1))
-#define MAX_UINT64 ULONGLONG_SUFFIX(18446744073709551615)
-#define MAX_INT128 LONGLONG_SUFFIX(85070591730234615865843651857942052864)
-#define MIN_INT128 (-MAX_INT128 - LONGLONG_SUFFIX(1))
-#define MAX_UINT128 ULONGLONG_SUFFIX(170141183460469231731687303715884105728)
-#define MAX_INT256 LONGLONG_SUFFIX(57896044618658097711785492504343953926634992332820282019728792003956564819967)
-#define MIN_INT256 (-MAX_INT256 - LONGLONG_SUFFIX(1))
-#define MAX_UINT256 ULONGLONG_SUFFIX(115792089237316195423570985008687907853269984665640564039457584007913129639935)
-
-#define MAX_BYTE NPY_MAX_BYTE
-#define MIN_BYTE NPY_MIN_BYTE
-#define MAX_UBYTE NPY_MAX_UBYTE
-#define MAX_SHORT NPY_MAX_SHORT
-#define MIN_SHORT NPY_MIN_SHORT
-#define MAX_USHORT NPY_MAX_USHORT
-#define MAX_INT   NPY_MAX_INT
-#define MIN_INT   NPY_MIN_INT
-#define MAX_UINT  NPY_MAX_UINT
-#define MAX_LONG  NPY_MAX_LONG
-#define MIN_LONG  NPY_MIN_LONG
-#define MAX_ULONG  NPY_MAX_ULONG
-#define MAX_LONGLONG NPY_MAX_LONGLONG
-#define MIN_LONGLONG NPY_MIN_LONGLONG
-#define MAX_ULONGLONG NPY_MAX_ULONGLONG
-#define MIN_DATETIME NPY_MIN_DATETIME
-#define MAX_DATETIME NPY_MAX_DATETIME
-#define MIN_TIMEDELTA NPY_MIN_TIMEDELTA
-#define MAX_TIMEDELTA NPY_MAX_TIMEDELTA
-
-#define BITSOF_BOOL       NPY_BITSOF_BOOL
-#define BITSOF_CHAR       NPY_BITSOF_CHAR
-#define BITSOF_SHORT      NPY_BITSOF_SHORT
-#define BITSOF_INT        NPY_BITSOF_INT
-#define BITSOF_LONG       NPY_BITSOF_LONG
-#define BITSOF_LONGLONG   NPY_BITSOF_LONGLONG
-#define BITSOF_HALF       NPY_BITSOF_HALF
-#define BITSOF_FLOAT      NPY_BITSOF_FLOAT
-#define BITSOF_DOUBLE     NPY_BITSOF_DOUBLE
-#define BITSOF_LONGDOUBLE NPY_BITSOF_LONGDOUBLE
-#define BITSOF_DATETIME   NPY_BITSOF_DATETIME
-#define BITSOF_TIMEDELTA   NPY_BITSOF_TIMEDELTA
-
-#define _pya_malloc PyArray_malloc
-#define _pya_free PyArray_free
-#define _pya_realloc PyArray_realloc
-
-#define BEGIN_THREADS_DEF NPY_BEGIN_THREADS_DEF
-#define BEGIN_THREADS     NPY_BEGIN_THREADS
-#define END_THREADS       NPY_END_THREADS
-#define ALLOW_C_API_DEF   NPY_ALLOW_C_API_DEF
-#define ALLOW_C_API       NPY_ALLOW_C_API
-#define DISABLE_C_API     NPY_DISABLE_C_API
-
-#define PY_FAIL NPY_FAIL
-#define PY_SUCCEED NPY_SUCCEED
-
-#ifndef TRUE
-#define TRUE NPY_TRUE
-#endif
-
-#ifndef FALSE
-#define FALSE NPY_FALSE
-#endif
-
-#define LONGDOUBLE_FMT NPY_LONGDOUBLE_FMT
-
-#define CONTIGUOUS         NPY_CONTIGUOUS
-#define C_CONTIGUOUS       NPY_C_CONTIGUOUS
-#define FORTRAN            NPY_FORTRAN
-#define F_CONTIGUOUS       NPY_F_CONTIGUOUS
-#define OWNDATA            NPY_OWNDATA
-#define FORCECAST          NPY_FORCECAST
-#define ENSURECOPY         NPY_ENSURECOPY
-#define ENSUREARRAY        NPY_ENSUREARRAY
-#define ELEMENTSTRIDES     NPY_ELEMENTSTRIDES
-#define ALIGNED            NPY_ALIGNED
-#define NOTSWAPPED         NPY_NOTSWAPPED
-#define WRITEABLE          NPY_WRITEABLE
-#define UPDATEIFCOPY       NPY_UPDATEIFCOPY
-#define ARR_HAS_DESCR      NPY_ARR_HAS_DESCR
-#define BEHAVED            NPY_BEHAVED
-#define BEHAVED_NS         NPY_BEHAVED_NS
-#define CARRAY             NPY_CARRAY
-#define CARRAY_RO          NPY_CARRAY_RO
-#define FARRAY             NPY_FARRAY
-#define FARRAY_RO          NPY_FARRAY_RO
-#define DEFAULT            NPY_DEFAULT
-#define IN_ARRAY           NPY_IN_ARRAY
-#define OUT_ARRAY          NPY_OUT_ARRAY
-#define INOUT_ARRAY        NPY_INOUT_ARRAY
-#define IN_FARRAY          NPY_IN_FARRAY
-#define OUT_FARRAY         NPY_OUT_FARRAY
-#define INOUT_FARRAY       NPY_INOUT_FARRAY
-#define UPDATE_ALL         NPY_UPDATE_ALL
-
-#define OWN_DATA          NPY_OWNDATA
-#define BEHAVED_FLAGS     NPY_BEHAVED
-#define BEHAVED_FLAGS_NS  NPY_BEHAVED_NS
-#define CARRAY_FLAGS_RO   NPY_CARRAY_RO
-#define CARRAY_FLAGS      NPY_CARRAY
-#define FARRAY_FLAGS      NPY_FARRAY
-#define FARRAY_FLAGS_RO   NPY_FARRAY_RO
-#define DEFAULT_FLAGS     NPY_DEFAULT
-#define UPDATE_ALL_FLAGS  NPY_UPDATE_ALL_FLAGS
-
-#ifndef MIN
-#define MIN PyArray_MIN
-#endif
-#ifndef MAX
-#define MAX PyArray_MAX
-#endif
-#define MAX_INTP NPY_MAX_INTP
-#define MIN_INTP NPY_MIN_INTP
-#define MAX_UINTP NPY_MAX_UINTP
-#define INTP_FMT NPY_INTP_FMT
-
-#define REFCOUNT PyArray_REFCOUNT
-#define MAX_ELSIZE NPY_MAX_ELSIZE
-
-#endif

+ 0 - 130
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_1_7_deprecated_api.h

@@ -1,130 +0,0 @@
-#ifndef _NPY_1_7_DEPRECATED_API_H
-#define _NPY_1_7_DEPRECATED_API_H
-
-#ifndef NPY_DEPRECATED_INCLUDES
-#error "Should never include npy_*_*_deprecated_api directly."
-#endif
-
-#if defined(_WIN32)
-#define _WARN___STR2__(x) #x
-#define _WARN___STR1__(x) _WARN___STR2__(x)
-#define _WARN___LOC__ __FILE__ "(" _WARN___STR1__(__LINE__) ") : Warning Msg: "
-#pragma message(_WARN___LOC__"Using deprecated NumPy API, disable it by " \
-                         "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION")
-#elif defined(__GNUC__)
-#warning "Using deprecated NumPy API, disable it by " \
-         "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
-#endif
-/* TODO: How to do this warning message for other compilers? */
-
-/*
- * This header exists to collect all dangerous/deprecated NumPy API
- * as of NumPy 1.7.
- *
- * This is an attempt to remove bad API, the proliferation of macros,
- * and namespace pollution currently produced by the NumPy headers.
- */
-
-/* These array flags are deprecated as of NumPy 1.7 */
-#define NPY_CONTIGUOUS NPY_ARRAY_C_CONTIGUOUS
-#define NPY_FORTRAN NPY_ARRAY_F_CONTIGUOUS
-
-/*
- * The consistent NPY_ARRAY_* names which don't pollute the NPY_*
- * namespace were added in NumPy 1.7.
- *
- * These versions of the carray flags are deprecated, but
- * probably should only be removed after two releases instead of one.
- */
-#define NPY_C_CONTIGUOUS   NPY_ARRAY_C_CONTIGUOUS
-#define NPY_F_CONTIGUOUS   NPY_ARRAY_F_CONTIGUOUS
-#define NPY_OWNDATA        NPY_ARRAY_OWNDATA
-#define NPY_FORCECAST      NPY_ARRAY_FORCECAST
-#define NPY_ENSURECOPY     NPY_ARRAY_ENSURECOPY
-#define NPY_ENSUREARRAY    NPY_ARRAY_ENSUREARRAY
-#define NPY_ELEMENTSTRIDES NPY_ARRAY_ELEMENTSTRIDES
-#define NPY_ALIGNED        NPY_ARRAY_ALIGNED
-#define NPY_NOTSWAPPED     NPY_ARRAY_NOTSWAPPED
-#define NPY_WRITEABLE      NPY_ARRAY_WRITEABLE
-#define NPY_UPDATEIFCOPY   NPY_ARRAY_UPDATEIFCOPY
-#define NPY_BEHAVED        NPY_ARRAY_BEHAVED
-#define NPY_BEHAVED_NS     NPY_ARRAY_BEHAVED_NS
-#define NPY_CARRAY         NPY_ARRAY_CARRAY
-#define NPY_CARRAY_RO      NPY_ARRAY_CARRAY_RO
-#define NPY_FARRAY         NPY_ARRAY_FARRAY
-#define NPY_FARRAY_RO      NPY_ARRAY_FARRAY_RO
-#define NPY_DEFAULT        NPY_ARRAY_DEFAULT
-#define NPY_IN_ARRAY       NPY_ARRAY_IN_ARRAY
-#define NPY_OUT_ARRAY      NPY_ARRAY_OUT_ARRAY
-#define NPY_INOUT_ARRAY    NPY_ARRAY_INOUT_ARRAY
-#define NPY_IN_FARRAY      NPY_ARRAY_IN_FARRAY
-#define NPY_OUT_FARRAY     NPY_ARRAY_OUT_FARRAY
-#define NPY_INOUT_FARRAY   NPY_ARRAY_INOUT_FARRAY
-#define NPY_UPDATE_ALL     NPY_ARRAY_UPDATE_ALL
-
-/* This way of accessing the default type is deprecated as of NumPy 1.7 */
-#define PyArray_DEFAULT NPY_DEFAULT_TYPE
-
-/* These DATETIME bits aren't used internally */
-#if PY_VERSION_HEX >= 0x03000000
-#define PyDataType_GetDatetimeMetaData(descr)                                 \
-    ((descr->metadata == NULL) ? NULL :                                       \
-        ((PyArray_DatetimeMetaData *)(PyCapsule_GetPointer(                   \
-                PyDict_GetItemString(                                         \
-                    descr->metadata, NPY_METADATA_DTSTR), NULL))))
-#else
-#define PyDataType_GetDatetimeMetaData(descr)                                 \
-    ((descr->metadata == NULL) ? NULL :                                       \
-        ((PyArray_DatetimeMetaData *)(PyCObject_AsVoidPtr(                    \
-                PyDict_GetItemString(descr->metadata, NPY_METADATA_DTSTR)))))
-#endif
-
-/*
- * Deprecated as of NumPy 1.7, this kind of shortcut doesn't
- * belong in the public API.
- */
-#define NPY_AO PyArrayObject
-
-/*
- * Deprecated as of NumPy 1.7, an all-lowercase macro doesn't
- * belong in the public API.
- */
-#define fortran fortran_
-
-/*
- * Deprecated as of NumPy 1.7, as it is a namespace-polluting
- * macro.
- */
-#define FORTRAN_IF PyArray_FORTRAN_IF
-
-/* Deprecated as of NumPy 1.7, datetime64 uses c_metadata instead */
-#define NPY_METADATA_DTSTR "__timeunit__"
-
-/*
- * Deprecated as of NumPy 1.7.
- * The reasoning:
- *  - These are for datetime, but there's no datetime "namespace".
- *  - They just turn NPY_STR_<x> into "<x>", which is just
- *    making something simple be indirected.
- */
-#define NPY_STR_Y "Y"
-#define NPY_STR_M "M"
-#define NPY_STR_W "W"
-#define NPY_STR_D "D"
-#define NPY_STR_h "h"
-#define NPY_STR_m "m"
-#define NPY_STR_s "s"
-#define NPY_STR_ms "ms"
-#define NPY_STR_us "us"
-#define NPY_STR_ns "ns"
-#define NPY_STR_ps "ps"
-#define NPY_STR_fs "fs"
-#define NPY_STR_as "as"
-
-/*
- * The macros in old_defines.h are Deprecated as of NumPy 1.7 and will be
- * removed in the next major release.
- */
-#include "old_defines.h"
-
-#endif

+ 0 - 496
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_3kcompat.h

@@ -1,496 +0,0 @@
-/*
- * This is a convenience header file providing compatibility utilities
- * for supporting Python 2 and Python 3 in the same code base.
- *
- * If you want to use this for your own projects, it's recommended to make a
- * copy of it. Although the stuff below is unlikely to change, we don't provide
- * strong backwards compatibility guarantees at the moment.
- */
-
-#ifndef _NPY_3KCOMPAT_H_
-#define _NPY_3KCOMPAT_H_
-
-#include <Python.h>
-#include <stdio.h>
-
-#if PY_VERSION_HEX >= 0x03000000
-#ifndef NPY_PY3K
-#define NPY_PY3K 1
-#endif
-#endif
-
-#include "numpy/npy_common.h"
-#include "numpy/ndarrayobject.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * PyInt -> PyLong
- */
-
-#if defined(NPY_PY3K)
-/* Return True only if the long fits in a C long */
-static NPY_INLINE int PyInt_Check(PyObject *op) {
-    int overflow = 0;
-    if (!PyLong_Check(op)) {
-        return 0;
-    }
-    PyLong_AsLongAndOverflow(op, &overflow);
-    return (overflow == 0);
-}
-
-#define PyInt_FromLong PyLong_FromLong
-#define PyInt_AsLong PyLong_AsLong
-#define PyInt_AS_LONG PyLong_AsLong
-#define PyInt_AsSsize_t PyLong_AsSsize_t
-
-/* NOTE:
- *
- * Since the PyLong type is very different from the fixed-range PyInt,
- * we don't define PyInt_Type -> PyLong_Type.
- */
-#endif /* NPY_PY3K */
-
-/*
- * PyString -> PyBytes
- */
-
-#if defined(NPY_PY3K)
-
-#define PyString_Type PyBytes_Type
-#define PyString_Check PyBytes_Check
-#define PyStringObject PyBytesObject
-#define PyString_FromString PyBytes_FromString
-#define PyString_FromStringAndSize PyBytes_FromStringAndSize
-#define PyString_AS_STRING PyBytes_AS_STRING
-#define PyString_AsStringAndSize PyBytes_AsStringAndSize
-#define PyString_FromFormat PyBytes_FromFormat
-#define PyString_Concat PyBytes_Concat
-#define PyString_ConcatAndDel PyBytes_ConcatAndDel
-#define PyString_AsString PyBytes_AsString
-#define PyString_GET_SIZE PyBytes_GET_SIZE
-#define PyString_Size PyBytes_Size
-
-#define PyUString_Type PyUnicode_Type
-#define PyUString_Check PyUnicode_Check
-#define PyUStringObject PyUnicodeObject
-#define PyUString_FromString PyUnicode_FromString
-#define PyUString_FromStringAndSize PyUnicode_FromStringAndSize
-#define PyUString_FromFormat PyUnicode_FromFormat
-#define PyUString_Concat PyUnicode_Concat2
-#define PyUString_ConcatAndDel PyUnicode_ConcatAndDel
-#define PyUString_GET_SIZE PyUnicode_GET_SIZE
-#define PyUString_Size PyUnicode_Size
-#define PyUString_InternFromString PyUnicode_InternFromString
-#define PyUString_Format PyUnicode_Format
-
-#else
-
-#define PyBytes_Type PyString_Type
-#define PyBytes_Check PyString_Check
-#define PyBytesObject PyStringObject
-#define PyBytes_FromString PyString_FromString
-#define PyBytes_FromStringAndSize PyString_FromStringAndSize
-#define PyBytes_AS_STRING PyString_AS_STRING
-#define PyBytes_AsStringAndSize PyString_AsStringAndSize
-#define PyBytes_FromFormat PyString_FromFormat
-#define PyBytes_Concat PyString_Concat
-#define PyBytes_ConcatAndDel PyString_ConcatAndDel
-#define PyBytes_AsString PyString_AsString
-#define PyBytes_GET_SIZE PyString_GET_SIZE
-#define PyBytes_Size PyString_Size
-
-#define PyUString_Type PyString_Type
-#define PyUString_Check PyString_Check
-#define PyUStringObject PyStringObject
-#define PyUString_FromString PyString_FromString
-#define PyUString_FromStringAndSize PyString_FromStringAndSize
-#define PyUString_FromFormat PyString_FromFormat
-#define PyUString_Concat PyString_Concat
-#define PyUString_ConcatAndDel PyString_ConcatAndDel
-#define PyUString_GET_SIZE PyString_GET_SIZE
-#define PyUString_Size PyString_Size
-#define PyUString_InternFromString PyString_InternFromString
-#define PyUString_Format PyString_Format
-
-#endif /* NPY_PY3K */
-
-
-static NPY_INLINE void
-PyUnicode_ConcatAndDel(PyObject **left, PyObject *right)
-{
-    PyObject *newobj;
-    newobj = PyUnicode_Concat(*left, right);
-    Py_DECREF(*left);
-    Py_DECREF(right);
-    *left = newobj;
-}
-
-static NPY_INLINE void
-PyUnicode_Concat2(PyObject **left, PyObject *right)
-{
-    PyObject *newobj;
-    newobj = PyUnicode_Concat(*left, right);
-    Py_DECREF(*left);
-    *left = newobj;
-}
-
-/*
- * PyFile_* compatibility
- */
-#if defined(NPY_PY3K)
-/*
- * Get a FILE* handle to the file represented by the Python object
- */
-static NPY_INLINE FILE*
-npy_PyFile_Dup2(PyObject *file, char *mode, npy_off_t *orig_pos)
-{
-    int fd, fd2, unbuf;
-    PyObject *ret, *os, *io, *io_raw;
-    npy_off_t pos;
-    FILE *handle;
-
-    /* Flush first to ensure things end up in the file in the correct order */
-    ret = PyObject_CallMethod(file, "flush", "");
-    if (ret == NULL) {
-        return NULL;
-    }
-    Py_DECREF(ret);
-    fd = PyObject_AsFileDescriptor(file);
-    if (fd == -1) {
-        return NULL;
-    }
-
-    /*
-     * The handle needs to be dup'd because we have to call fclose
-     * at the end
-     */
-    os = PyImport_ImportModule("os");
-    if (os == NULL) {
-        return NULL;
-    }
-    ret = PyObject_CallMethod(os, "dup", "i", fd);
-    Py_DECREF(os);
-    if (ret == NULL) {
-        return NULL;
-    }
-    fd2 = PyNumber_AsSsize_t(ret, NULL);
-    Py_DECREF(ret);
-
-    /* Convert to FILE* handle */
-#ifdef _WIN32
-    handle = _fdopen(fd2, mode);
-#else
-    handle = fdopen(fd2, mode);
-#endif
-    if (handle == NULL) {
-        PyErr_SetString(PyExc_IOError,
-                        "Getting a FILE* from a Python file object failed");
-    }
-
-    /* Record the original raw file handle position */
-    *orig_pos = npy_ftell(handle);
-    if (*orig_pos == -1) {
-        /* The io module is needed to determine if buffering is used */
-        io = PyImport_ImportModule("io");
-        if (io == NULL) {
-            fclose(handle);
-            return NULL;
-        }
-        /* File object instances of RawIOBase are unbuffered */
-        io_raw = PyObject_GetAttrString(io, "RawIOBase");
-        Py_DECREF(io);
-        if (io_raw == NULL) {
-            fclose(handle);
-            return NULL;
-        }
-        unbuf = PyObject_IsInstance(file, io_raw);
-        Py_DECREF(io_raw);
-        if (unbuf == 1) {
-            /* Succeed if the IO is unbuffered */
-            return handle;
-        }
-        else {
-            PyErr_SetString(PyExc_IOError, "obtaining file position failed");
-            fclose(handle);
-            return NULL;
-        }
-    }
-
-    /* Seek raw handle to the Python-side position */
-    ret = PyObject_CallMethod(file, "tell", "");
-    if (ret == NULL) {
-        fclose(handle);
-        return NULL;
-    }
-    pos = PyLong_AsLongLong(ret);
-    Py_DECREF(ret);
-    if (PyErr_Occurred()) {
-        fclose(handle);
-        return NULL;
-    }
-    if (npy_fseek(handle, pos, SEEK_SET) == -1) {
-        PyErr_SetString(PyExc_IOError, "seeking file failed");
-        fclose(handle);
-        return NULL;
-    }
-    return handle;
-}
-
-/*
- * Close the dup-ed file handle, and seek the Python one to the current position
- */
-static NPY_INLINE int
-npy_PyFile_DupClose2(PyObject *file, FILE* handle, npy_off_t orig_pos)
-{
-    int fd, unbuf;
-    PyObject *ret, *io, *io_raw;
-    npy_off_t position;
-
-    position = npy_ftell(handle);
-
-    /* Close the FILE* handle */
-    fclose(handle);
-
-    /*
-     * Restore original file handle position, in order to not confuse
-     * Python-side data structures
-     */
-    fd = PyObject_AsFileDescriptor(file);
-    if (fd == -1) {
-        return -1;
-    }
-
-    if (npy_lseek(fd, orig_pos, SEEK_SET) == -1) {
-
-        /* The io module is needed to determine if buffering is used */
-        io = PyImport_ImportModule("io");
-        if (io == NULL) {
-            return -1;
-        }
-        /* File object instances of RawIOBase are unbuffered */
-        io_raw = PyObject_GetAttrString(io, "RawIOBase");
-        Py_DECREF(io);
-        if (io_raw == NULL) {
-            return -1;
-        }
-        unbuf = PyObject_IsInstance(file, io_raw);
-        Py_DECREF(io_raw);
-        if (unbuf == 1) {
-            /* Succeed if the IO is unbuffered */
-            return 0;
-        }
-        else {
-            PyErr_SetString(PyExc_IOError, "seeking file failed");
-            return -1;
-        }
-    }
-
-    if (position == -1) {
-        PyErr_SetString(PyExc_IOError, "obtaining file position failed");
-        return -1;
-    }
-
-    /* Seek Python-side handle to the FILE* handle position */
-    ret = PyObject_CallMethod(file, "seek", NPY_OFF_T_PYFMT "i", position, 0);
-    if (ret == NULL) {
-        return -1;
-    }
-    Py_DECREF(ret);
-    return 0;
-}
-
-static NPY_INLINE int
-npy_PyFile_Check(PyObject *file)
-{
-    int fd;
-    fd = PyObject_AsFileDescriptor(file);
-    if (fd == -1) {
-        PyErr_Clear();
-        return 0;
-    }
-    return 1;
-}
-
-#else
-
-static NPY_INLINE FILE *
-npy_PyFile_Dup2(PyObject *file,
-                const char *NPY_UNUSED(mode), npy_off_t *NPY_UNUSED(orig_pos))
-{
-    FILE * fp = PyFile_AsFile(file);
-    if (fp == NULL) {
-        PyErr_SetString(PyExc_IOError,
-                        "first argument must be an open file");
-        return NULL;
-    }
-    return fp;
-}
-
-static NPY_INLINE int
-npy_PyFile_DupClose2(PyObject *NPY_UNUSED(file), FILE* NPY_UNUSED(handle),
-                     npy_off_t NPY_UNUSED(orig_pos))
-{
-    return 0;
-}
-
-#define npy_PyFile_Check PyFile_Check
-
-#endif
-
-static NPY_INLINE PyObject*
-npy_PyFile_OpenFile(PyObject *filename, const char *mode)
-{
-    PyObject *open;
-    open = PyDict_GetItemString(PyEval_GetBuiltins(), "open");
-    if (open == NULL) {
-        return NULL;
-    }
-    return PyObject_CallFunction(open, "Os", filename, mode);
-}
-
-static NPY_INLINE int
-npy_PyFile_CloseFile(PyObject *file)
-{
-    PyObject *ret;
-
-    ret = PyObject_CallMethod(file, "close", NULL);
-    if (ret == NULL) {
-        return -1;
-    }
-    Py_DECREF(ret);
-    return 0;
-}
-
-/*
- * PyObject_Cmp
- */
-#if defined(NPY_PY3K)
-static NPY_INLINE int
-PyObject_Cmp(PyObject *i1, PyObject *i2, int *cmp)
-{
-    int v;
-    v = PyObject_RichCompareBool(i1, i2, Py_LT);
-    if (v == 1) {
-        *cmp = -1;
-        return 1;
-    }
-    else if (v == -1) {
-        return -1;
-    }
-
-    v = PyObject_RichCompareBool(i1, i2, Py_GT);
-    if (v == 1) {
-        *cmp = 1;
-        return 1;
-    }
-    else if (v == -1) {
-        return -1;
-    }
-
-    v = PyObject_RichCompareBool(i1, i2, Py_EQ);
-    if (v == 1) {
-        *cmp = 0;
-        return 1;
-    }
-    else {
-        *cmp = 0;
-        return -1;
-    }
-}
-#endif
-
-/*
- * PyCObject functions adapted to PyCapsules.
- *
- * The main job here is to get rid of the improved error handling
- * of PyCapsules. It's a shame...
- */
-#if PY_VERSION_HEX >= 0x03000000
-
-static NPY_INLINE PyObject *
-NpyCapsule_FromVoidPtr(void *ptr, void (*dtor)(PyObject *))
-{
-    PyObject *ret = PyCapsule_New(ptr, NULL, dtor);
-    if (ret == NULL) {
-        PyErr_Clear();
-    }
-    return ret;
-}
-
-static NPY_INLINE PyObject *
-NpyCapsule_FromVoidPtrAndDesc(void *ptr, void* context, void (*dtor)(PyObject *))
-{
-    PyObject *ret = NpyCapsule_FromVoidPtr(ptr, dtor);
-    if (ret != NULL && PyCapsule_SetContext(ret, context) != 0) {
-        PyErr_Clear();
-        Py_DECREF(ret);
-        ret = NULL;
-    }
-    return ret;
-}
-
-static NPY_INLINE void *
-NpyCapsule_AsVoidPtr(PyObject *obj)
-{
-    void *ret = PyCapsule_GetPointer(obj, NULL);
-    if (ret == NULL) {
-        PyErr_Clear();
-    }
-    return ret;
-}
-
-static NPY_INLINE void *
-NpyCapsule_GetDesc(PyObject *obj)
-{
-    return PyCapsule_GetContext(obj);
-}
-
-static NPY_INLINE int
-NpyCapsule_Check(PyObject *ptr)
-{
-    return PyCapsule_CheckExact(ptr);
-}
-
-#else
-
-static NPY_INLINE PyObject *
-NpyCapsule_FromVoidPtr(void *ptr, void (*dtor)(void *))
-{
-    return PyCObject_FromVoidPtr(ptr, dtor);
-}
-
-static NPY_INLINE PyObject *
-NpyCapsule_FromVoidPtrAndDesc(void *ptr, void* context,
-        void (*dtor)(void *, void *))
-{
-    return PyCObject_FromVoidPtrAndDesc(ptr, context, dtor);
-}
-
-static NPY_INLINE void *
-NpyCapsule_AsVoidPtr(PyObject *ptr)
-{
-    return PyCObject_AsVoidPtr(ptr);
-}
-
-static NPY_INLINE void *
-NpyCapsule_GetDesc(PyObject *obj)
-{
-    return PyCObject_GetDesc(obj);
-}
-
-static NPY_INLINE int
-NpyCapsule_Check(PyObject *ptr)
-{
-    return PyCObject_Check(ptr);
-}
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NPY_3KCOMPAT_H_ */

+ 0 - 1069
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_common.h

@@ -1,1069 +0,0 @@
-#ifndef _NPY_COMMON_H_
-#define _NPY_COMMON_H_
-
-/* numpconfig.h is auto-generated */
-#include "numpyconfig.h"
-#ifdef HAVE_NPY_CONFIG_H
-#include <npy_config.h>
-#endif
-
-/* need Python.h for npy_intp, npy_uintp */
-#include <Python.h>
-
-/*
- * gcc does not unroll even with -O3
- * use with care, unrolling on modern cpus rarely speeds things up
- */
-#ifdef HAVE_ATTRIBUTE_OPTIMIZE_UNROLL_LOOPS
-#define NPY_GCC_UNROLL_LOOPS \
-    __attribute__((optimize("unroll-loops")))
-#else
-#define NPY_GCC_UNROLL_LOOPS
-#endif
-
-/* highest gcc optimization level, enabled autovectorizer */
-#ifdef HAVE_ATTRIBUTE_OPTIMIZE_OPT_3
-#define NPY_GCC_OPT_3 __attribute__((optimize("O3")))
-#else
-#define NPY_GCC_OPT_3
-#endif
-
-/*
- * mark an argument (starting from 1) that must not be NULL and is not checked
- * DO NOT USE IF FUNCTION CHECKS FOR NULL!! the compiler will remove the check
- */
-#ifdef HAVE_ATTRIBUTE_NONNULL
-#define NPY_GCC_NONNULL(n) __attribute__((nonnull(n)))
-#else
-#define NPY_GCC_NONNULL(n)
-#endif
-
-#if defined HAVE_XMMINTRIN_H && defined HAVE__MM_LOAD_PS
-#define NPY_HAVE_SSE_INTRINSICS
-#endif
-
-#if defined HAVE_EMMINTRIN_H && defined HAVE__MM_LOAD_PD
-#define NPY_HAVE_SSE2_INTRINSICS
-#endif
-
-/*
- * give a hint to the compiler which branch is more likely or unlikely
- * to occur, e.g. rare error cases:
- *
- * if (NPY_UNLIKELY(failure == 0))
- *    return NULL;
- *
- * the double !! is to cast the expression (e.g. NULL) to a boolean required by
- * the intrinsic
- */
-#ifdef HAVE___BUILTIN_EXPECT
-#define NPY_LIKELY(x) __builtin_expect(!!(x), 1)
-#define NPY_UNLIKELY(x) __builtin_expect(!!(x), 0)
-#else
-#define NPY_LIKELY(x) (x)
-#define NPY_UNLIKELY(x) (x)
-#endif
-
-#ifdef HAVE___BUILTIN_PREFETCH
-/* unlike _mm_prefetch also works on non-x86 */
-#define NPY_PREFETCH(x, rw, loc) __builtin_prefetch((x), (rw), (loc))
-#else
-#ifdef HAVE__MM_PREFETCH
-/* _MM_HINT_ET[01] (rw = 1) unsupported, only available in gcc >= 4.9 */
-#define NPY_PREFETCH(x, rw, loc) _mm_prefetch((x), loc == 0 ? _MM_HINT_NTA : \
-                                             (loc == 1 ? _MM_HINT_T2 : \
-                                              (loc == 2 ? _MM_HINT_T1 : \
-                                               (loc == 3 ? _MM_HINT_T0 : -1))))
-#else
-#define NPY_PREFETCH(x, rw,loc)
-#endif
-#endif
-
-#if defined(_MSC_VER)
-        #define NPY_INLINE __inline
-#elif defined(__GNUC__)
-	#if defined(__STRICT_ANSI__)
-		#define NPY_INLINE __inline__
-	#else
-		#define NPY_INLINE inline
-	#endif
-#else
-        #define NPY_INLINE
-#endif
-
-#ifdef HAVE___THREAD
-    #define NPY_TLS __thread
-#else
-    #ifdef HAVE___DECLSPEC_THREAD_
-        #define NPY_TLS __declspec(thread)
-    #else
-        #define NPY_TLS
-    #endif
-#endif
-
-#ifdef WITH_CPYCHECKER_RETURNS_BORROWED_REF_ATTRIBUTE
-  #define NPY_RETURNS_BORROWED_REF \
-    __attribute__((cpychecker_returns_borrowed_ref))
-#else
-  #define NPY_RETURNS_BORROWED_REF
-#endif
-
-#ifdef WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE
-  #define NPY_STEALS_REF_TO_ARG(n) \
-   __attribute__((cpychecker_steals_reference_to_arg(n)))
-#else
- #define NPY_STEALS_REF_TO_ARG(n)
-#endif
-
-/* 64 bit file position support, also on win-amd64. Ticket #1660 */
-#if defined(_MSC_VER) && defined(_WIN64) && (_MSC_VER > 1400) || \
-    defined(__MINGW32__) || defined(__MINGW64__)
-    #include <io.h>
-
-/* mingw based on 3.4.5 has lseek but not ftell/fseek */
-#if defined(__MINGW32__) || defined(__MINGW64__)
-extern int __cdecl _fseeki64(FILE *, long long, int);
-extern long long __cdecl _ftelli64(FILE *);
-#endif
-
-    #define npy_fseek _fseeki64
-    #define npy_ftell _ftelli64
-    #define npy_lseek _lseeki64
-    #define npy_off_t npy_int64
-
-    #if NPY_SIZEOF_INT == 8
-        #define NPY_OFF_T_PYFMT "i"
-    #elif NPY_SIZEOF_LONG == 8
-        #define NPY_OFF_T_PYFMT "l"
-    #elif NPY_SIZEOF_LONGLONG == 8
-        #define NPY_OFF_T_PYFMT "L"
-    #else
-        #error Unsupported size for type off_t
-    #endif
-#else
-#ifdef HAVE_FSEEKO
-    #define npy_fseek fseeko
-#else
-    #define npy_fseek fseek
-#endif
-#ifdef HAVE_FTELLO
-    #define npy_ftell ftello
-#else
-    #define npy_ftell ftell
-#endif
-    #include <sys/types.h>
-    #define npy_lseek lseek
-    #define npy_off_t off_t
-
-    #if NPY_SIZEOF_OFF_T == NPY_SIZEOF_SHORT
-        #define NPY_OFF_T_PYFMT "h"
-    #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_INT
-        #define NPY_OFF_T_PYFMT "i"
-    #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONG
-        #define NPY_OFF_T_PYFMT "l"
-    #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONGLONG
-        #define NPY_OFF_T_PYFMT "L"
-    #else
-        #error Unsupported size for type off_t
-    #endif
-#endif
-
-/* enums for detected endianness */
-enum {
-        NPY_CPU_UNKNOWN_ENDIAN,
-        NPY_CPU_LITTLE,
-        NPY_CPU_BIG
-};
-
-/*
- * This is to typedef npy_intp to the appropriate pointer size for this
- * platform.  Py_intptr_t, Py_uintptr_t are defined in pyport.h.
- */
-typedef Py_intptr_t npy_intp;
-typedef Py_uintptr_t npy_uintp;
-
-/*
- * Define sizes that were not defined in numpyconfig.h.
- */
-#define NPY_SIZEOF_CHAR 1
-#define NPY_SIZEOF_BYTE 1
-#define NPY_SIZEOF_DATETIME 8
-#define NPY_SIZEOF_TIMEDELTA 8
-#define NPY_SIZEOF_INTP NPY_SIZEOF_PY_INTPTR_T
-#define NPY_SIZEOF_UINTP NPY_SIZEOF_PY_INTPTR_T
-#define NPY_SIZEOF_HALF 2
-#define NPY_SIZEOF_CFLOAT NPY_SIZEOF_COMPLEX_FLOAT
-#define NPY_SIZEOF_CDOUBLE NPY_SIZEOF_COMPLEX_DOUBLE
-#define NPY_SIZEOF_CLONGDOUBLE NPY_SIZEOF_COMPLEX_LONGDOUBLE
-
-#ifdef constchar
-#undef constchar
-#endif
-
-#define NPY_SSIZE_T_PYFMT "n"
-#define constchar char
-
-/* NPY_INTP_FMT Note:
- *      Unlike the other NPY_*_FMT macros which are used with
- *      PyOS_snprintf, NPY_INTP_FMT is used with PyErr_Format and
- *      PyString_Format. These functions use different formatting
- *      codes which are portably specified according to the Python
- *      documentation. See ticket #1795.
- *
- *      On Windows x64, the LONGLONG formatter should be used, but
- *      in Python 2.6 the %lld formatter is not supported. In this
- *      case we work around the problem by using the %zd formatter.
- */
-#if NPY_SIZEOF_PY_INTPTR_T == NPY_SIZEOF_INT
-        #define NPY_INTP NPY_INT
-        #define NPY_UINTP NPY_UINT
-        #define PyIntpArrType_Type PyIntArrType_Type
-        #define PyUIntpArrType_Type PyUIntArrType_Type
-        #define NPY_MAX_INTP NPY_MAX_INT
-        #define NPY_MIN_INTP NPY_MIN_INT
-        #define NPY_MAX_UINTP NPY_MAX_UINT
-        #define NPY_INTP_FMT "d"
-#elif NPY_SIZEOF_PY_INTPTR_T == NPY_SIZEOF_LONG
-        #define NPY_INTP NPY_LONG
-        #define NPY_UINTP NPY_ULONG
-        #define PyIntpArrType_Type PyLongArrType_Type
-        #define PyUIntpArrType_Type PyULongArrType_Type
-        #define NPY_MAX_INTP NPY_MAX_LONG
-        #define NPY_MIN_INTP NPY_MIN_LONG
-        #define NPY_MAX_UINTP NPY_MAX_ULONG
-        #define NPY_INTP_FMT "ld"
-#elif defined(PY_LONG_LONG) && (NPY_SIZEOF_PY_INTPTR_T == NPY_SIZEOF_LONGLONG)
-        #define NPY_INTP NPY_LONGLONG
-        #define NPY_UINTP NPY_ULONGLONG
-        #define PyIntpArrType_Type PyLongLongArrType_Type
-        #define PyUIntpArrType_Type PyULongLongArrType_Type
-        #define NPY_MAX_INTP NPY_MAX_LONGLONG
-        #define NPY_MIN_INTP NPY_MIN_LONGLONG
-        #define NPY_MAX_UINTP NPY_MAX_ULONGLONG
-    #if (PY_VERSION_HEX >= 0x02070000)
-        #define NPY_INTP_FMT "lld"
-    #else
-        #define NPY_INTP_FMT "zd"
-    #endif
-#endif
-
-/*
- * We can only use C99 formats for npy_int_p if it is the same as
- * intp_t, hence the condition on HAVE_UNITPTR_T
- */
-#if (NPY_USE_C99_FORMATS) == 1 \
-        && (defined HAVE_UINTPTR_T) \
-        && (defined HAVE_INTTYPES_H)
-        #include <inttypes.h>
-        #undef NPY_INTP_FMT
-        #define NPY_INTP_FMT PRIdPTR
-#endif
-
-
-/*
- * Some platforms don't define bool, long long, or long double.
- * Handle that here.
- */
-#define NPY_BYTE_FMT "hhd"
-#define NPY_UBYTE_FMT "hhu"
-#define NPY_SHORT_FMT "hd"
-#define NPY_USHORT_FMT "hu"
-#define NPY_INT_FMT "d"
-#define NPY_UINT_FMT "u"
-#define NPY_LONG_FMT "ld"
-#define NPY_ULONG_FMT "lu"
-#define NPY_HALF_FMT "g"
-#define NPY_FLOAT_FMT "g"
-#define NPY_DOUBLE_FMT "g"
-
-
-#ifdef PY_LONG_LONG
-typedef PY_LONG_LONG npy_longlong;
-typedef unsigned PY_LONG_LONG npy_ulonglong;
-#  ifdef _MSC_VER
-#    define NPY_LONGLONG_FMT         "I64d"
-#    define NPY_ULONGLONG_FMT        "I64u"
-#  else
-#    define NPY_LONGLONG_FMT         "lld"
-#    define NPY_ULONGLONG_FMT        "llu"
-#  endif
-#  ifdef _MSC_VER
-#    define NPY_LONGLONG_SUFFIX(x)   (x##i64)
-#    define NPY_ULONGLONG_SUFFIX(x)  (x##Ui64)
-#  else
-#    define NPY_LONGLONG_SUFFIX(x)   (x##LL)
-#    define NPY_ULONGLONG_SUFFIX(x)  (x##ULL)
-#  endif
-#else
-typedef long npy_longlong;
-typedef unsigned long npy_ulonglong;
-#  define NPY_LONGLONG_SUFFIX(x)  (x##L)
-#  define NPY_ULONGLONG_SUFFIX(x) (x##UL)
-#endif
-
-
-typedef unsigned char npy_bool;
-#define NPY_FALSE 0
-#define NPY_TRUE 1
-
-
-#if NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE
-        typedef double npy_longdouble;
-        #define NPY_LONGDOUBLE_FMT "g"
-#else
-        typedef long double npy_longdouble;
-        #define NPY_LONGDOUBLE_FMT "Lg"
-#endif
-
-#ifndef Py_USING_UNICODE
-#error Must use Python with unicode enabled.
-#endif
-
-
-typedef signed char npy_byte;
-typedef unsigned char npy_ubyte;
-typedef unsigned short npy_ushort;
-typedef unsigned int npy_uint;
-typedef unsigned long npy_ulong;
-
-/* These are for completeness */
-typedef char npy_char;
-typedef short npy_short;
-typedef int npy_int;
-typedef long npy_long;
-typedef float npy_float;
-typedef double npy_double;
-
-/*
- * Hash value compatibility.
- * As of Python 3.2 hash values are of type Py_hash_t.
- * Previous versions use C long.
- */
-#if PY_VERSION_HEX < 0x03020000
-typedef long npy_hash_t;
-#define NPY_SIZEOF_HASH_T NPY_SIZEOF_LONG
-#else
-typedef Py_hash_t npy_hash_t;
-#define NPY_SIZEOF_HASH_T NPY_SIZEOF_INTP
-#endif
-
-/*
- * Disabling C99 complex usage: a lot of C code in numpy/scipy rely on being
- * able to do .real/.imag. Will have to convert code first.
- */
-#if 0
-#if defined(NPY_USE_C99_COMPLEX) && defined(NPY_HAVE_COMPLEX_DOUBLE)
-typedef complex npy_cdouble;
-#else
-typedef struct { double real, imag; } npy_cdouble;
-#endif
-
-#if defined(NPY_USE_C99_COMPLEX) && defined(NPY_HAVE_COMPLEX_FLOAT)
-typedef complex float npy_cfloat;
-#else
-typedef struct { float real, imag; } npy_cfloat;
-#endif
-
-#if defined(NPY_USE_C99_COMPLEX) && defined(NPY_HAVE_COMPLEX_LONG_DOUBLE)
-typedef complex long double npy_clongdouble;
-#else
-typedef struct {npy_longdouble real, imag;} npy_clongdouble;
-#endif
-#endif
-#if NPY_SIZEOF_COMPLEX_DOUBLE != 2 * NPY_SIZEOF_DOUBLE
-#error npy_cdouble definition is not compatible with C99 complex definition ! \
-        Please contact Numpy maintainers and give detailed information about your \
-        compiler and platform
-#endif
-typedef struct { double real, imag; } npy_cdouble;
-
-#if NPY_SIZEOF_COMPLEX_FLOAT != 2 * NPY_SIZEOF_FLOAT
-#error npy_cfloat definition is not compatible with C99 complex definition ! \
-        Please contact Numpy maintainers and give detailed information about your \
-        compiler and platform
-#endif
-typedef struct { float real, imag; } npy_cfloat;
-
-#if NPY_SIZEOF_COMPLEX_LONGDOUBLE != 2 * NPY_SIZEOF_LONGDOUBLE
-#error npy_clongdouble definition is not compatible with C99 complex definition ! \
-        Please contact Numpy maintainers and give detailed information about your \
-        compiler and platform
-#endif
-typedef struct { npy_longdouble real, imag; } npy_clongdouble;
-
-/*
- * numarray-style bit-width typedefs
- */
-#define NPY_MAX_INT8 127
-#define NPY_MIN_INT8 -128
-#define NPY_MAX_UINT8 255
-#define NPY_MAX_INT16 32767
-#define NPY_MIN_INT16 -32768
-#define NPY_MAX_UINT16 65535
-#define NPY_MAX_INT32 2147483647
-#define NPY_MIN_INT32 (-NPY_MAX_INT32 - 1)
-#define NPY_MAX_UINT32 4294967295U
-#define NPY_MAX_INT64 NPY_LONGLONG_SUFFIX(9223372036854775807)
-#define NPY_MIN_INT64 (-NPY_MAX_INT64 - NPY_LONGLONG_SUFFIX(1))
-#define NPY_MAX_UINT64 NPY_ULONGLONG_SUFFIX(18446744073709551615)
-#define NPY_MAX_INT128 NPY_LONGLONG_SUFFIX(85070591730234615865843651857942052864)
-#define NPY_MIN_INT128 (-NPY_MAX_INT128 - NPY_LONGLONG_SUFFIX(1))
-#define NPY_MAX_UINT128 NPY_ULONGLONG_SUFFIX(170141183460469231731687303715884105728)
-#define NPY_MAX_INT256 NPY_LONGLONG_SUFFIX(57896044618658097711785492504343953926634992332820282019728792003956564819967)
-#define NPY_MIN_INT256 (-NPY_MAX_INT256 - NPY_LONGLONG_SUFFIX(1))
-#define NPY_MAX_UINT256 NPY_ULONGLONG_SUFFIX(115792089237316195423570985008687907853269984665640564039457584007913129639935)
-#define NPY_MIN_DATETIME NPY_MIN_INT64
-#define NPY_MAX_DATETIME NPY_MAX_INT64
-#define NPY_MIN_TIMEDELTA NPY_MIN_INT64
-#define NPY_MAX_TIMEDELTA NPY_MAX_INT64
-
-        /* Need to find the number of bits for each type and
-           make definitions accordingly.
-
-           C states that sizeof(char) == 1 by definition
-
-           So, just using the sizeof keyword won't help.
-
-           It also looks like Python itself uses sizeof(char) quite a
-           bit, which by definition should be 1 all the time.
-
-           Idea: Make Use of CHAR_BIT which should tell us how many
-           BITS per CHARACTER
-        */
-
-        /* Include platform definitions -- These are in the C89/90 standard */
-#include <limits.h>
-#define NPY_MAX_BYTE SCHAR_MAX
-#define NPY_MIN_BYTE SCHAR_MIN
-#define NPY_MAX_UBYTE UCHAR_MAX
-#define NPY_MAX_SHORT SHRT_MAX
-#define NPY_MIN_SHORT SHRT_MIN
-#define NPY_MAX_USHORT USHRT_MAX
-#define NPY_MAX_INT   INT_MAX
-#ifndef INT_MIN
-#define INT_MIN (-INT_MAX - 1)
-#endif
-#define NPY_MIN_INT   INT_MIN
-#define NPY_MAX_UINT  UINT_MAX
-#define NPY_MAX_LONG  LONG_MAX
-#define NPY_MIN_LONG  LONG_MIN
-#define NPY_MAX_ULONG  ULONG_MAX
-
-#define NPY_BITSOF_BOOL (sizeof(npy_bool) * CHAR_BIT)
-#define NPY_BITSOF_CHAR CHAR_BIT
-#define NPY_BITSOF_BYTE (NPY_SIZEOF_BYTE * CHAR_BIT)
-#define NPY_BITSOF_SHORT (NPY_SIZEOF_SHORT * CHAR_BIT)
-#define NPY_BITSOF_INT (NPY_SIZEOF_INT * CHAR_BIT)
-#define NPY_BITSOF_LONG (NPY_SIZEOF_LONG * CHAR_BIT)
-#define NPY_BITSOF_LONGLONG (NPY_SIZEOF_LONGLONG * CHAR_BIT)
-#define NPY_BITSOF_INTP (NPY_SIZEOF_INTP * CHAR_BIT)
-#define NPY_BITSOF_HALF (NPY_SIZEOF_HALF * CHAR_BIT)
-#define NPY_BITSOF_FLOAT (NPY_SIZEOF_FLOAT * CHAR_BIT)
-#define NPY_BITSOF_DOUBLE (NPY_SIZEOF_DOUBLE * CHAR_BIT)
-#define NPY_BITSOF_LONGDOUBLE (NPY_SIZEOF_LONGDOUBLE * CHAR_BIT)
-#define NPY_BITSOF_CFLOAT (NPY_SIZEOF_CFLOAT * CHAR_BIT)
-#define NPY_BITSOF_CDOUBLE (NPY_SIZEOF_CDOUBLE * CHAR_BIT)
-#define NPY_BITSOF_CLONGDOUBLE (NPY_SIZEOF_CLONGDOUBLE * CHAR_BIT)
-#define NPY_BITSOF_DATETIME (NPY_SIZEOF_DATETIME * CHAR_BIT)
-#define NPY_BITSOF_TIMEDELTA (NPY_SIZEOF_TIMEDELTA * CHAR_BIT)
-
-#if NPY_BITSOF_LONG == 8
-#define NPY_INT8 NPY_LONG
-#define NPY_UINT8 NPY_ULONG
-        typedef long npy_int8;
-        typedef unsigned long npy_uint8;
-#define PyInt8ScalarObject PyLongScalarObject
-#define PyInt8ArrType_Type PyLongArrType_Type
-#define PyUInt8ScalarObject PyULongScalarObject
-#define PyUInt8ArrType_Type PyULongArrType_Type
-#define NPY_INT8_FMT NPY_LONG_FMT
-#define NPY_UINT8_FMT NPY_ULONG_FMT
-#elif NPY_BITSOF_LONG == 16
-#define NPY_INT16 NPY_LONG
-#define NPY_UINT16 NPY_ULONG
-        typedef long npy_int16;
-        typedef unsigned long npy_uint16;
-#define PyInt16ScalarObject PyLongScalarObject
-#define PyInt16ArrType_Type PyLongArrType_Type
-#define PyUInt16ScalarObject PyULongScalarObject
-#define PyUInt16ArrType_Type PyULongArrType_Type
-#define NPY_INT16_FMT NPY_LONG_FMT
-#define NPY_UINT16_FMT NPY_ULONG_FMT
-#elif NPY_BITSOF_LONG == 32
-#define NPY_INT32 NPY_LONG
-#define NPY_UINT32 NPY_ULONG
-        typedef long npy_int32;
-        typedef unsigned long npy_uint32;
-        typedef unsigned long npy_ucs4;
-#define PyInt32ScalarObject PyLongScalarObject
-#define PyInt32ArrType_Type PyLongArrType_Type
-#define PyUInt32ScalarObject PyULongScalarObject
-#define PyUInt32ArrType_Type PyULongArrType_Type
-#define NPY_INT32_FMT NPY_LONG_FMT
-#define NPY_UINT32_FMT NPY_ULONG_FMT
-#elif NPY_BITSOF_LONG == 64
-#define NPY_INT64 NPY_LONG
-#define NPY_UINT64 NPY_ULONG
-        typedef long npy_int64;
-        typedef unsigned long npy_uint64;
-#define PyInt64ScalarObject PyLongScalarObject
-#define PyInt64ArrType_Type PyLongArrType_Type
-#define PyUInt64ScalarObject PyULongScalarObject
-#define PyUInt64ArrType_Type PyULongArrType_Type
-#define NPY_INT64_FMT NPY_LONG_FMT
-#define NPY_UINT64_FMT NPY_ULONG_FMT
-#define MyPyLong_FromInt64 PyLong_FromLong
-#define MyPyLong_AsInt64 PyLong_AsLong
-#elif NPY_BITSOF_LONG == 128
-#define NPY_INT128 NPY_LONG
-#define NPY_UINT128 NPY_ULONG
-        typedef long npy_int128;
-        typedef unsigned long npy_uint128;
-#define PyInt128ScalarObject PyLongScalarObject
-#define PyInt128ArrType_Type PyLongArrType_Type
-#define PyUInt128ScalarObject PyULongScalarObject
-#define PyUInt128ArrType_Type PyULongArrType_Type
-#define NPY_INT128_FMT NPY_LONG_FMT
-#define NPY_UINT128_FMT NPY_ULONG_FMT
-#endif
-
-#if NPY_BITSOF_LONGLONG == 8
-#  ifndef NPY_INT8
-#    define NPY_INT8 NPY_LONGLONG
-#    define NPY_UINT8 NPY_ULONGLONG
-        typedef npy_longlong npy_int8;
-        typedef npy_ulonglong npy_uint8;
-#    define PyInt8ScalarObject PyLongLongScalarObject
-#    define PyInt8ArrType_Type PyLongLongArrType_Type
-#    define PyUInt8ScalarObject PyULongLongScalarObject
-#    define PyUInt8ArrType_Type PyULongLongArrType_Type
-#define NPY_INT8_FMT NPY_LONGLONG_FMT
-#define NPY_UINT8_FMT NPY_ULONGLONG_FMT
-#  endif
-#  define NPY_MAX_LONGLONG NPY_MAX_INT8
-#  define NPY_MIN_LONGLONG NPY_MIN_INT8
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT8
-#elif NPY_BITSOF_LONGLONG == 16
-#  ifndef NPY_INT16
-#    define NPY_INT16 NPY_LONGLONG
-#    define NPY_UINT16 NPY_ULONGLONG
-        typedef npy_longlong npy_int16;
-        typedef npy_ulonglong npy_uint16;
-#    define PyInt16ScalarObject PyLongLongScalarObject
-#    define PyInt16ArrType_Type PyLongLongArrType_Type
-#    define PyUInt16ScalarObject PyULongLongScalarObject
-#    define PyUInt16ArrType_Type PyULongLongArrType_Type
-#define NPY_INT16_FMT NPY_LONGLONG_FMT
-#define NPY_UINT16_FMT NPY_ULONGLONG_FMT
-#  endif
-#  define NPY_MAX_LONGLONG NPY_MAX_INT16
-#  define NPY_MIN_LONGLONG NPY_MIN_INT16
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT16
-#elif NPY_BITSOF_LONGLONG == 32
-#  ifndef NPY_INT32
-#    define NPY_INT32 NPY_LONGLONG
-#    define NPY_UINT32 NPY_ULONGLONG
-        typedef npy_longlong npy_int32;
-        typedef npy_ulonglong npy_uint32;
-        typedef npy_ulonglong npy_ucs4;
-#    define PyInt32ScalarObject PyLongLongScalarObject
-#    define PyInt32ArrType_Type PyLongLongArrType_Type
-#    define PyUInt32ScalarObject PyULongLongScalarObject
-#    define PyUInt32ArrType_Type PyULongLongArrType_Type
-#define NPY_INT32_FMT NPY_LONGLONG_FMT
-#define NPY_UINT32_FMT NPY_ULONGLONG_FMT
-#  endif
-#  define NPY_MAX_LONGLONG NPY_MAX_INT32
-#  define NPY_MIN_LONGLONG NPY_MIN_INT32
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT32
-#elif NPY_BITSOF_LONGLONG == 64
-#  ifndef NPY_INT64
-#    define NPY_INT64 NPY_LONGLONG
-#    define NPY_UINT64 NPY_ULONGLONG
-        typedef npy_longlong npy_int64;
-        typedef npy_ulonglong npy_uint64;
-#    define PyInt64ScalarObject PyLongLongScalarObject
-#    define PyInt64ArrType_Type PyLongLongArrType_Type
-#    define PyUInt64ScalarObject PyULongLongScalarObject
-#    define PyUInt64ArrType_Type PyULongLongArrType_Type
-#define NPY_INT64_FMT NPY_LONGLONG_FMT
-#define NPY_UINT64_FMT NPY_ULONGLONG_FMT
-#    define MyPyLong_FromInt64 PyLong_FromLongLong
-#    define MyPyLong_AsInt64 PyLong_AsLongLong
-#  endif
-#  define NPY_MAX_LONGLONG NPY_MAX_INT64
-#  define NPY_MIN_LONGLONG NPY_MIN_INT64
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT64
-#elif NPY_BITSOF_LONGLONG == 128
-#  ifndef NPY_INT128
-#    define NPY_INT128 NPY_LONGLONG
-#    define NPY_UINT128 NPY_ULONGLONG
-        typedef npy_longlong npy_int128;
-        typedef npy_ulonglong npy_uint128;
-#    define PyInt128ScalarObject PyLongLongScalarObject
-#    define PyInt128ArrType_Type PyLongLongArrType_Type
-#    define PyUInt128ScalarObject PyULongLongScalarObject
-#    define PyUInt128ArrType_Type PyULongLongArrType_Type
-#define NPY_INT128_FMT NPY_LONGLONG_FMT
-#define NPY_UINT128_FMT NPY_ULONGLONG_FMT
-#  endif
-#  define NPY_MAX_LONGLONG NPY_MAX_INT128
-#  define NPY_MIN_LONGLONG NPY_MIN_INT128
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT128
-#elif NPY_BITSOF_LONGLONG == 256
-#  define NPY_INT256 NPY_LONGLONG
-#  define NPY_UINT256 NPY_ULONGLONG
-        typedef npy_longlong npy_int256;
-        typedef npy_ulonglong npy_uint256;
-#  define PyInt256ScalarObject PyLongLongScalarObject
-#  define PyInt256ArrType_Type PyLongLongArrType_Type
-#  define PyUInt256ScalarObject PyULongLongScalarObject
-#  define PyUInt256ArrType_Type PyULongLongArrType_Type
-#define NPY_INT256_FMT NPY_LONGLONG_FMT
-#define NPY_UINT256_FMT NPY_ULONGLONG_FMT
-#  define NPY_MAX_LONGLONG NPY_MAX_INT256
-#  define NPY_MIN_LONGLONG NPY_MIN_INT256
-#  define NPY_MAX_ULONGLONG NPY_MAX_UINT256
-#endif
-
-#if NPY_BITSOF_INT == 8
-#ifndef NPY_INT8
-#define NPY_INT8 NPY_INT
-#define NPY_UINT8 NPY_UINT
-        typedef int npy_int8;
-        typedef unsigned int npy_uint8;
-#    define PyInt8ScalarObject PyIntScalarObject
-#    define PyInt8ArrType_Type PyIntArrType_Type
-#    define PyUInt8ScalarObject PyUIntScalarObject
-#    define PyUInt8ArrType_Type PyUIntArrType_Type
-#define NPY_INT8_FMT NPY_INT_FMT
-#define NPY_UINT8_FMT NPY_UINT_FMT
-#endif
-#elif NPY_BITSOF_INT == 16
-#ifndef NPY_INT16
-#define NPY_INT16 NPY_INT
-#define NPY_UINT16 NPY_UINT
-        typedef int npy_int16;
-        typedef unsigned int npy_uint16;
-#    define PyInt16ScalarObject PyIntScalarObject
-#    define PyInt16ArrType_Type PyIntArrType_Type
-#    define PyUInt16ScalarObject PyIntUScalarObject
-#    define PyUInt16ArrType_Type PyIntUArrType_Type
-#define NPY_INT16_FMT NPY_INT_FMT
-#define NPY_UINT16_FMT NPY_UINT_FMT
-#endif
-#elif NPY_BITSOF_INT == 32
-#ifndef NPY_INT32
-#define NPY_INT32 NPY_INT
-#define NPY_UINT32 NPY_UINT
-        typedef int npy_int32;
-        typedef unsigned int npy_uint32;
-        typedef unsigned int npy_ucs4;
-#    define PyInt32ScalarObject PyIntScalarObject
-#    define PyInt32ArrType_Type PyIntArrType_Type
-#    define PyUInt32ScalarObject PyUIntScalarObject
-#    define PyUInt32ArrType_Type PyUIntArrType_Type
-#define NPY_INT32_FMT NPY_INT_FMT
-#define NPY_UINT32_FMT NPY_UINT_FMT
-#endif
-#elif NPY_BITSOF_INT == 64
-#ifndef NPY_INT64
-#define NPY_INT64 NPY_INT
-#define NPY_UINT64 NPY_UINT
-        typedef int npy_int64;
-        typedef unsigned int npy_uint64;
-#    define PyInt64ScalarObject PyIntScalarObject
-#    define PyInt64ArrType_Type PyIntArrType_Type
-#    define PyUInt64ScalarObject PyUIntScalarObject
-#    define PyUInt64ArrType_Type PyUIntArrType_Type
-#define NPY_INT64_FMT NPY_INT_FMT
-#define NPY_UINT64_FMT NPY_UINT_FMT
-#    define MyPyLong_FromInt64 PyLong_FromLong
-#    define MyPyLong_AsInt64 PyLong_AsLong
-#endif
-#elif NPY_BITSOF_INT == 128
-#ifndef NPY_INT128
-#define NPY_INT128 NPY_INT
-#define NPY_UINT128 NPY_UINT
-        typedef int npy_int128;
-        typedef unsigned int npy_uint128;
-#    define PyInt128ScalarObject PyIntScalarObject
-#    define PyInt128ArrType_Type PyIntArrType_Type
-#    define PyUInt128ScalarObject PyUIntScalarObject
-#    define PyUInt128ArrType_Type PyUIntArrType_Type
-#define NPY_INT128_FMT NPY_INT_FMT
-#define NPY_UINT128_FMT NPY_UINT_FMT
-#endif
-#endif
-
-#if NPY_BITSOF_SHORT == 8
-#ifndef NPY_INT8
-#define NPY_INT8 NPY_SHORT
-#define NPY_UINT8 NPY_USHORT
-        typedef short npy_int8;
-        typedef unsigned short npy_uint8;
-#    define PyInt8ScalarObject PyShortScalarObject
-#    define PyInt8ArrType_Type PyShortArrType_Type
-#    define PyUInt8ScalarObject PyUShortScalarObject
-#    define PyUInt8ArrType_Type PyUShortArrType_Type
-#define NPY_INT8_FMT NPY_SHORT_FMT
-#define NPY_UINT8_FMT NPY_USHORT_FMT
-#endif
-#elif NPY_BITSOF_SHORT == 16
-#ifndef NPY_INT16
-#define NPY_INT16 NPY_SHORT
-#define NPY_UINT16 NPY_USHORT
-        typedef short npy_int16;
-        typedef unsigned short npy_uint16;
-#    define PyInt16ScalarObject PyShortScalarObject
-#    define PyInt16ArrType_Type PyShortArrType_Type
-#    define PyUInt16ScalarObject PyUShortScalarObject
-#    define PyUInt16ArrType_Type PyUShortArrType_Type
-#define NPY_INT16_FMT NPY_SHORT_FMT
-#define NPY_UINT16_FMT NPY_USHORT_FMT
-#endif
-#elif NPY_BITSOF_SHORT == 32
-#ifndef NPY_INT32
-#define NPY_INT32 NPY_SHORT
-#define NPY_UINT32 NPY_USHORT
-        typedef short npy_int32;
-        typedef unsigned short npy_uint32;
-        typedef unsigned short npy_ucs4;
-#    define PyInt32ScalarObject PyShortScalarObject
-#    define PyInt32ArrType_Type PyShortArrType_Type
-#    define PyUInt32ScalarObject PyUShortScalarObject
-#    define PyUInt32ArrType_Type PyUShortArrType_Type
-#define NPY_INT32_FMT NPY_SHORT_FMT
-#define NPY_UINT32_FMT NPY_USHORT_FMT
-#endif
-#elif NPY_BITSOF_SHORT == 64
-#ifndef NPY_INT64
-#define NPY_INT64 NPY_SHORT
-#define NPY_UINT64 NPY_USHORT
-        typedef short npy_int64;
-        typedef unsigned short npy_uint64;
-#    define PyInt64ScalarObject PyShortScalarObject
-#    define PyInt64ArrType_Type PyShortArrType_Type
-#    define PyUInt64ScalarObject PyUShortScalarObject
-#    define PyUInt64ArrType_Type PyUShortArrType_Type
-#define NPY_INT64_FMT NPY_SHORT_FMT
-#define NPY_UINT64_FMT NPY_USHORT_FMT
-#    define MyPyLong_FromInt64 PyLong_FromLong
-#    define MyPyLong_AsInt64 PyLong_AsLong
-#endif
-#elif NPY_BITSOF_SHORT == 128
-#ifndef NPY_INT128
-#define NPY_INT128 NPY_SHORT
-#define NPY_UINT128 NPY_USHORT
-        typedef short npy_int128;
-        typedef unsigned short npy_uint128;
-#    define PyInt128ScalarObject PyShortScalarObject
-#    define PyInt128ArrType_Type PyShortArrType_Type
-#    define PyUInt128ScalarObject PyUShortScalarObject
-#    define PyUInt128ArrType_Type PyUShortArrType_Type
-#define NPY_INT128_FMT NPY_SHORT_FMT
-#define NPY_UINT128_FMT NPY_USHORT_FMT
-#endif
-#endif
-
-
-#if NPY_BITSOF_CHAR == 8
-#ifndef NPY_INT8
-#define NPY_INT8 NPY_BYTE
-#define NPY_UINT8 NPY_UBYTE
-        typedef signed char npy_int8;
-        typedef unsigned char npy_uint8;
-#    define PyInt8ScalarObject PyByteScalarObject
-#    define PyInt8ArrType_Type PyByteArrType_Type
-#    define PyUInt8ScalarObject PyUByteScalarObject
-#    define PyUInt8ArrType_Type PyUByteArrType_Type
-#define NPY_INT8_FMT NPY_BYTE_FMT
-#define NPY_UINT8_FMT NPY_UBYTE_FMT
-#endif
-#elif NPY_BITSOF_CHAR == 16
-#ifndef NPY_INT16
-#define NPY_INT16 NPY_BYTE
-#define NPY_UINT16 NPY_UBYTE
-        typedef signed char npy_int16;
-        typedef unsigned char npy_uint16;
-#    define PyInt16ScalarObject PyByteScalarObject
-#    define PyInt16ArrType_Type PyByteArrType_Type
-#    define PyUInt16ScalarObject PyUByteScalarObject
-#    define PyUInt16ArrType_Type PyUByteArrType_Type
-#define NPY_INT16_FMT NPY_BYTE_FMT
-#define NPY_UINT16_FMT NPY_UBYTE_FMT
-#endif
-#elif NPY_BITSOF_CHAR == 32
-#ifndef NPY_INT32
-#define NPY_INT32 NPY_BYTE
-#define NPY_UINT32 NPY_UBYTE
-        typedef signed char npy_int32;
-        typedef unsigned char npy_uint32;
-        typedef unsigned char npy_ucs4;
-#    define PyInt32ScalarObject PyByteScalarObject
-#    define PyInt32ArrType_Type PyByteArrType_Type
-#    define PyUInt32ScalarObject PyUByteScalarObject
-#    define PyUInt32ArrType_Type PyUByteArrType_Type
-#define NPY_INT32_FMT NPY_BYTE_FMT
-#define NPY_UINT32_FMT NPY_UBYTE_FMT
-#endif
-#elif NPY_BITSOF_CHAR == 64
-#ifndef NPY_INT64
-#define NPY_INT64 NPY_BYTE
-#define NPY_UINT64 NPY_UBYTE
-        typedef signed char npy_int64;
-        typedef unsigned char npy_uint64;
-#    define PyInt64ScalarObject PyByteScalarObject
-#    define PyInt64ArrType_Type PyByteArrType_Type
-#    define PyUInt64ScalarObject PyUByteScalarObject
-#    define PyUInt64ArrType_Type PyUByteArrType_Type
-#define NPY_INT64_FMT NPY_BYTE_FMT
-#define NPY_UINT64_FMT NPY_UBYTE_FMT
-#    define MyPyLong_FromInt64 PyLong_FromLong
-#    define MyPyLong_AsInt64 PyLong_AsLong
-#endif
-#elif NPY_BITSOF_CHAR == 128
-#ifndef NPY_INT128
-#define NPY_INT128 NPY_BYTE
-#define NPY_UINT128 NPY_UBYTE
-        typedef signed char npy_int128;
-        typedef unsigned char npy_uint128;
-#    define PyInt128ScalarObject PyByteScalarObject
-#    define PyInt128ArrType_Type PyByteArrType_Type
-#    define PyUInt128ScalarObject PyUByteScalarObject
-#    define PyUInt128ArrType_Type PyUByteArrType_Type
-#define NPY_INT128_FMT NPY_BYTE_FMT
-#define NPY_UINT128_FMT NPY_UBYTE_FMT
-#endif
-#endif
-
-
-
-#if NPY_BITSOF_DOUBLE == 32
-#ifndef NPY_FLOAT32
-#define NPY_FLOAT32 NPY_DOUBLE
-#define NPY_COMPLEX64 NPY_CDOUBLE
-        typedef double npy_float32;
-        typedef npy_cdouble npy_complex64;
-#    define PyFloat32ScalarObject PyDoubleScalarObject
-#    define PyComplex64ScalarObject PyCDoubleScalarObject
-#    define PyFloat32ArrType_Type PyDoubleArrType_Type
-#    define PyComplex64ArrType_Type PyCDoubleArrType_Type
-#define NPY_FLOAT32_FMT NPY_DOUBLE_FMT
-#define NPY_COMPLEX64_FMT NPY_CDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_DOUBLE == 64
-#ifndef NPY_FLOAT64
-#define NPY_FLOAT64 NPY_DOUBLE
-#define NPY_COMPLEX128 NPY_CDOUBLE
-        typedef double npy_float64;
-        typedef npy_cdouble npy_complex128;
-#    define PyFloat64ScalarObject PyDoubleScalarObject
-#    define PyComplex128ScalarObject PyCDoubleScalarObject
-#    define PyFloat64ArrType_Type PyDoubleArrType_Type
-#    define PyComplex128ArrType_Type PyCDoubleArrType_Type
-#define NPY_FLOAT64_FMT NPY_DOUBLE_FMT
-#define NPY_COMPLEX128_FMT NPY_CDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_DOUBLE == 80
-#ifndef NPY_FLOAT80
-#define NPY_FLOAT80 NPY_DOUBLE
-#define NPY_COMPLEX160 NPY_CDOUBLE
-        typedef double npy_float80;
-        typedef npy_cdouble npy_complex160;
-#    define PyFloat80ScalarObject PyDoubleScalarObject
-#    define PyComplex160ScalarObject PyCDoubleScalarObject
-#    define PyFloat80ArrType_Type PyDoubleArrType_Type
-#    define PyComplex160ArrType_Type PyCDoubleArrType_Type
-#define NPY_FLOAT80_FMT NPY_DOUBLE_FMT
-#define NPY_COMPLEX160_FMT NPY_CDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_DOUBLE == 96
-#ifndef NPY_FLOAT96
-#define NPY_FLOAT96 NPY_DOUBLE
-#define NPY_COMPLEX192 NPY_CDOUBLE
-        typedef double npy_float96;
-        typedef npy_cdouble npy_complex192;
-#    define PyFloat96ScalarObject PyDoubleScalarObject
-#    define PyComplex192ScalarObject PyCDoubleScalarObject
-#    define PyFloat96ArrType_Type PyDoubleArrType_Type
-#    define PyComplex192ArrType_Type PyCDoubleArrType_Type
-#define NPY_FLOAT96_FMT NPY_DOUBLE_FMT
-#define NPY_COMPLEX192_FMT NPY_CDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_DOUBLE == 128
-#ifndef NPY_FLOAT128
-#define NPY_FLOAT128 NPY_DOUBLE
-#define NPY_COMPLEX256 NPY_CDOUBLE
-        typedef double npy_float128;
-        typedef npy_cdouble npy_complex256;
-#    define PyFloat128ScalarObject PyDoubleScalarObject
-#    define PyComplex256ScalarObject PyCDoubleScalarObject
-#    define PyFloat128ArrType_Type PyDoubleArrType_Type
-#    define PyComplex256ArrType_Type PyCDoubleArrType_Type
-#define NPY_FLOAT128_FMT NPY_DOUBLE_FMT
-#define NPY_COMPLEX256_FMT NPY_CDOUBLE_FMT
-#endif
-#endif
-
-
-
-#if NPY_BITSOF_FLOAT == 32
-#ifndef NPY_FLOAT32
-#define NPY_FLOAT32 NPY_FLOAT
-#define NPY_COMPLEX64 NPY_CFLOAT
-        typedef float npy_float32;
-        typedef npy_cfloat npy_complex64;
-#    define PyFloat32ScalarObject PyFloatScalarObject
-#    define PyComplex64ScalarObject PyCFloatScalarObject
-#    define PyFloat32ArrType_Type PyFloatArrType_Type
-#    define PyComplex64ArrType_Type PyCFloatArrType_Type
-#define NPY_FLOAT32_FMT NPY_FLOAT_FMT
-#define NPY_COMPLEX64_FMT NPY_CFLOAT_FMT
-#endif
-#elif NPY_BITSOF_FLOAT == 64
-#ifndef NPY_FLOAT64
-#define NPY_FLOAT64 NPY_FLOAT
-#define NPY_COMPLEX128 NPY_CFLOAT
-        typedef float npy_float64;
-        typedef npy_cfloat npy_complex128;
-#    define PyFloat64ScalarObject PyFloatScalarObject
-#    define PyComplex128ScalarObject PyCFloatScalarObject
-#    define PyFloat64ArrType_Type PyFloatArrType_Type
-#    define PyComplex128ArrType_Type PyCFloatArrType_Type
-#define NPY_FLOAT64_FMT NPY_FLOAT_FMT
-#define NPY_COMPLEX128_FMT NPY_CFLOAT_FMT
-#endif
-#elif NPY_BITSOF_FLOAT == 80
-#ifndef NPY_FLOAT80
-#define NPY_FLOAT80 NPY_FLOAT
-#define NPY_COMPLEX160 NPY_CFLOAT
-        typedef float npy_float80;
-        typedef npy_cfloat npy_complex160;
-#    define PyFloat80ScalarObject PyFloatScalarObject
-#    define PyComplex160ScalarObject PyCFloatScalarObject
-#    define PyFloat80ArrType_Type PyFloatArrType_Type
-#    define PyComplex160ArrType_Type PyCFloatArrType_Type
-#define NPY_FLOAT80_FMT NPY_FLOAT_FMT
-#define NPY_COMPLEX160_FMT NPY_CFLOAT_FMT
-#endif
-#elif NPY_BITSOF_FLOAT == 96
-#ifndef NPY_FLOAT96
-#define NPY_FLOAT96 NPY_FLOAT
-#define NPY_COMPLEX192 NPY_CFLOAT
-        typedef float npy_float96;
-        typedef npy_cfloat npy_complex192;
-#    define PyFloat96ScalarObject PyFloatScalarObject
-#    define PyComplex192ScalarObject PyCFloatScalarObject
-#    define PyFloat96ArrType_Type PyFloatArrType_Type
-#    define PyComplex192ArrType_Type PyCFloatArrType_Type
-#define NPY_FLOAT96_FMT NPY_FLOAT_FMT
-#define NPY_COMPLEX192_FMT NPY_CFLOAT_FMT
-#endif
-#elif NPY_BITSOF_FLOAT == 128
-#ifndef NPY_FLOAT128
-#define NPY_FLOAT128 NPY_FLOAT
-#define NPY_COMPLEX256 NPY_CFLOAT
-        typedef float npy_float128;
-        typedef npy_cfloat npy_complex256;
-#    define PyFloat128ScalarObject PyFloatScalarObject
-#    define PyComplex256ScalarObject PyCFloatScalarObject
-#    define PyFloat128ArrType_Type PyFloatArrType_Type
-#    define PyComplex256ArrType_Type PyCFloatArrType_Type
-#define NPY_FLOAT128_FMT NPY_FLOAT_FMT
-#define NPY_COMPLEX256_FMT NPY_CFLOAT_FMT
-#endif
-#endif
-
-/* half/float16 isn't a floating-point type in C */
-#define NPY_FLOAT16 NPY_HALF
-typedef npy_uint16 npy_half;
-typedef npy_half npy_float16;
-
-#if NPY_BITSOF_LONGDOUBLE == 32
-#ifndef NPY_FLOAT32
-#define NPY_FLOAT32 NPY_LONGDOUBLE
-#define NPY_COMPLEX64 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float32;
-        typedef npy_clongdouble npy_complex64;
-#    define PyFloat32ScalarObject PyLongDoubleScalarObject
-#    define PyComplex64ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat32ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex64ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT32_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX64_FMT NPY_CLONGDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_LONGDOUBLE == 64
-#ifndef NPY_FLOAT64
-#define NPY_FLOAT64 NPY_LONGDOUBLE
-#define NPY_COMPLEX128 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float64;
-        typedef npy_clongdouble npy_complex128;
-#    define PyFloat64ScalarObject PyLongDoubleScalarObject
-#    define PyComplex128ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat64ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex128ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT64_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX128_FMT NPY_CLONGDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_LONGDOUBLE == 80
-#ifndef NPY_FLOAT80
-#define NPY_FLOAT80 NPY_LONGDOUBLE
-#define NPY_COMPLEX160 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float80;
-        typedef npy_clongdouble npy_complex160;
-#    define PyFloat80ScalarObject PyLongDoubleScalarObject
-#    define PyComplex160ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat80ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex160ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT80_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX160_FMT NPY_CLONGDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_LONGDOUBLE == 96
-#ifndef NPY_FLOAT96
-#define NPY_FLOAT96 NPY_LONGDOUBLE
-#define NPY_COMPLEX192 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float96;
-        typedef npy_clongdouble npy_complex192;
-#    define PyFloat96ScalarObject PyLongDoubleScalarObject
-#    define PyComplex192ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat96ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex192ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT96_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX192_FMT NPY_CLONGDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_LONGDOUBLE == 128
-#ifndef NPY_FLOAT128
-#define NPY_FLOAT128 NPY_LONGDOUBLE
-#define NPY_COMPLEX256 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float128;
-        typedef npy_clongdouble npy_complex256;
-#    define PyFloat128ScalarObject PyLongDoubleScalarObject
-#    define PyComplex256ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat128ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex256ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT128_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX256_FMT NPY_CLONGDOUBLE_FMT
-#endif
-#elif NPY_BITSOF_LONGDOUBLE == 256
-#define NPY_FLOAT256 NPY_LONGDOUBLE
-#define NPY_COMPLEX512 NPY_CLONGDOUBLE
-        typedef npy_longdouble npy_float256;
-        typedef npy_clongdouble npy_complex512;
-#    define PyFloat256ScalarObject PyLongDoubleScalarObject
-#    define PyComplex512ScalarObject PyCLongDoubleScalarObject
-#    define PyFloat256ArrType_Type PyLongDoubleArrType_Type
-#    define PyComplex512ArrType_Type PyCLongDoubleArrType_Type
-#define NPY_FLOAT256_FMT NPY_LONGDOUBLE_FMT
-#define NPY_COMPLEX512_FMT NPY_CLONGDOUBLE_FMT
-#endif
-
-/* datetime typedefs */
-typedef npy_int64 npy_timedelta;
-typedef npy_int64 npy_datetime;
-#define NPY_DATETIME_FMT NPY_INT64_FMT
-#define NPY_TIMEDELTA_FMT NPY_INT64_FMT
-
-/* End of typedefs for numarray style bit-width names */
-
-#endif

+ 0 - 92
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_cpu.h

@@ -1,92 +0,0 @@
-/*
- * This set (target) cpu specific macros:
- *      - Possible values:
- *              NPY_CPU_X86
- *              NPY_CPU_AMD64
- *              NPY_CPU_PPC
- *              NPY_CPU_PPC64
- *              NPY_CPU_PPC64LE
- *              NPY_CPU_SPARC
- *              NPY_CPU_S390
- *              NPY_CPU_IA64
- *              NPY_CPU_HPPA
- *              NPY_CPU_ALPHA
- *              NPY_CPU_ARMEL
- *              NPY_CPU_ARMEB
- *              NPY_CPU_SH_LE
- *              NPY_CPU_SH_BE
- */
-#ifndef _NPY_CPUARCH_H_
-#define _NPY_CPUARCH_H_
-
-#include "numpyconfig.h"
-#include <string.h> /* for memcpy */
-
-#if defined( __i386__ ) || defined(i386) || defined(_M_IX86)
-    /*
-     * __i386__ is defined by gcc and Intel compiler on Linux,
-     * _M_IX86 by VS compiler,
-     * i386 by Sun compilers on opensolaris at least
-     */
-    #define NPY_CPU_X86
-#elif defined(__x86_64__) || defined(__amd64__) || defined(__x86_64) || defined(_M_AMD64)
-    /*
-     * both __x86_64__ and __amd64__ are defined by gcc
-     * __x86_64 defined by sun compiler on opensolaris at least
-     * _M_AMD64 defined by MS compiler
-     */
-    #define NPY_CPU_AMD64
-#elif defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC)
-    /*
-     * __ppc__ is defined by gcc, I remember having seen __powerpc__ once,
-     * but can't find it ATM
-     * _ARCH_PPC is used by at least gcc on AIX
-     */
-    #define NPY_CPU_PPC
-#elif defined(__ppc64le__)
-    #define NPY_CPU_PPC64LE
-#elif defined(__ppc64__)
-    #define NPY_CPU_PPC64
-#elif defined(__sparc__) || defined(__sparc)
-    /* __sparc__ is defined by gcc and Forte (e.g. Sun) compilers */
-    #define NPY_CPU_SPARC
-#elif defined(__s390__)
-    #define NPY_CPU_S390
-#elif defined(__ia64)
-    #define NPY_CPU_IA64
-#elif defined(__hppa)
-    #define NPY_CPU_HPPA
-#elif defined(__alpha__)
-    #define NPY_CPU_ALPHA
-#elif defined(__arm__) && defined(__ARMEL__)
-    #define NPY_CPU_ARMEL
-#elif defined(__arm__) && defined(__ARMEB__)
-    #define NPY_CPU_ARMEB
-#elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
-    #define NPY_CPU_SH_LE
-#elif defined(__sh__) && defined(__BIG_ENDIAN__)
-    #define NPY_CPU_SH_BE
-#elif defined(__MIPSEL__)
-    #define NPY_CPU_MIPSEL
-#elif defined(__MIPSEB__)
-    #define NPY_CPU_MIPSEB
-#elif defined(__or1k__)
-    #define NPY_CPU_OR1K
-#elif defined(__aarch64__)
-    #define NPY_CPU_AARCH64
-#elif defined(__mc68000__)
-    #define NPY_CPU_M68K
-#else
-    #error Unknown CPU, please report this to numpy maintainers with \
-    information about your platform (OS, CPU and compiler)
-#endif
-
-#define NPY_COPY_PYOBJECT_PTR(dst, src) memcpy(dst, src, sizeof(PyObject *))
-
-#if (defined(NPY_CPU_X86) || defined(NPY_CPU_AMD64))
-#define NPY_CPU_HAVE_UNALIGNED_ACCESS 1
-#else
-#define NPY_CPU_HAVE_UNALIGNED_ACCESS 0
-#endif
-
-#endif

+ 0 - 61
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_endian.h

@@ -1,61 +0,0 @@
-#ifndef _NPY_ENDIAN_H_
-#define _NPY_ENDIAN_H_
-
-/*
- * NPY_BYTE_ORDER is set to the same value as BYTE_ORDER set by glibc in
- * endian.h
- */
-
-#ifdef NPY_HAVE_ENDIAN_H
-    /* Use endian.h if available */
-    #include <endian.h>
-
-    #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && defined(LITTLE_ENDIAN)
-        #define NPY_BYTE_ORDER    BYTE_ORDER
-        #define NPY_LITTLE_ENDIAN LITTLE_ENDIAN
-        #define NPY_BIG_ENDIAN    BIG_ENDIAN
-    #elif defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && defined(_LITTLE_ENDIAN)
-        #define NPY_BYTE_ORDER    _BYTE_ORDER
-        #define NPY_LITTLE_ENDIAN _LITTLE_ENDIAN
-        #define NPY_BIG_ENDIAN    _BIG_ENDIAN
-    #elif defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
-        #define NPY_BYTE_ORDER    __BYTE_ORDER
-        #define NPY_LITTLE_ENDIAN __LITTLE_ENDIAN
-        #define NPY_BIG_ENDIAN    __BIG_ENDIAN
-    #endif
-#endif
-
-#ifndef NPY_BYTE_ORDER
-    /* Set endianness info using target CPU */
-    #include "npy_cpu.h"
-
-    #define NPY_LITTLE_ENDIAN 1234
-    #define NPY_BIG_ENDIAN 4321
-
-    #if defined(NPY_CPU_X86)            \
-            || defined(NPY_CPU_AMD64)   \
-            || defined(NPY_CPU_IA64)    \
-            || defined(NPY_CPU_ALPHA)   \
-            || defined(NPY_CPU_ARMEL)   \
-            || defined(NPY_CPU_AARCH64) \
-            || defined(NPY_CPU_SH_LE)   \
-            || defined(NPY_CPU_MIPSEL)  \
-            || defined(NPY_CPU_PPC64LE)
-        #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
-    #elif defined(NPY_CPU_PPC)          \
-            || defined(NPY_CPU_SPARC)   \
-            || defined(NPY_CPU_S390)    \
-            || defined(NPY_CPU_HPPA)    \
-            || defined(NPY_CPU_PPC64)   \
-            || defined(NPY_CPU_ARMEB)   \
-            || defined(NPY_CPU_SH_BE)   \
-            || defined(NPY_CPU_MIPSEB)  \
-            || defined(NPY_CPU_OR1K)    \
-            || defined(NPY_CPU_M68K)
-        #define NPY_BYTE_ORDER NPY_BIG_ENDIAN
-    #else
-        #error Unknown CPU: can not set endianness
-    #endif
-#endif
-
-#endif

+ 0 - 117
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_interrupt.h

@@ -1,117 +0,0 @@
-
-/* Signal handling:
-
-This header file defines macros that allow your code to handle
-interrupts received during processing.  Interrupts that
-could reasonably be handled:
-
-SIGINT, SIGABRT, SIGALRM, SIGSEGV
-
-****Warning***************
-
-Do not allow code that creates temporary memory or increases reference
-counts of Python objects to be interrupted unless you handle it
-differently.
-
-**************************
-
-The mechanism for handling interrupts is conceptually simple:
-
-  - replace the signal handler with our own home-grown version
-     and store the old one.
-  - run the code to be interrupted -- if an interrupt occurs
-     the handler should basically just cause a return to the
-     calling function for finish work.
-  - restore the old signal handler
-
-Of course, every code that allows interrupts must account for
-returning via the interrupt and handle clean-up correctly.  But,
-even still, the simple paradigm is complicated by at least three
-factors.
-
- 1) platform portability (i.e. Microsoft says not to use longjmp
-     to return from signal handling.  They have a __try  and __except
-     extension to C instead but what about mingw?).
-
- 2) how to handle threads: apparently whether signals are delivered to
-    every thread of the process or the "invoking" thread is platform
-    dependent. --- we don't handle threads for now.
-
- 3) do we need to worry about re-entrance.  For now, assume the
-    code will not call-back into itself.
-
-Ideas:
-
- 1) Start by implementing an approach that works on platforms that
-    can use setjmp and longjmp functionality and does nothing
-    on other platforms.
-
- 2) Ignore threads --- i.e. do not mix interrupt handling and threads
-
- 3) Add a default signal_handler function to the C-API but have the rest
-    use macros.
-
-
-Simple Interface:
-
-
-In your C-extension: around a block of code you want to be interruptable
-with a SIGINT
-
-NPY_SIGINT_ON
-[code]
-NPY_SIGINT_OFF
-
-In order for this to work correctly, the
-[code] block must not allocate any memory or alter the reference count of any
-Python objects.  In other words [code] must be interruptible so that continuation
-after NPY_SIGINT_OFF will only be "missing some computations"
-
-Interrupt handling does not work well with threads.
-
-*/
-
-/* Add signal handling macros
-   Make the global variable and signal handler part of the C-API
-*/
-
-#ifndef NPY_INTERRUPT_H
-#define NPY_INTERRUPT_H
-
-#ifndef NPY_NO_SIGNAL
-
-#include <setjmp.h>
-#include <signal.h>
-
-#ifndef sigsetjmp
-
-#define NPY_SIGSETJMP(arg1, arg2) setjmp(arg1)
-#define NPY_SIGLONGJMP(arg1, arg2) longjmp(arg1, arg2)
-#define NPY_SIGJMP_BUF jmp_buf
-
-#else
-
-#define NPY_SIGSETJMP(arg1, arg2) sigsetjmp(arg1, arg2)
-#define NPY_SIGLONGJMP(arg1, arg2) siglongjmp(arg1, arg2)
-#define NPY_SIGJMP_BUF sigjmp_buf
-
-#endif
-
-#    define NPY_SIGINT_ON {                                             \
-                   PyOS_sighandler_t _npy_sig_save;                     \
-                   _npy_sig_save = PyOS_setsig(SIGINT, _PyArray_SigintHandler); \
-                   if (NPY_SIGSETJMP(*((NPY_SIGJMP_BUF *)_PyArray_GetSigintBuf()), \
-                                 1) == 0) {                             \
-
-#    define NPY_SIGINT_OFF }                                      \
-        PyOS_setsig(SIGINT, _npy_sig_save);                       \
-        }
-
-#else /* NPY_NO_SIGNAL  */
-
-#define NPY_SIGINT_ON
-#define NPY_SIGINT_OFF
-
-#endif /* HAVE_SIGSETJMP */
-
-#endif /* NPY_INTERRUPT_H */

+ 0 - 529
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_math.h

@@ -1,529 +0,0 @@
-#ifndef __NPY_MATH_C99_H_
-#define __NPY_MATH_C99_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <math.h>
-#ifdef __SUNPRO_CC
-#include <sunmath.h>
-#endif
-#ifdef HAVE_NPY_CONFIG_H
-#include <npy_config.h>
-#endif
-#include <numpy/npy_common.h>
-
-
-/*
- * NAN and INFINITY like macros (same behavior as glibc for NAN, same as C99
- * for INFINITY)
- *
- * XXX: I should test whether INFINITY and NAN are available on the platform
- */
-NPY_INLINE static float __npy_inff(void)
-{
-    const union { npy_uint32 __i; float __f;} __bint = {0x7f800000UL};
-    return __bint.__f;
-}
-
-NPY_INLINE static float __npy_nanf(void)
-{
-    const union { npy_uint32 __i; float __f;} __bint = {0x7fc00000UL};
-    return __bint.__f;
-}
-
-NPY_INLINE static float __npy_pzerof(void)
-{
-    const union { npy_uint32 __i; float __f;} __bint = {0x00000000UL};
-    return __bint.__f;
-}
-
-NPY_INLINE static float __npy_nzerof(void)
-{
-    const union { npy_uint32 __i; float __f;} __bint = {0x80000000UL};
-    return __bint.__f;
-}
-
-#define NPY_INFINITYF __npy_inff()
-#define NPY_NANF __npy_nanf()
-#define NPY_PZEROF __npy_pzerof()
-#define NPY_NZEROF __npy_nzerof()
-
-#define NPY_INFINITY ((npy_double)NPY_INFINITYF)
-#define NPY_NAN ((npy_double)NPY_NANF)
-#define NPY_PZERO ((npy_double)NPY_PZEROF)
-#define NPY_NZERO ((npy_double)NPY_NZEROF)
-
-#define NPY_INFINITYL ((npy_longdouble)NPY_INFINITYF)
-#define NPY_NANL ((npy_longdouble)NPY_NANF)
-#define NPY_PZEROL ((npy_longdouble)NPY_PZEROF)
-#define NPY_NZEROL ((npy_longdouble)NPY_NZEROF)
-
-/*
- * Useful constants
- */
-#define NPY_E         2.718281828459045235360287471352662498  /* e */
-#define NPY_LOG2E     1.442695040888963407359924681001892137  /* log_2 e */
-#define NPY_LOG10E    0.434294481903251827651128918916605082  /* log_10 e */
-#define NPY_LOGE2     0.693147180559945309417232121458176568  /* log_e 2 */
-#define NPY_LOGE10    2.302585092994045684017991454684364208  /* log_e 10 */
-#define NPY_PI        3.141592653589793238462643383279502884  /* pi */
-#define NPY_PI_2      1.570796326794896619231321691639751442  /* pi/2 */
-#define NPY_PI_4      0.785398163397448309615660845819875721  /* pi/4 */
-#define NPY_1_PI      0.318309886183790671537767526745028724  /* 1/pi */
-#define NPY_2_PI      0.636619772367581343075535053490057448  /* 2/pi */
-#define NPY_EULER     0.577215664901532860606512090082402431  /* Euler constant */
-#define NPY_SQRT2     1.414213562373095048801688724209698079  /* sqrt(2) */
-#define NPY_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2) */
-
-#define NPY_Ef        2.718281828459045235360287471352662498F /* e */
-#define NPY_LOG2Ef    1.442695040888963407359924681001892137F /* log_2 e */
-#define NPY_LOG10Ef   0.434294481903251827651128918916605082F /* log_10 e */
-#define NPY_LOGE2f    0.693147180559945309417232121458176568F /* log_e 2 */
-#define NPY_LOGE10f   2.302585092994045684017991454684364208F /* log_e 10 */
-#define NPY_PIf       3.141592653589793238462643383279502884F /* pi */
-#define NPY_PI_2f     1.570796326794896619231321691639751442F /* pi/2 */
-#define NPY_PI_4f     0.785398163397448309615660845819875721F /* pi/4 */
-#define NPY_1_PIf     0.318309886183790671537767526745028724F /* 1/pi */
-#define NPY_2_PIf     0.636619772367581343075535053490057448F /* 2/pi */
-#define NPY_EULERf    0.577215664901532860606512090082402431F /* Euler constant */
-#define NPY_SQRT2f    1.414213562373095048801688724209698079F /* sqrt(2) */
-#define NPY_SQRT1_2f  0.707106781186547524400844362104849039F /* 1/sqrt(2) */
-
-#define NPY_El        2.718281828459045235360287471352662498L /* e */
-#define NPY_LOG2El    1.442695040888963407359924681001892137L /* log_2 e */
-#define NPY_LOG10El   0.434294481903251827651128918916605082L /* log_10 e */
-#define NPY_LOGE2l    0.693147180559945309417232121458176568L /* log_e 2 */
-#define NPY_LOGE10l   2.302585092994045684017991454684364208L /* log_e 10 */
-#define NPY_PIl       3.141592653589793238462643383279502884L /* pi */
-#define NPY_PI_2l     1.570796326794896619231321691639751442L /* pi/2 */
-#define NPY_PI_4l     0.785398163397448309615660845819875721L /* pi/4 */
-#define NPY_1_PIl     0.318309886183790671537767526745028724L /* 1/pi */
-#define NPY_2_PIl     0.636619772367581343075535053490057448L /* 2/pi */
-#define NPY_EULERl    0.577215664901532860606512090082402431L /* Euler constant */
-#define NPY_SQRT2l    1.414213562373095048801688724209698079L /* sqrt(2) */
-#define NPY_SQRT1_2l  0.707106781186547524400844362104849039L /* 1/sqrt(2) */
-
-/*
- * C99 double math funcs
- */
-double npy_sin(double x);
-double npy_cos(double x);
-double npy_tan(double x);
-double npy_sinh(double x);
-double npy_cosh(double x);
-double npy_tanh(double x);
-
-double npy_asin(double x);
-double npy_acos(double x);
-double npy_atan(double x);
-
-double npy_log(double x);
-double npy_log10(double x);
-double npy_exp(double x);
-double npy_sqrt(double x);
-double npy_cbrt(double x);
-
-double npy_fabs(double x);
-double npy_ceil(double x);
-double npy_fmod(double x, double y);
-double npy_floor(double x);
-
-double npy_expm1(double x);
-double npy_log1p(double x);
-double npy_hypot(double x, double y);
-double npy_acosh(double x);
-double npy_asinh(double xx);
-double npy_atanh(double x);
-double npy_rint(double x);
-double npy_trunc(double x);
-double npy_exp2(double x);
-double npy_log2(double x);
-
-double npy_atan2(double x, double y);
-double npy_pow(double x, double y);
-double npy_modf(double x, double* y);
-double npy_frexp(double x, int* y);
-double npy_ldexp(double n, int y);
-
-double npy_copysign(double x, double y);
-double npy_nextafter(double x, double y);
-double npy_spacing(double x);
-
-/*
- * IEEE 754 fpu handling. Those are guaranteed to be macros
- */
-
-/* use builtins to avoid function calls in tight loops
- * only available if npy_config.h is available (= numpys own build) */
-#if HAVE___BUILTIN_ISNAN
-    #define npy_isnan(x) __builtin_isnan(x)
-#else
-    #ifndef NPY_HAVE_DECL_ISNAN
-        #define npy_isnan(x) ((x) != (x))
-    #else
-        #if defined(_MSC_VER) && (_MSC_VER < 1900)
-            #define npy_isnan(x) _isnan((x))
-        #else
-            #define npy_isnan(x) isnan(x)
-        #endif
-    #endif
-#endif
-
-
-/* only available if npy_config.h is available (= numpys own build) */
-#if HAVE___BUILTIN_ISFINITE
-    #define npy_isfinite(x) __builtin_isfinite(x)
-#else
-    #ifndef NPY_HAVE_DECL_ISFINITE
-        #ifdef _MSC_VER
-            #define npy_isfinite(x) _finite((x))
-        #else
-            #define npy_isfinite(x) !npy_isnan((x) + (-x))
-        #endif
-    #else
-        #define npy_isfinite(x) isfinite((x))
-    #endif
-#endif
-
-/* only available if npy_config.h is available (= numpys own build) */
-#if HAVE___BUILTIN_ISINF
-    #define npy_isinf(x) __builtin_isinf(x)
-#else
-    #ifndef NPY_HAVE_DECL_ISINF
-        #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x))
-    #else
-        #if defined(_MSC_VER) && (_MSC_VER < 1900)
-            #define npy_isinf(x) (!_finite((x)) && !_isnan((x)))
-        #else
-            #define npy_isinf(x) isinf((x))
-        #endif
-    #endif
-#endif
-
-#ifndef NPY_HAVE_DECL_SIGNBIT
-    int _npy_signbit_f(float x);
-    int _npy_signbit_d(double x);
-    int _npy_signbit_ld(long double x);
-    #define npy_signbit(x) \
-        (sizeof (x) == sizeof (long double) ? _npy_signbit_ld (x) \
-         : sizeof (x) == sizeof (double) ? _npy_signbit_d (x) \
-         : _npy_signbit_f (x))
-#else
-    #define npy_signbit(x) signbit((x))
-#endif
-
-/*
- * float C99 math functions
- */
-
-float npy_sinf(float x);
-float npy_cosf(float x);
-float npy_tanf(float x);
-float npy_sinhf(float x);
-float npy_coshf(float x);
-float npy_tanhf(float x);
-float npy_fabsf(float x);
-float npy_floorf(float x);
-float npy_ceilf(float x);
-float npy_rintf(float x);
-float npy_truncf(float x);
-float npy_sqrtf(float x);
-float npy_cbrtf(float x);
-float npy_log10f(float x);
-float npy_logf(float x);
-float npy_expf(float x);
-float npy_expm1f(float x);
-float npy_asinf(float x);
-float npy_acosf(float x);
-float npy_atanf(float x);
-float npy_asinhf(float x);
-float npy_acoshf(float x);
-float npy_atanhf(float x);
-float npy_log1pf(float x);
-float npy_exp2f(float x);
-float npy_log2f(float x);
-
-float npy_atan2f(float x, float y);
-float npy_hypotf(float x, float y);
-float npy_powf(float x, float y);
-float npy_fmodf(float x, float y);
-
-float npy_modff(float x, float* y);
-float npy_frexpf(float x, int* y);
-float npy_ldexpf(float x, int y);
-
-float npy_copysignf(float x, float y);
-float npy_nextafterf(float x, float y);
-float npy_spacingf(float x);
-
-/*
- * long double C99 math functions
- */
-
-npy_longdouble npy_sinl(npy_longdouble x);
-npy_longdouble npy_cosl(npy_longdouble x);
-npy_longdouble npy_tanl(npy_longdouble x);
-npy_longdouble npy_sinhl(npy_longdouble x);
-npy_longdouble npy_coshl(npy_longdouble x);
-npy_longdouble npy_tanhl(npy_longdouble x);
-npy_longdouble npy_fabsl(npy_longdouble x);
-npy_longdouble npy_floorl(npy_longdouble x);
-npy_longdouble npy_ceill(npy_longdouble x);
-npy_longdouble npy_rintl(npy_longdouble x);
-npy_longdouble npy_truncl(npy_longdouble x);
-npy_longdouble npy_sqrtl(npy_longdouble x);
-npy_longdouble npy_cbrtl(npy_longdouble x);
-npy_longdouble npy_log10l(npy_longdouble x);
-npy_longdouble npy_logl(npy_longdouble x);
-npy_longdouble npy_expl(npy_longdouble x);
-npy_longdouble npy_expm1l(npy_longdouble x);
-npy_longdouble npy_asinl(npy_longdouble x);
-npy_longdouble npy_acosl(npy_longdouble x);
-npy_longdouble npy_atanl(npy_longdouble x);
-npy_longdouble npy_asinhl(npy_longdouble x);
-npy_longdouble npy_acoshl(npy_longdouble x);
-npy_longdouble npy_atanhl(npy_longdouble x);
-npy_longdouble npy_log1pl(npy_longdouble x);
-npy_longdouble npy_exp2l(npy_longdouble x);
-npy_longdouble npy_log2l(npy_longdouble x);
-
-npy_longdouble npy_atan2l(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_hypotl(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_powl(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_fmodl(npy_longdouble x, npy_longdouble y);
-
-npy_longdouble npy_modfl(npy_longdouble x, npy_longdouble* y);
-npy_longdouble npy_frexpl(npy_longdouble x, int* y);
-npy_longdouble npy_ldexpl(npy_longdouble x, int y);
-
-npy_longdouble npy_copysignl(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_nextafterl(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_spacingl(npy_longdouble x);
-
-/*
- * Non standard functions
- */
-double npy_deg2rad(double x);
-double npy_rad2deg(double x);
-double npy_logaddexp(double x, double y);
-double npy_logaddexp2(double x, double y);
-double npy_divmod(double x, double y, double *modulus);
-
-float npy_deg2radf(float x);
-float npy_rad2degf(float x);
-float npy_logaddexpf(float x, float y);
-float npy_logaddexp2f(float x, float y);
-float npy_divmodf(float x, float y, float *modulus);
-
-npy_longdouble npy_deg2radl(npy_longdouble x);
-npy_longdouble npy_rad2degl(npy_longdouble x);
-npy_longdouble npy_logaddexpl(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_logaddexp2l(npy_longdouble x, npy_longdouble y);
-npy_longdouble npy_divmodl(npy_longdouble x, npy_longdouble y,
-                           npy_longdouble *modulus);
-
-#define npy_degrees npy_rad2deg
-#define npy_degreesf npy_rad2degf
-#define npy_degreesl npy_rad2degl
-
-#define npy_radians npy_deg2rad
-#define npy_radiansf npy_deg2radf
-#define npy_radiansl npy_deg2radl
-
-/*
- * Complex declarations
- */
-
-/*
- * C99 specifies that complex numbers have the same representation as
- * an array of two elements, where the first element is the real part
- * and the second element is the imaginary part.
- */
-#define __NPY_CPACK_IMP(x, y, type, ctype)   \
-    union {                                  \
-        ctype z;                             \
-        type a[2];                           \
-    } z1;;                                   \
-                                             \
-    z1.a[0] = (x);                           \
-    z1.a[1] = (y);                           \
-                                             \
-    return z1.z;
-
-static NPY_INLINE npy_cdouble npy_cpack(double x, double y)
-{
-    __NPY_CPACK_IMP(x, y, double, npy_cdouble);
-}
-
-static NPY_INLINE npy_cfloat npy_cpackf(float x, float y)
-{
-    __NPY_CPACK_IMP(x, y, float, npy_cfloat);
-}
-
-static NPY_INLINE npy_clongdouble npy_cpackl(npy_longdouble x, npy_longdouble y)
-{
-    __NPY_CPACK_IMP(x, y, npy_longdouble, npy_clongdouble);
-}
-#undef __NPY_CPACK_IMP
-
-/*
- * Same remark as above, but in the other direction: extract first/second
- * member of complex number, assuming a C99-compatible representation
- *
- * Those are defineds as static inline, and such as a reasonable compiler would
- * most likely compile this to one or two instructions (on CISC at least)
- */
-#define __NPY_CEXTRACT_IMP(z, index, type, ctype)   \
-    union {                                         \
-        ctype z;                                    \
-        type a[2];                                  \
-    } __z_repr;                                     \
-    __z_repr.z = z;                                 \
-                                                    \
-    return __z_repr.a[index];
-
-static NPY_INLINE double npy_creal(npy_cdouble z)
-{
-    __NPY_CEXTRACT_IMP(z, 0, double, npy_cdouble);
-}
-
-static NPY_INLINE double npy_cimag(npy_cdouble z)
-{
-    __NPY_CEXTRACT_IMP(z, 1, double, npy_cdouble);
-}
-
-static NPY_INLINE float npy_crealf(npy_cfloat z)
-{
-    __NPY_CEXTRACT_IMP(z, 0, float, npy_cfloat);
-}
-
-static NPY_INLINE float npy_cimagf(npy_cfloat z)
-{
-    __NPY_CEXTRACT_IMP(z, 1, float, npy_cfloat);
-}
-
-static NPY_INLINE npy_longdouble npy_creall(npy_clongdouble z)
-{
-    __NPY_CEXTRACT_IMP(z, 0, npy_longdouble, npy_clongdouble);
-}
-
-static NPY_INLINE npy_longdouble npy_cimagl(npy_clongdouble z)
-{
-    __NPY_CEXTRACT_IMP(z, 1, npy_longdouble, npy_clongdouble);
-}
-#undef __NPY_CEXTRACT_IMP
-
-/*
- * Double precision complex functions
- */
-double npy_cabs(npy_cdouble z);
-double npy_carg(npy_cdouble z);
-
-npy_cdouble npy_cexp(npy_cdouble z);
-npy_cdouble npy_clog(npy_cdouble z);
-npy_cdouble npy_cpow(npy_cdouble x, npy_cdouble y);
-
-npy_cdouble npy_csqrt(npy_cdouble z);
-
-npy_cdouble npy_ccos(npy_cdouble z);
-npy_cdouble npy_csin(npy_cdouble z);
-npy_cdouble npy_ctan(npy_cdouble z);
-
-npy_cdouble npy_ccosh(npy_cdouble z);
-npy_cdouble npy_csinh(npy_cdouble z);
-npy_cdouble npy_ctanh(npy_cdouble z);
-
-npy_cdouble npy_cacos(npy_cdouble z);
-npy_cdouble npy_casin(npy_cdouble z);
-npy_cdouble npy_catan(npy_cdouble z);
-
-npy_cdouble npy_cacosh(npy_cdouble z);
-npy_cdouble npy_casinh(npy_cdouble z);
-npy_cdouble npy_catanh(npy_cdouble z);
-
-/*
- * Single precision complex functions
- */
-float npy_cabsf(npy_cfloat z);
-float npy_cargf(npy_cfloat z);
-
-npy_cfloat npy_cexpf(npy_cfloat z);
-npy_cfloat npy_clogf(npy_cfloat z);
-npy_cfloat npy_cpowf(npy_cfloat x, npy_cfloat y);
-
-npy_cfloat npy_csqrtf(npy_cfloat z);
-
-npy_cfloat npy_ccosf(npy_cfloat z);
-npy_cfloat npy_csinf(npy_cfloat z);
-npy_cfloat npy_ctanf(npy_cfloat z);
-
-npy_cfloat npy_ccoshf(npy_cfloat z);
-npy_cfloat npy_csinhf(npy_cfloat z);
-npy_cfloat npy_ctanhf(npy_cfloat z);
-
-npy_cfloat npy_cacosf(npy_cfloat z);
-npy_cfloat npy_casinf(npy_cfloat z);
-npy_cfloat npy_catanf(npy_cfloat z);
-
-npy_cfloat npy_cacoshf(npy_cfloat z);
-npy_cfloat npy_casinhf(npy_cfloat z);
-npy_cfloat npy_catanhf(npy_cfloat z);
-
-
-/*
- * Extended precision complex functions
- */
-npy_longdouble npy_cabsl(npy_clongdouble z);
-npy_longdouble npy_cargl(npy_clongdouble z);
-
-npy_clongdouble npy_cexpl(npy_clongdouble z);
-npy_clongdouble npy_clogl(npy_clongdouble z);
-npy_clongdouble npy_cpowl(npy_clongdouble x, npy_clongdouble y);
-
-npy_clongdouble npy_csqrtl(npy_clongdouble z);
-
-npy_clongdouble npy_ccosl(npy_clongdouble z);
-npy_clongdouble npy_csinl(npy_clongdouble z);
-npy_clongdouble npy_ctanl(npy_clongdouble z);
-
-npy_clongdouble npy_ccoshl(npy_clongdouble z);
-npy_clongdouble npy_csinhl(npy_clongdouble z);
-npy_clongdouble npy_ctanhl(npy_clongdouble z);
-
-npy_clongdouble npy_cacosl(npy_clongdouble z);
-npy_clongdouble npy_casinl(npy_clongdouble z);
-npy_clongdouble npy_catanl(npy_clongdouble z);
-
-npy_clongdouble npy_cacoshl(npy_clongdouble z);
-npy_clongdouble npy_casinhl(npy_clongdouble z);
-npy_clongdouble npy_catanhl(npy_clongdouble z);
-
-
-/*
- * Functions that set the floating point error
- * status word.
- */
-
-/*
- * platform-dependent code translates floating point
- * status to an integer sum of these values
- */
-#define NPY_FPE_DIVIDEBYZERO  1
-#define NPY_FPE_OVERFLOW      2
-#define NPY_FPE_UNDERFLOW     4
-#define NPY_FPE_INVALID       8
-
-int npy_get_floatstatus(void);
-int npy_clear_floatstatus(void);
-void npy_set_floatstatus_divbyzero(void);
-void npy_set_floatstatus_overflow(void);
-void npy_set_floatstatus_underflow(void);
-void npy_set_floatstatus_invalid(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif

+ 0 - 19
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_no_deprecated_api.h

@@ -1,19 +0,0 @@
-/*
- * This include file is provided for inclusion in Cython *.pyd files where
- * one would like to define the NPY_NO_DEPRECATED_API macro. It can be
- * included by
- *
- * cdef extern from "npy_no_deprecated_api.h": pass
- *
- */
-#ifndef NPY_NO_DEPRECATED_API
-
-/* put this check here since there may be multiple includes in C extensions. */
-#if defined(NDARRAYTYPES_H) || defined(_NPY_DEPRECATED_API_H) || \
-    defined(OLD_DEFINES_H)
-#error "npy_no_deprecated_api.h" must be first among numpy includes.
-#else
-#define NPY_NO_DEPRECATED_API NPY_API_VERSION
-#endif
-
-#endif

+ 0 - 30
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/npy_os.h

@@ -1,30 +0,0 @@
-#ifndef _NPY_OS_H_
-#define _NPY_OS_H_
-
-#if defined(linux) || defined(__linux) || defined(__linux__)
-    #define NPY_OS_LINUX
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || \
-            defined(__OpenBSD__) || defined(__DragonFly__)
-    #define NPY_OS_BSD
-    #ifdef __FreeBSD__
-        #define NPY_OS_FREEBSD
-    #elif defined(__NetBSD__)
-        #define NPY_OS_NETBSD
-    #elif defined(__OpenBSD__)
-        #define NPY_OS_OPENBSD
-    #elif defined(__DragonFly__)
-        #define NPY_OS_DRAGONFLY
-    #endif
-#elif defined(sun) || defined(__sun)
-    #define NPY_OS_SOLARIS
-#elif defined(__CYGWIN__)
-    #define NPY_OS_CYGWIN
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-    #define NPY_OS_WIN32
-#elif defined(__APPLE__)
-    #define NPY_OS_DARWIN
-#else
-    #define NPY_OS_UNKNOWN
-#endif
-
-#endif

+ 0 - 37
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/numpyconfig.h

@@ -1,37 +0,0 @@
-#ifndef _NPY_NUMPYCONFIG_H_
-#define _NPY_NUMPYCONFIG_H_
-
-#include "_numpyconfig.h"
-
-/*
- * On Mac OS X, because there is only one configuration stage for all the archs
- * in universal builds, any macro which depends on the arch needs to be
- * harcoded
- */
-#ifdef __APPLE__
-    #undef NPY_SIZEOF_LONG
-    #undef NPY_SIZEOF_PY_INTPTR_T
-
-    #ifdef __LP64__
-        #define NPY_SIZEOF_LONG         8
-        #define NPY_SIZEOF_PY_INTPTR_T  8
-    #else
-        #define NPY_SIZEOF_LONG         4
-        #define NPY_SIZEOF_PY_INTPTR_T  4
-    #endif
-#endif
-
-/**
- * To help with the NPY_NO_DEPRECATED_API macro, we include API version
- * numbers for specific versions of NumPy. To exclude all API that was
- * deprecated as of 1.7, add the following before #including any NumPy
- * headers:
- *   #define NPY_NO_DEPRECATED_API  NPY_1_7_API_VERSION
- */
-#define NPY_1_7_API_VERSION 0x00000007
-#define NPY_1_8_API_VERSION 0x00000008
-#define NPY_1_9_API_VERSION 0x00000008
-#define NPY_1_10_API_VERSION 0x00000008
-#define NPY_1_11_API_VERSION 0x00000008
-
-#endif

+ 0 - 187
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/old_defines.h

@@ -1,187 +0,0 @@
-/* This header is deprecated as of NumPy 1.7 */
-#ifndef OLD_DEFINES_H
-#define OLD_DEFINES_H
-
-#if defined(NPY_NO_DEPRECATED_API) && NPY_NO_DEPRECATED_API >= NPY_1_7_API_VERSION
-#error The header "old_defines.h" is deprecated as of NumPy 1.7.
-#endif
-
-#define NDARRAY_VERSION NPY_VERSION
-
-#define PyArray_MIN_BUFSIZE NPY_MIN_BUFSIZE
-#define PyArray_MAX_BUFSIZE NPY_MAX_BUFSIZE
-#define PyArray_BUFSIZE NPY_BUFSIZE
-
-#define PyArray_PRIORITY NPY_PRIORITY
-#define PyArray_SUBTYPE_PRIORITY NPY_PRIORITY
-#define PyArray_NUM_FLOATTYPE NPY_NUM_FLOATTYPE
-
-#define NPY_MAX PyArray_MAX
-#define NPY_MIN PyArray_MIN
-
-#define PyArray_TYPES       NPY_TYPES
-#define PyArray_BOOL        NPY_BOOL
-#define PyArray_BYTE        NPY_BYTE
-#define PyArray_UBYTE       NPY_UBYTE
-#define PyArray_SHORT       NPY_SHORT
-#define PyArray_USHORT      NPY_USHORT
-#define PyArray_INT         NPY_INT
-#define PyArray_UINT        NPY_UINT
-#define PyArray_LONG        NPY_LONG
-#define PyArray_ULONG       NPY_ULONG
-#define PyArray_LONGLONG    NPY_LONGLONG
-#define PyArray_ULONGLONG   NPY_ULONGLONG
-#define PyArray_HALF        NPY_HALF
-#define PyArray_FLOAT       NPY_FLOAT
-#define PyArray_DOUBLE      NPY_DOUBLE
-#define PyArray_LONGDOUBLE  NPY_LONGDOUBLE
-#define PyArray_CFLOAT      NPY_CFLOAT
-#define PyArray_CDOUBLE     NPY_CDOUBLE
-#define PyArray_CLONGDOUBLE NPY_CLONGDOUBLE
-#define PyArray_OBJECT      NPY_OBJECT
-#define PyArray_STRING      NPY_STRING
-#define PyArray_UNICODE     NPY_UNICODE
-#define PyArray_VOID        NPY_VOID
-#define PyArray_DATETIME    NPY_DATETIME
-#define PyArray_TIMEDELTA   NPY_TIMEDELTA
-#define PyArray_NTYPES      NPY_NTYPES
-#define PyArray_NOTYPE      NPY_NOTYPE
-#define PyArray_CHAR        NPY_CHAR
-#define PyArray_USERDEF     NPY_USERDEF
-#define PyArray_NUMUSERTYPES NPY_NUMUSERTYPES
-
-#define PyArray_INTP        NPY_INTP
-#define PyArray_UINTP       NPY_UINTP
-
-#define PyArray_INT8    NPY_INT8
-#define PyArray_UINT8   NPY_UINT8
-#define PyArray_INT16   NPY_INT16
-#define PyArray_UINT16  NPY_UINT16
-#define PyArray_INT32   NPY_INT32
-#define PyArray_UINT32  NPY_UINT32
-
-#ifdef NPY_INT64
-#define PyArray_INT64   NPY_INT64
-#define PyArray_UINT64  NPY_UINT64
-#endif
-
-#ifdef NPY_INT128
-#define PyArray_INT128 NPY_INT128
-#define PyArray_UINT128 NPY_UINT128
-#endif
-
-#ifdef NPY_FLOAT16
-#define PyArray_FLOAT16  NPY_FLOAT16
-#define PyArray_COMPLEX32  NPY_COMPLEX32
-#endif
-
-#ifdef NPY_FLOAT80
-#define PyArray_FLOAT80  NPY_FLOAT80
-#define PyArray_COMPLEX160  NPY_COMPLEX160
-#endif
-
-#ifdef NPY_FLOAT96
-#define PyArray_FLOAT96  NPY_FLOAT96
-#define PyArray_COMPLEX192  NPY_COMPLEX192
-#endif
-
-#ifdef NPY_FLOAT128
-#define PyArray_FLOAT128  NPY_FLOAT128
-#define PyArray_COMPLEX256  NPY_COMPLEX256
-#endif
-
-#define PyArray_FLOAT32    NPY_FLOAT32
-#define PyArray_COMPLEX64  NPY_COMPLEX64
-#define PyArray_FLOAT64    NPY_FLOAT64
-#define PyArray_COMPLEX128 NPY_COMPLEX128
-
-
-#define PyArray_TYPECHAR        NPY_TYPECHAR
-#define PyArray_BOOLLTR         NPY_BOOLLTR
-#define PyArray_BYTELTR         NPY_BYTELTR
-#define PyArray_UBYTELTR        NPY_UBYTELTR
-#define PyArray_SHORTLTR        NPY_SHORTLTR
-#define PyArray_USHORTLTR       NPY_USHORTLTR
-#define PyArray_INTLTR          NPY_INTLTR
-#define PyArray_UINTLTR         NPY_UINTLTR
-#define PyArray_LONGLTR         NPY_LONGLTR
-#define PyArray_ULONGLTR        NPY_ULONGLTR
-#define PyArray_LONGLONGLTR     NPY_LONGLONGLTR
-#define PyArray_ULONGLONGLTR    NPY_ULONGLONGLTR
-#define PyArray_HALFLTR         NPY_HALFLTR
-#define PyArray_FLOATLTR        NPY_FLOATLTR
-#define PyArray_DOUBLELTR       NPY_DOUBLELTR
-#define PyArray_LONGDOUBLELTR   NPY_LONGDOUBLELTR
-#define PyArray_CFLOATLTR       NPY_CFLOATLTR
-#define PyArray_CDOUBLELTR      NPY_CDOUBLELTR
-#define PyArray_CLONGDOUBLELTR  NPY_CLONGDOUBLELTR
-#define PyArray_OBJECTLTR       NPY_OBJECTLTR
-#define PyArray_STRINGLTR       NPY_STRINGLTR
-#define PyArray_STRINGLTR2      NPY_STRINGLTR2
-#define PyArray_UNICODELTR      NPY_UNICODELTR
-#define PyArray_VOIDLTR         NPY_VOIDLTR
-#define PyArray_DATETIMELTR     NPY_DATETIMELTR
-#define PyArray_TIMEDELTALTR    NPY_TIMEDELTALTR
-#define PyArray_CHARLTR         NPY_CHARLTR
-#define PyArray_INTPLTR         NPY_INTPLTR
-#define PyArray_UINTPLTR        NPY_UINTPLTR
-#define PyArray_GENBOOLLTR      NPY_GENBOOLLTR
-#define PyArray_SIGNEDLTR       NPY_SIGNEDLTR
-#define PyArray_UNSIGNEDLTR     NPY_UNSIGNEDLTR
-#define PyArray_FLOATINGLTR     NPY_FLOATINGLTR
-#define PyArray_COMPLEXLTR      NPY_COMPLEXLTR
-
-#define PyArray_QUICKSORT   NPY_QUICKSORT
-#define PyArray_HEAPSORT    NPY_HEAPSORT
-#define PyArray_MERGESORT   NPY_MERGESORT
-#define PyArray_SORTKIND    NPY_SORTKIND
-#define PyArray_NSORTS      NPY_NSORTS
-
-#define PyArray_NOSCALAR       NPY_NOSCALAR
-#define PyArray_BOOL_SCALAR    NPY_BOOL_SCALAR
-#define PyArray_INTPOS_SCALAR  NPY_INTPOS_SCALAR
-#define PyArray_INTNEG_SCALAR  NPY_INTNEG_SCALAR
-#define PyArray_FLOAT_SCALAR   NPY_FLOAT_SCALAR
-#define PyArray_COMPLEX_SCALAR NPY_COMPLEX_SCALAR
-#define PyArray_OBJECT_SCALAR  NPY_OBJECT_SCALAR
-#define PyArray_SCALARKIND     NPY_SCALARKIND
-#define PyArray_NSCALARKINDS   NPY_NSCALARKINDS
-
-#define PyArray_ANYORDER     NPY_ANYORDER
-#define PyArray_CORDER       NPY_CORDER
-#define PyArray_FORTRANORDER NPY_FORTRANORDER
-#define PyArray_ORDER        NPY_ORDER
-
-#define PyDescr_ISBOOL      PyDataType_ISBOOL
-#define PyDescr_ISUNSIGNED  PyDataType_ISUNSIGNED
-#define PyDescr_ISSIGNED    PyDataType_ISSIGNED
-#define PyDescr_ISINTEGER   PyDataType_ISINTEGER
-#define PyDescr_ISFLOAT     PyDataType_ISFLOAT
-#define PyDescr_ISNUMBER    PyDataType_ISNUMBER
-#define PyDescr_ISSTRING    PyDataType_ISSTRING
-#define PyDescr_ISCOMPLEX   PyDataType_ISCOMPLEX
-#define PyDescr_ISPYTHON    PyDataType_ISPYTHON
-#define PyDescr_ISFLEXIBLE  PyDataType_ISFLEXIBLE
-#define PyDescr_ISUSERDEF   PyDataType_ISUSERDEF
-#define PyDescr_ISEXTENDED  PyDataType_ISEXTENDED
-#define PyDescr_ISOBJECT    PyDataType_ISOBJECT
-#define PyDescr_HASFIELDS   PyDataType_HASFIELDS
-
-#define PyArray_LITTLE NPY_LITTLE
-#define PyArray_BIG NPY_BIG
-#define PyArray_NATIVE NPY_NATIVE
-#define PyArray_SWAP NPY_SWAP
-#define PyArray_IGNORE NPY_IGNORE
-
-#define PyArray_NATBYTE NPY_NATBYTE
-#define PyArray_OPPBYTE NPY_OPPBYTE
-
-#define PyArray_MAX_ELSIZE NPY_MAX_ELSIZE
-
-#define PyArray_USE_PYMEM NPY_USE_PYMEM
-
-#define PyArray_RemoveLargest PyArray_RemoveSmallest
-
-#define PyArray_UCS4 npy_ucs4
-
-#endif

+ 0 - 23
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/oldnumeric.h

@@ -1,23 +0,0 @@
-#include "arrayobject.h"
-
-#ifndef REFCOUNT
-#  define REFCOUNT NPY_REFCOUNT
-#  define MAX_ELSIZE 16
-#endif
-
-#define PyArray_UNSIGNED_TYPES
-#define PyArray_SBYTE NPY_BYTE
-#define PyArray_CopyArray PyArray_CopyInto
-#define _PyArray_multiply_list PyArray_MultiplyIntList
-#define PyArray_ISSPACESAVER(m) NPY_FALSE
-#define PyScalarArray_Check PyArray_CheckScalar
-
-#define CONTIGUOUS NPY_CONTIGUOUS
-#define OWN_DIMENSIONS 0
-#define OWN_STRIDES 0
-#define OWN_DATA NPY_OWNDATA
-#define SAVESPACE 0
-#define SAVESPACEBIT 0
-
-#undef import_array
-#define import_array() { if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); } }

+ 0 - 321
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ufunc_api.txt

@@ -1,321 +0,0 @@
-
-=================
-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)
-
-

+ 0 - 357
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/ufuncobject.h

@@ -1,357 +0,0 @@
-#ifndef Py_UFUNCOBJECT_H
-#define Py_UFUNCOBJECT_H
-
-#include <numpy/npy_math.h>
-#include <numpy/npy_common.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The legacy generic inner loop for a standard element-wise or
- * generalized ufunc.
- */
-typedef void (*PyUFuncGenericFunction)
-            (char **args,
-             npy_intp *dimensions,
-             npy_intp *strides,
-             void *innerloopdata);
-
-/*
- * The most generic one-dimensional inner loop for
- * a masked standard element-wise ufunc. "Masked" here means that it skips
- * doing calculations on any items for which the maskptr array has a true
- * value.
- */
-typedef void (PyUFunc_MaskedStridedInnerLoopFunc)(
-                char **dataptrs, npy_intp *strides,
-                char *maskptr, npy_intp mask_stride,
-                npy_intp count,
-                NpyAuxData *innerloopdata);
-
-/* Forward declaration for the type resolver and loop selector typedefs */
-struct _tagPyUFuncObject;
-
-/*
- * Given the operands for calling a ufunc, should determine the
- * calculation input and output data types and return an inner loop function.
- * This function should validate that the casting rule is being followed,
- * and fail if it is not.
- *
- * For backwards compatibility, the regular type resolution function does not
- * support auxiliary data with object semantics. The type resolution call
- * which returns a masked generic function returns a standard NpyAuxData
- * object, for which the NPY_AUXDATA_FREE and NPY_AUXDATA_CLONE macros
- * work.
- *
- * ufunc:             The ufunc object.
- * casting:           The 'casting' parameter provided to the ufunc.
- * operands:          An array of length (ufunc->nin + ufunc->nout),
- *                    with the output parameters possibly NULL.
- * type_tup:          Either NULL, or the type_tup passed to the ufunc.
- * out_dtypes:        An array which should be populated with new
- *                    references to (ufunc->nin + ufunc->nout) new
- *                    dtypes, one for each input and output. These
- *                    dtypes should all be in native-endian format.
- *
- * Should return 0 on success, -1 on failure (with exception set),
- * or -2 if Py_NotImplemented should be returned.
- */
-typedef int (PyUFunc_TypeResolutionFunc)(
-                                struct _tagPyUFuncObject *ufunc,
-                                NPY_CASTING casting,
-                                PyArrayObject **operands,
-                                PyObject *type_tup,
-                                PyArray_Descr **out_dtypes);
-
-/*
- * Given an array of DTypes as returned by the PyUFunc_TypeResolutionFunc,
- * and an array of fixed strides (the array will contain NPY_MAX_INTP for
- * strides which are not necessarily fixed), returns an inner loop
- * with associated auxiliary data.
- *
- * For backwards compatibility, there is a variant of the inner loop
- * selection which returns an inner loop irrespective of the strides,
- * and with a void* static auxiliary data instead of an NpyAuxData *
- * dynamically allocatable auxiliary data.
- *
- * ufunc:             The ufunc object.
- * dtypes:            An array which has been populated with dtypes,
- *                    in most cases by the type resolution funciton
- *                    for the same ufunc.
- * fixed_strides:     For each input/output, either the stride that
- *                    will be used every time the function is called
- *                    or NPY_MAX_INTP if the stride might change or
- *                    is not known ahead of time. The loop selection
- *                    function may use this stride to pick inner loops
- *                    which are optimized for contiguous or 0-stride
- *                    cases.
- * out_innerloop:     Should be populated with the correct ufunc inner
- *                    loop for the given type.
- * out_innerloopdata: Should be populated with the void* data to
- *                    be passed into the out_innerloop function.
- * out_needs_api:     If the inner loop needs to use the Python API,
- *                    should set the to 1, otherwise should leave
- *                    this untouched.
- */
-typedef int (PyUFunc_LegacyInnerLoopSelectionFunc)(
-                            struct _tagPyUFuncObject *ufunc,
-                            PyArray_Descr **dtypes,
-                            PyUFuncGenericFunction *out_innerloop,
-                            void **out_innerloopdata,
-                            int *out_needs_api);
-typedef int (PyUFunc_MaskedInnerLoopSelectionFunc)(
-                            struct _tagPyUFuncObject *ufunc,
-                            PyArray_Descr **dtypes,
-                            PyArray_Descr *mask_dtype,
-                            npy_intp *fixed_strides,
-                            npy_intp fixed_mask_stride,
-                            PyUFunc_MaskedStridedInnerLoopFunc **out_innerloop,
-                            NpyAuxData **out_innerloopdata,
-                            int *out_needs_api);
-
-typedef struct _tagPyUFuncObject {
-        PyObject_HEAD
-        /*
-         * nin: Number of inputs
-         * nout: Number of outputs
-         * nargs: Always nin + nout (Why is it stored?)
-         */
-        int nin, nout, nargs;
-
-        /* Identity for reduction, either PyUFunc_One or PyUFunc_Zero */
-        int identity;
-
-        /* Array of one-dimensional core loops */
-        PyUFuncGenericFunction *functions;
-        /* Array of funcdata that gets passed into the functions */
-        void **data;
-        /* The number of elements in 'functions' and 'data' */
-        int ntypes;
-
-        /* Used to be unused field 'check_return' */
-        int reserved1;
-
-        /* The name of the ufunc */
-        const char *name;
-
-        /* Array of type numbers, of size ('nargs' * 'ntypes') */
-        char *types;
-
-        /* Documentation string */
-        const char *doc;
-
-        void *ptr;
-        PyObject *obj;
-        PyObject *userloops;
-
-        /* generalized ufunc parameters */
-
-        /* 0 for scalar ufunc; 1 for generalized ufunc */
-        int core_enabled;
-        /* number of distinct dimension names in signature */
-        int core_num_dim_ix;
-
-        /*
-         * dimension indices of input/output argument k are stored in
-         * core_dim_ixs[core_offsets[k]..core_offsets[k]+core_num_dims[k]-1]
-         */
-
-        /* numbers of core dimensions of each argument */
-        int *core_num_dims;
-        /*
-         * dimension indices in a flatted form; indices
-         * are in the range of [0,core_num_dim_ix)
-         */
-        int *core_dim_ixs;
-        /*
-         * positions of 1st core dimensions of each
-         * argument in core_dim_ixs
-         */
-        int *core_offsets;
-        /* signature string for printing purpose */
-        char *core_signature;
-
-        /*
-         * A function which resolves the types and fills an array
-         * with the dtypes for the inputs and outputs.
-         */
-        PyUFunc_TypeResolutionFunc *type_resolver;
-        /*
-         * A function which returns an inner loop written for
-         * NumPy 1.6 and earlier ufuncs. This is for backwards
-         * compatibility, and may be NULL if inner_loop_selector
-         * is specified.
-         */
-        PyUFunc_LegacyInnerLoopSelectionFunc *legacy_inner_loop_selector;
-        /*
-         * This was blocked off to be the "new" inner loop selector in 1.7,
-         * but this was never implemented. (This is also why the above
-         * selector is called the "legacy" selector.)
-         */
-        void *reserved2;
-        /*
-         * A function which returns a masked inner loop for the ufunc.
-         */
-        PyUFunc_MaskedInnerLoopSelectionFunc *masked_inner_loop_selector;
-
-        /*
-         * List of flags for each operand when ufunc is called by nditer object.
-         * These flags will be used in addition to the default flags for each
-         * operand set by nditer object.
-         */
-        npy_uint32 *op_flags;
-
-        /*
-         * List of global flags used when ufunc is called by nditer object.
-         * These flags will be used in addition to the default global flags
-         * set by nditer object.
-         */
-        npy_uint32 iter_flags;
-} PyUFuncObject;
-
-#include "arrayobject.h"
-
-#define UFUNC_ERR_IGNORE 0
-#define UFUNC_ERR_WARN   1
-#define UFUNC_ERR_RAISE  2
-#define UFUNC_ERR_CALL   3
-#define UFUNC_ERR_PRINT  4
-#define UFUNC_ERR_LOG    5
-
-        /* Python side integer mask */
-
-#define UFUNC_MASK_DIVIDEBYZERO 0x07
-#define UFUNC_MASK_OVERFLOW 0x3f
-#define UFUNC_MASK_UNDERFLOW 0x1ff
-#define UFUNC_MASK_INVALID 0xfff
-
-#define UFUNC_SHIFT_DIVIDEBYZERO 0
-#define UFUNC_SHIFT_OVERFLOW     3
-#define UFUNC_SHIFT_UNDERFLOW    6
-#define UFUNC_SHIFT_INVALID      9
-
-
-#define UFUNC_OBJ_ISOBJECT      1
-#define UFUNC_OBJ_NEEDS_API     2
-
-   /* Default user error mode */
-#define UFUNC_ERR_DEFAULT                               \
-        (UFUNC_ERR_WARN << UFUNC_SHIFT_DIVIDEBYZERO) +  \
-        (UFUNC_ERR_WARN << UFUNC_SHIFT_OVERFLOW) +      \
-        (UFUNC_ERR_WARN << UFUNC_SHIFT_INVALID)
-
-#if NPY_ALLOW_THREADS
-#define NPY_LOOP_BEGIN_THREADS do {if (!(loop->obj & UFUNC_OBJ_NEEDS_API)) _save = PyEval_SaveThread();} while (0);
-#define NPY_LOOP_END_THREADS   do {if (!(loop->obj & UFUNC_OBJ_NEEDS_API)) PyEval_RestoreThread(_save);} while (0);
-#else
-#define NPY_LOOP_BEGIN_THREADS
-#define NPY_LOOP_END_THREADS
-#endif
-
-/*
- * UFunc has unit of 1, and the order of operations can be reordered
- * This case allows reduction with multiple axes at once.
- */
-#define PyUFunc_One 1
-/*
- * UFunc has unit of 0, and the order of operations can be reordered
- * This case allows reduction with multiple axes at once.
- */
-#define PyUFunc_Zero 0
-/*
- * UFunc has no unit, and the order of operations cannot be reordered.
- * This case does not allow reduction with multiple axes at once.
- */
-#define PyUFunc_None -1
-/*
- * UFunc has no unit, and the order of operations can be reordered
- * This case allows reduction with multiple axes at once.
- */
-#define PyUFunc_ReorderableNone -2
-
-#define UFUNC_REDUCE 0
-#define UFUNC_ACCUMULATE 1
-#define UFUNC_REDUCEAT 2
-#define UFUNC_OUTER 3
-
-
-typedef struct {
-        int nin;
-        int nout;
-        PyObject *callable;
-} PyUFunc_PyFuncData;
-
-/* A linked-list of function information for
-   user-defined 1-d loops.
- */
-typedef struct _loop1d_info {
-        PyUFuncGenericFunction func;
-        void *data;
-        int *arg_types;
-        struct _loop1d_info *next;
-        int nargs;
-        PyArray_Descr **arg_dtypes;
-} PyUFunc_Loop1d;
-
-
-#include "__ufunc_api.h"
-
-#define UFUNC_PYVALS_NAME "UFUNC_PYVALS"
-
-#define UFUNC_CHECK_ERROR(arg) \
-        do {if ((((arg)->obj & UFUNC_OBJ_NEEDS_API) && PyErr_Occurred()) || \
-            ((arg)->errormask && \
-             PyUFunc_checkfperr((arg)->errormask, \
-                                (arg)->errobj, \
-                                &(arg)->first))) \
-                goto fail;} while (0)
-
-
-/* keep in sync with ieee754.c.src */
-#if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \
-      (defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \
-      defined(__NetBSD__) || \
-      defined(__GLIBC__) || defined(__APPLE__) || \
-      defined(__CYGWIN__) || defined(__MINGW32__) || \
-      (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \
-      defined(_AIX) || \
-      defined(_MSC_VER) || \
-      defined(__osf__) && defined(__alpha)
-#else
-#define NO_FLOATING_POINT_SUPPORT
-#endif
-
-
-/*
- * THESE MACROS ARE DEPRECATED.
- * Use npy_set_floatstatus_* in the npymath library.
- */
-#define UFUNC_FPE_DIVIDEBYZERO  NPY_FPE_DIVIDEBYZERO
-#define UFUNC_FPE_OVERFLOW      NPY_FPE_OVERFLOW
-#define UFUNC_FPE_UNDERFLOW     NPY_FPE_UNDERFLOW
-#define UFUNC_FPE_INVALID       NPY_FPE_INVALID
-
-#define UFUNC_CHECK_STATUS(ret) \
-    { \
-       ret = npy_clear_floatstatus(); \
-    }
-#define generate_divbyzero_error() npy_set_floatstatus_divbyzero()
-#define generate_overflow_error() npy_set_floatstatus_overflow()
-
-  /* Make sure it gets defined if it isn't already */
-#ifndef UFUNC_NOFPE
-/* Clear the floating point exception default of Borland C++ */
-#if defined(__BORLANDC__)
-#define UFUNC_NOFPE _control87(MCW_EM, MCW_EM);
-#else
-#define UFUNC_NOFPE
-#endif
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_UFUNCOBJECT_H */

+ 0 - 19
esp8266/eproj1/eproj1Venv/include/python2.7/numpy/utils.h

@@ -1,19 +0,0 @@
-#ifndef __NUMPY_UTILS_HEADER__
-#define __NUMPY_UTILS_HEADER__
-
-#ifndef __COMP_NPY_UNUSED
-        #if defined(__GNUC__)
-                #define __COMP_NPY_UNUSED __attribute__ ((__unused__))
-        # elif defined(__ICC)
-                #define __COMP_NPY_UNUSED __attribute__ ((__unused__))
-        #else
-                #define __COMP_NPY_UNUSED
-        #endif
-#endif
-
-/* Use this to tag a variable as not used. It will remove unused variable
- * warning on support platforms (see __COM_NPY_UNUSED) and mangle the variable
- * to avoid accidental use */
-#define NPY_UNUSED(x) (__NPY_UNUSED_TAGGED ## x) __COMP_NPY_UNUSED
-
-#endif

+ 0 - 1046
esp8266/eproj1/eproj1Venv/include/python2.7/object.h

@@ -1,1046 +0,0 @@
-#ifndef Py_OBJECT_H
-#define Py_OBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Object and type object interface */
-
-/*
-Objects are structures allocated on the heap.  Special rules apply to
-the use of objects to ensure they are properly garbage-collected.
-Objects are never allocated statically or on the stack; they must be
-accessed through special macros and functions only.  (Type objects are
-exceptions to the first rule; the standard types are represented by
-statically initialized type objects, although work on type/class unification
-for Python 2.2 made it possible to have heap-allocated type objects too).
-
-An object has a 'reference count' that is increased or decreased when a
-pointer to the object is copied or deleted; when the reference count
-reaches zero there are no references to the object left and it can be
-removed from the heap.
-
-An object has a 'type' that determines what it represents and what kind
-of data it contains.  An object's type is fixed when it is created.
-Types themselves are represented as objects; an object contains a
-pointer to the corresponding type object.  The type itself has a type
-pointer pointing to the object representing the type 'type', which
-contains a pointer to itself!).
-
-Objects do not float around in memory; once allocated an object keeps
-the same size and address.  Objects that must hold variable-size data
-can contain pointers to variable-size parts of the object.  Not all
-objects of the same type have the same size; but the size cannot change
-after allocation.  (These restrictions are made so a reference to an
-object can be simply a pointer -- moving an object would require
-updating all the pointers, and changing an object's size would require
-moving it if there was another object right next to it.)
-
-Objects are always accessed through pointers of the type 'PyObject *'.
-The type 'PyObject' is a structure that only contains the reference count
-and the type pointer.  The actual memory allocated for an object
-contains other data that can only be accessed after casting the pointer
-to a pointer to a longer structure type.  This longer type must start
-with the reference count and type fields; the macro PyObject_HEAD should be
-used for this (to accommodate for future changes).  The implementation
-of a particular object type can cast the object pointer to the proper
-type and back.
-
-A standard interface exists for objects that contain an array of items
-whose size is determined when the object is allocated.
-*/
-
-/* Py_DEBUG implies Py_TRACE_REFS. */
-#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
-#define Py_TRACE_REFS
-#endif
-
-/* Py_TRACE_REFS implies Py_REF_DEBUG. */
-#if defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG)
-#define Py_REF_DEBUG
-#endif
-
-#ifdef Py_TRACE_REFS
-/* Define pointers to support a doubly-linked list of all live heap objects. */
-#define _PyObject_HEAD_EXTRA            \
-    struct _object *_ob_next;           \
-    struct _object *_ob_prev;
-
-#define _PyObject_EXTRA_INIT 0, 0,
-
-#else
-#define _PyObject_HEAD_EXTRA
-#define _PyObject_EXTRA_INIT
-#endif
-
-/* PyObject_HEAD defines the initial segment of every PyObject. */
-#define PyObject_HEAD                   \
-    _PyObject_HEAD_EXTRA                \
-    Py_ssize_t ob_refcnt;               \
-    struct _typeobject *ob_type;
-
-#define PyObject_HEAD_INIT(type)        \
-    _PyObject_EXTRA_INIT                \
-    1, type,
-
-#define PyVarObject_HEAD_INIT(type, size)       \
-    PyObject_HEAD_INIT(type) size,
-
-/* PyObject_VAR_HEAD defines the initial segment of all variable-size
- * container objects.  These end with a declaration of an array with 1
- * element, but enough space is malloc'ed so that the array actually
- * has room for ob_size elements.  Note that ob_size is an element count,
- * not necessarily a byte count.
- */
-#define PyObject_VAR_HEAD               \
-    PyObject_HEAD                       \
-    Py_ssize_t ob_size; /* Number of items in variable part */
-#define Py_INVALID_SIZE (Py_ssize_t)-1
-
-/* Nothing is actually declared to be a PyObject, but every pointer to
- * a Python object can be cast to a PyObject*.  This is inheritance built
- * by hand.  Similarly every pointer to a variable-size Python object can,
- * in addition, be cast to PyVarObject*.
- */
-typedef struct _object {
-    PyObject_HEAD
-} PyObject;
-
-typedef struct {
-    PyObject_VAR_HEAD
-} PyVarObject;
-
-#define Py_REFCNT(ob)           (((PyObject*)(ob))->ob_refcnt)
-#define Py_TYPE(ob)             (((PyObject*)(ob))->ob_type)
-#define Py_SIZE(ob)             (((PyVarObject*)(ob))->ob_size)
-
-/*
-Type objects contain a string containing the type name (to help somewhat
-in debugging), the allocation parameters (see PyObject_New() and
-PyObject_NewVar()),
-and methods for accessing objects of the type.  Methods are optional, a
-nil pointer meaning that particular kind of access is not available for
-this type.  The Py_DECREF() macro uses the tp_dealloc method without
-checking for a nil pointer; it should always be implemented except if
-the implementation can guarantee that the reference count will never
-reach zero (e.g., for statically allocated type objects).
-
-NB: the methods for certain type groups are now contained in separate
-method blocks.
-*/
-
-typedef PyObject * (*unaryfunc)(PyObject *);
-typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
-typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *);
-typedef int (*inquiry)(PyObject *);
-typedef Py_ssize_t (*lenfunc)(PyObject *);
-typedef int (*coercion)(PyObject **, PyObject **);
-typedef PyObject *(*intargfunc)(PyObject *, int) Py_DEPRECATED(2.5);
-typedef PyObject *(*intintargfunc)(PyObject *, int, int) Py_DEPRECATED(2.5);
-typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
-typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
-typedef int(*intobjargproc)(PyObject *, int, PyObject *);
-typedef int(*intintobjargproc)(PyObject *, int, int, PyObject *);
-typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
-typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
-typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
-
-
-
-/* int-based buffer interface */
-typedef int (*getreadbufferproc)(PyObject *, int, void **);
-typedef int (*getwritebufferproc)(PyObject *, int, void **);
-typedef int (*getsegcountproc)(PyObject *, int *);
-typedef int (*getcharbufferproc)(PyObject *, int, char **);
-/* ssize_t-based buffer interface */
-typedef Py_ssize_t (*readbufferproc)(PyObject *, Py_ssize_t, void **);
-typedef Py_ssize_t (*writebufferproc)(PyObject *, Py_ssize_t, void **);
-typedef Py_ssize_t (*segcountproc)(PyObject *, Py_ssize_t *);
-typedef Py_ssize_t (*charbufferproc)(PyObject *, Py_ssize_t, char **);
-
-
-/* Py3k buffer interface */
-typedef struct bufferinfo {
-    void *buf;
-    PyObject *obj;        /* owned reference */
-    Py_ssize_t len;
-    Py_ssize_t itemsize;  /* This is Py_ssize_t so it can be
-                             pointed to by strides in simple case.*/
-    int readonly;
-    int ndim;
-    char *format;
-    Py_ssize_t *shape;
-    Py_ssize_t *strides;
-    Py_ssize_t *suboffsets;
-    Py_ssize_t smalltable[2];  /* static store for shape and strides of
-                                  mono-dimensional buffers. */
-    void *internal;
-} Py_buffer;
-
-typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-
-    /* Flags for getting buffers */
-#define PyBUF_SIMPLE 0
-#define PyBUF_WRITABLE 0x0001
-/*  we used to include an E, backwards compatible alias  */
-#define PyBUF_WRITEABLE PyBUF_WRITABLE
-#define PyBUF_FORMAT 0x0004
-#define PyBUF_ND 0x0008
-#define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-#define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-#define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-#define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-#define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-
-#define PyBUF_CONTIG (PyBUF_ND | PyBUF_WRITABLE)
-#define PyBUF_CONTIG_RO (PyBUF_ND)
-
-#define PyBUF_STRIDED (PyBUF_STRIDES | PyBUF_WRITABLE)
-#define PyBUF_STRIDED_RO (PyBUF_STRIDES)
-
-#define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_WRITABLE | PyBUF_FORMAT)
-#define PyBUF_RECORDS_RO (PyBUF_STRIDES | PyBUF_FORMAT)
-
-#define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_WRITABLE | PyBUF_FORMAT)
-#define PyBUF_FULL_RO (PyBUF_INDIRECT | PyBUF_FORMAT)
-
-
-#define PyBUF_READ  0x100
-#define PyBUF_WRITE 0x200
-#define PyBUF_SHADOW 0x400
-/* end Py3k buffer interface */
-
-typedef int (*objobjproc)(PyObject *, PyObject *);
-typedef int (*visitproc)(PyObject *, void *);
-typedef int (*traverseproc)(PyObject *, visitproc, void *);
-
-typedef struct {
-    /* For numbers without flag bit Py_TPFLAGS_CHECKTYPES set, all
-       arguments are guaranteed to be of the object's type (modulo
-       coercion hacks -- i.e. if the type's coercion function
-       returns other types, then these are allowed as well).  Numbers that
-       have the Py_TPFLAGS_CHECKTYPES flag bit set should check *both*
-       arguments for proper type and implement the necessary conversions
-       in the slot functions themselves. */
-
-    binaryfunc nb_add;
-    binaryfunc nb_subtract;
-    binaryfunc nb_multiply;
-    binaryfunc nb_divide;
-    binaryfunc nb_remainder;
-    binaryfunc nb_divmod;
-    ternaryfunc nb_power;
-    unaryfunc nb_negative;
-    unaryfunc nb_positive;
-    unaryfunc nb_absolute;
-    inquiry nb_nonzero;
-    unaryfunc nb_invert;
-    binaryfunc nb_lshift;
-    binaryfunc nb_rshift;
-    binaryfunc nb_and;
-    binaryfunc nb_xor;
-    binaryfunc nb_or;
-    coercion nb_coerce;
-    unaryfunc nb_int;
-    unaryfunc nb_long;
-    unaryfunc nb_float;
-    unaryfunc nb_oct;
-    unaryfunc nb_hex;
-    /* Added in release 2.0 */
-    binaryfunc nb_inplace_add;
-    binaryfunc nb_inplace_subtract;
-    binaryfunc nb_inplace_multiply;
-    binaryfunc nb_inplace_divide;
-    binaryfunc nb_inplace_remainder;
-    ternaryfunc nb_inplace_power;
-    binaryfunc nb_inplace_lshift;
-    binaryfunc nb_inplace_rshift;
-    binaryfunc nb_inplace_and;
-    binaryfunc nb_inplace_xor;
-    binaryfunc nb_inplace_or;
-
-    /* Added in release 2.2 */
-    /* The following require the Py_TPFLAGS_HAVE_CLASS flag */
-    binaryfunc nb_floor_divide;
-    binaryfunc nb_true_divide;
-    binaryfunc nb_inplace_floor_divide;
-    binaryfunc nb_inplace_true_divide;
-
-    /* Added in release 2.5 */
-    unaryfunc nb_index;
-} PyNumberMethods;
-
-typedef struct {
-    lenfunc sq_length;
-    binaryfunc sq_concat;
-    ssizeargfunc sq_repeat;
-    ssizeargfunc sq_item;
-    ssizessizeargfunc sq_slice;
-    ssizeobjargproc sq_ass_item;
-    ssizessizeobjargproc sq_ass_slice;
-    objobjproc sq_contains;
-    /* Added in release 2.0 */
-    binaryfunc sq_inplace_concat;
-    ssizeargfunc sq_inplace_repeat;
-} PySequenceMethods;
-
-typedef struct {
-    lenfunc mp_length;
-    binaryfunc mp_subscript;
-    objobjargproc mp_ass_subscript;
-} PyMappingMethods;
-
-typedef struct {
-    readbufferproc bf_getreadbuffer;
-    writebufferproc bf_getwritebuffer;
-    segcountproc bf_getsegcount;
-    charbufferproc bf_getcharbuffer;
-    getbufferproc bf_getbuffer;
-    releasebufferproc bf_releasebuffer;
-} PyBufferProcs;
-
-
-typedef void (*freefunc)(void *);
-typedef void (*destructor)(PyObject *);
-typedef int (*printfunc)(PyObject *, FILE *, int);
-typedef PyObject *(*getattrfunc)(PyObject *, char *);
-typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
-typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
-typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
-typedef int (*cmpfunc)(PyObject *, PyObject *);
-typedef PyObject *(*reprfunc)(PyObject *);
-typedef long (*hashfunc)(PyObject *);
-typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int);
-typedef PyObject *(*getiterfunc) (PyObject *);
-typedef PyObject *(*iternextfunc) (PyObject *);
-typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *);
-typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *);
-typedef int (*initproc)(PyObject *, PyObject *, PyObject *);
-typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *);
-typedef PyObject *(*allocfunc)(struct _typeobject *, Py_ssize_t);
-
-typedef struct _typeobject {
-    PyObject_VAR_HEAD
-    const char *tp_name; /* For printing, in format "<module>.<name>" */
-    Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */
-
-    /* Methods to implement standard operations */
-
-    destructor tp_dealloc;
-    printfunc tp_print;
-    getattrfunc tp_getattr;
-    setattrfunc tp_setattr;
-    cmpfunc tp_compare;
-    reprfunc tp_repr;
-
-    /* Method suites for standard classes */
-
-    PyNumberMethods *tp_as_number;
-    PySequenceMethods *tp_as_sequence;
-    PyMappingMethods *tp_as_mapping;
-
-    /* More standard operations (here for binary compatibility) */
-
-    hashfunc tp_hash;
-    ternaryfunc tp_call;
-    reprfunc tp_str;
-    getattrofunc tp_getattro;
-    setattrofunc tp_setattro;
-
-    /* Functions to access object as input/output buffer */
-    PyBufferProcs *tp_as_buffer;
-
-    /* Flags to define presence of optional/expanded features */
-    long tp_flags;
-
-    const char *tp_doc; /* Documentation string */
-
-    /* Assigned meaning in release 2.0 */
-    /* call function for all accessible objects */
-    traverseproc tp_traverse;
-
-    /* delete references to contained objects */
-    inquiry tp_clear;
-
-    /* Assigned meaning in release 2.1 */
-    /* rich comparisons */
-    richcmpfunc tp_richcompare;
-
-    /* weak reference enabler */
-    Py_ssize_t tp_weaklistoffset;
-
-    /* Added in release 2.2 */
-    /* Iterators */
-    getiterfunc tp_iter;
-    iternextfunc tp_iternext;
-
-    /* Attribute descriptor and subclassing stuff */
-    struct PyMethodDef *tp_methods;
-    struct PyMemberDef *tp_members;
-    struct PyGetSetDef *tp_getset;
-    struct _typeobject *tp_base;
-    PyObject *tp_dict;
-    descrgetfunc tp_descr_get;
-    descrsetfunc tp_descr_set;
-    Py_ssize_t tp_dictoffset;
-    initproc tp_init;
-    allocfunc tp_alloc;
-    newfunc tp_new;
-    freefunc tp_free; /* Low-level free-memory routine */
-    inquiry tp_is_gc; /* For PyObject_IS_GC */
-    PyObject *tp_bases;
-    PyObject *tp_mro; /* method resolution order */
-    PyObject *tp_cache;
-    PyObject *tp_subclasses;
-    PyObject *tp_weaklist;
-    destructor tp_del;
-
-    /* Type attribute cache version tag. Added in version 2.6 */
-    unsigned int tp_version_tag;
-
-#ifdef COUNT_ALLOCS
-    /* these must be last and never explicitly initialized */
-    Py_ssize_t tp_allocs;
-    Py_ssize_t tp_frees;
-    Py_ssize_t tp_maxalloc;
-    struct _typeobject *tp_prev;
-    struct _typeobject *tp_next;
-#endif
-} PyTypeObject;
-
-
-/* The *real* layout of a type object when allocated on the heap */
-typedef struct _heaptypeobject {
-    /* Note: there's a dependency on the order of these members
-       in slotptr() in typeobject.c . */
-    PyTypeObject ht_type;
-    PyNumberMethods as_number;
-    PyMappingMethods as_mapping;
-    PySequenceMethods as_sequence; /* as_sequence comes after as_mapping,
-                                      so that the mapping wins when both
-                                      the mapping and the sequence define
-                                      a given operator (e.g. __getitem__).
-                                      see add_operators() in typeobject.c . */
-    PyBufferProcs as_buffer;
-    PyObject *ht_name, *ht_slots;
-    /* here are optional user slots, followed by the members. */
-} PyHeapTypeObject;
-
-/* access macro to the members which are floating "behind" the object */
-#define PyHeapType_GET_MEMBERS(etype) \
-    ((PyMemberDef *)(((char *)etype) + Py_TYPE(etype)->tp_basicsize))
-
-
-/* Generic type check */
-PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *);
-#define PyObject_TypeCheck(ob, tp) \
-    (Py_TYPE(ob) == (tp) || PyType_IsSubtype(Py_TYPE(ob), (tp)))
-
-PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */
-PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */
-PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */
-
-#define PyType_Check(op) \
-    PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS)
-#define PyType_CheckExact(op) (Py_TYPE(op) == &PyType_Type)
-
-PyAPI_FUNC(int) PyType_Ready(PyTypeObject *);
-PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t);
-PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *,
-                                               PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) _PyType_Lookup(PyTypeObject *, PyObject *);
-PyAPI_FUNC(PyObject *) _PyObject_LookupSpecial(PyObject *, char *, PyObject **);
-PyAPI_FUNC(unsigned int) PyType_ClearCache(void);
-PyAPI_FUNC(void) PyType_Modified(PyTypeObject *);
-
-/* Generic operations on objects */
-PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int);
-PyAPI_FUNC(void) _PyObject_Dump(PyObject *);
-PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
-PyAPI_FUNC(PyObject *) _PyObject_Str(PyObject *);
-PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *);
-#define PyObject_Bytes PyObject_Str
-#ifdef Py_USING_UNICODE
-PyAPI_FUNC(PyObject *) PyObject_Unicode(PyObject *);
-#endif
-PyAPI_FUNC(int) PyObject_Compare(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int);
-PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int);
-PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
-PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *);
-PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *);
-PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *);
-PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *);
-PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject **) _PyObject_GetDictPtr(PyObject *);
-PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *);
-PyAPI_FUNC(PyObject *) _PyObject_NextNotImplemented(PyObject *);
-PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *);
-PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *,
-                                              PyObject *, PyObject *);
-PyAPI_FUNC(long) PyObject_Hash(PyObject *);
-PyAPI_FUNC(long) PyObject_HashNotImplemented(PyObject *);
-PyAPI_FUNC(int) PyObject_IsTrue(PyObject *);
-PyAPI_FUNC(int) PyObject_Not(PyObject *);
-PyAPI_FUNC(int) PyCallable_Check(PyObject *);
-PyAPI_FUNC(int) PyNumber_Coerce(PyObject **, PyObject **);
-PyAPI_FUNC(int) PyNumber_CoerceEx(PyObject **, PyObject **);
-
-PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *);
-
-/* A slot function whose address we need to compare */
-extern int _PyObject_SlotCompare(PyObject *, PyObject *);
-/* Same as PyObject_Generic{Get,Set}Attr, but passing the attributes
-   dict as the last parameter. */
-PyAPI_FUNC(PyObject *)
-_PyObject_GenericGetAttrWithDict(PyObject *, PyObject *, PyObject *);
-PyAPI_FUNC(int)
-_PyObject_GenericSetAttrWithDict(PyObject *, PyObject *,
-                                 PyObject *, PyObject *);
-
-
-/* PyObject_Dir(obj) acts like Python __builtin__.dir(obj), returning a
-   list of strings.  PyObject_Dir(NULL) is like __builtin__.dir(),
-   returning the names of the current locals.  In this case, if there are
-   no current locals, NULL is returned, and PyErr_Occurred() is false.
-*/
-PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *);
-
-
-/* Helpers for printing recursive container types */
-PyAPI_FUNC(int) Py_ReprEnter(PyObject *);
-PyAPI_FUNC(void) Py_ReprLeave(PyObject *);
-
-/* Helpers for hash functions */
-PyAPI_FUNC(long) _Py_HashDouble(double);
-PyAPI_FUNC(long) _Py_HashPointer(void*);
-
-typedef struct {
-    long prefix;
-    long suffix;
-} _Py_HashSecret_t;
-PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret;
-
-#ifdef Py_DEBUG
-PyAPI_DATA(int) _Py_HashSecret_Initialized;
-#endif
-
-/* Helper for passing objects to printf and the like.
-   Leaks refcounts.  Don't use it!
-*/
-#define PyObject_REPR(obj) PyString_AS_STRING(PyObject_Repr(obj))
-
-/* Flag bits for printing: */
-#define Py_PRINT_RAW    1       /* No string quotes etc. */
-
-/*
-`Type flags (tp_flags)
-
-These flags are used to extend the type structure in a backwards-compatible
-fashion. Extensions can use the flags to indicate (and test) when a given
-type structure contains a new feature. The Python core will use these when
-introducing new functionality between major revisions (to avoid mid-version
-changes in the PYTHON_API_VERSION).
-
-Arbitration of the flag bit positions will need to be coordinated among
-all extension writers who publically release their extensions (this will
-be fewer than you might expect!)..
-
-Python 1.5.2 introduced the bf_getcharbuffer slot into PyBufferProcs.
-
-Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value.
-
-Code can use PyType_HasFeature(type_ob, flag_value) to test whether the
-given type object has a specified feature.
-
-NOTE: when building the core, Py_TPFLAGS_DEFAULT includes
-Py_TPFLAGS_HAVE_VERSION_TAG; outside the core, it doesn't.  This is so
-that extensions that modify tp_dict of their own types directly don't
-break, since this was allowed in 2.5.  In 3.0 they will have to
-manually remove this flag though!
-*/
-
-/* PyBufferProcs contains bf_getcharbuffer */
-#define Py_TPFLAGS_HAVE_GETCHARBUFFER  (1L<<0)
-
-/* PySequenceMethods contains sq_contains */
-#define Py_TPFLAGS_HAVE_SEQUENCE_IN (1L<<1)
-
-/* This is here for backwards compatibility.  Extensions that use the old GC
- * API will still compile but the objects will not be tracked by the GC. */
-#define Py_TPFLAGS_GC 0 /* used to be (1L<<2) */
-
-/* PySequenceMethods and PyNumberMethods contain in-place operators */
-#define Py_TPFLAGS_HAVE_INPLACEOPS (1L<<3)
-
-/* PyNumberMethods do their own coercion */
-#define Py_TPFLAGS_CHECKTYPES (1L<<4)
-
-/* tp_richcompare is defined */
-#define Py_TPFLAGS_HAVE_RICHCOMPARE (1L<<5)
-
-/* Objects which are weakly referencable if their tp_weaklistoffset is >0 */
-#define Py_TPFLAGS_HAVE_WEAKREFS (1L<<6)
-
-/* tp_iter is defined */
-#define Py_TPFLAGS_HAVE_ITER (1L<<7)
-
-/* New members introduced by Python 2.2 exist */
-#define Py_TPFLAGS_HAVE_CLASS (1L<<8)
-
-/* Set if the type object is dynamically allocated */
-#define Py_TPFLAGS_HEAPTYPE (1L<<9)
-
-/* Set if the type allows subclassing */
-#define Py_TPFLAGS_BASETYPE (1L<<10)
-
-/* Set if the type is 'ready' -- fully initialized */
-#define Py_TPFLAGS_READY (1L<<12)
-
-/* Set while the type is being 'readied', to prevent recursive ready calls */
-#define Py_TPFLAGS_READYING (1L<<13)
-
-/* Objects support garbage collection (see objimp.h) */
-#define Py_TPFLAGS_HAVE_GC (1L<<14)
-
-/* These two bits are preserved for Stackless Python, next after this is 17 */
-#ifdef STACKLESS
-#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3L<<15)
-#else
-#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0
-#endif
-
-/* Objects support nb_index in PyNumberMethods */
-#define Py_TPFLAGS_HAVE_INDEX (1L<<17)
-
-/* Objects support type attribute cache */
-#define Py_TPFLAGS_HAVE_VERSION_TAG   (1L<<18)
-#define Py_TPFLAGS_VALID_VERSION_TAG  (1L<<19)
-
-/* Type is abstract and cannot be instantiated */
-#define Py_TPFLAGS_IS_ABSTRACT (1L<<20)
-
-/* Has the new buffer protocol */
-#define Py_TPFLAGS_HAVE_NEWBUFFER (1L<<21)
-
-/* These flags are used to determine if a type is a subclass. */
-#define Py_TPFLAGS_INT_SUBCLASS         (1L<<23)
-#define Py_TPFLAGS_LONG_SUBCLASS        (1L<<24)
-#define Py_TPFLAGS_LIST_SUBCLASS        (1L<<25)
-#define Py_TPFLAGS_TUPLE_SUBCLASS       (1L<<26)
-#define Py_TPFLAGS_STRING_SUBCLASS      (1L<<27)
-#define Py_TPFLAGS_UNICODE_SUBCLASS     (1L<<28)
-#define Py_TPFLAGS_DICT_SUBCLASS        (1L<<29)
-#define Py_TPFLAGS_BASE_EXC_SUBCLASS    (1L<<30)
-#define Py_TPFLAGS_TYPE_SUBCLASS        (1L<<31)
-
-#define Py_TPFLAGS_DEFAULT_EXTERNAL ( \
-                 Py_TPFLAGS_HAVE_GETCHARBUFFER | \
-                 Py_TPFLAGS_HAVE_SEQUENCE_IN | \
-                 Py_TPFLAGS_HAVE_INPLACEOPS | \
-                 Py_TPFLAGS_HAVE_RICHCOMPARE | \
-                 Py_TPFLAGS_HAVE_WEAKREFS | \
-                 Py_TPFLAGS_HAVE_ITER | \
-                 Py_TPFLAGS_HAVE_CLASS | \
-                 Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \
-                 Py_TPFLAGS_HAVE_INDEX | \
-                 0)
-#define Py_TPFLAGS_DEFAULT_CORE (Py_TPFLAGS_DEFAULT_EXTERNAL | \
-                 Py_TPFLAGS_HAVE_VERSION_TAG)
-
-#ifdef Py_BUILD_CORE
-#define Py_TPFLAGS_DEFAULT Py_TPFLAGS_DEFAULT_CORE
-#else
-#define Py_TPFLAGS_DEFAULT Py_TPFLAGS_DEFAULT_EXTERNAL
-#endif
-
-#define PyType_HasFeature(t,f)  (((t)->tp_flags & (f)) != 0)
-#define PyType_FastSubclass(t,f)  PyType_HasFeature(t,f)
-
-
-/*
-The macros Py_INCREF(op) and Py_DECREF(op) are used to increment or decrement
-reference counts.  Py_DECREF calls the object's deallocator function when
-the refcount falls to 0; for
-objects that don't contain references to other objects or heap memory
-this can be the standard function free().  Both macros can be used
-wherever a void expression is allowed.  The argument must not be a
-NULL pointer.  If it may be NULL, use Py_XINCREF/Py_XDECREF instead.
-The macro _Py_NewReference(op) initialize reference counts to 1, and
-in special builds (Py_REF_DEBUG, Py_TRACE_REFS) performs additional
-bookkeeping appropriate to the special build.
-
-We assume that the reference count field can never overflow; this can
-be proven when the size of the field is the same as the pointer size, so
-we ignore the possibility.  Provided a C int is at least 32 bits (which
-is implicitly assumed in many parts of this code), that's enough for
-about 2**31 references to an object.
-
-XXX The following became out of date in Python 2.2, but I'm not sure
-XXX what the full truth is now.  Certainly, heap-allocated type objects
-XXX can and should be deallocated.
-Type objects should never be deallocated; the type pointer in an object
-is not considered to be a reference to the type object, to save
-complications in the deallocation function.  (This is actually a
-decision that's up to the implementer of each new type so if you want,
-you can count such references to the type object.)
-
-*** WARNING*** The Py_DECREF macro must have a side-effect-free argument
-since it may evaluate its argument multiple times.  (The alternative
-would be to mace it a proper function or assign it to a global temporary
-variable first, both of which are slower; and in a multi-threaded
-environment the global variable trick is not safe.)
-*/
-
-/* First define a pile of simple helper macros, one set per special
- * build symbol.  These either expand to the obvious things, or to
- * nothing at all when the special mode isn't in effect.  The main
- * macros can later be defined just once then, yet expand to different
- * things depending on which special build options are and aren't in effect.
- * Trust me <wink>:  while painful, this is 20x easier to understand than,
- * e.g, defining _Py_NewReference five different times in a maze of nested
- * #ifdefs (we used to do that -- it was impenetrable).
- */
-#ifdef Py_REF_DEBUG
-PyAPI_DATA(Py_ssize_t) _Py_RefTotal;
-PyAPI_FUNC(void) _Py_NegativeRefcount(const char *fname,
-                                            int lineno, PyObject *op);
-PyAPI_FUNC(PyObject *) _PyDict_Dummy(void);
-PyAPI_FUNC(PyObject *) _PySet_Dummy(void);
-PyAPI_FUNC(Py_ssize_t) _Py_GetRefTotal(void);
-#define _Py_INC_REFTOTAL        _Py_RefTotal++
-#define _Py_DEC_REFTOTAL        _Py_RefTotal--
-#define _Py_REF_DEBUG_COMMA     ,
-#define _Py_CHECK_REFCNT(OP)                                    \
-{       if (((PyObject*)OP)->ob_refcnt < 0)                             \
-                _Py_NegativeRefcount(__FILE__, __LINE__,        \
-                                     (PyObject *)(OP));         \
-}
-#else
-#define _Py_INC_REFTOTAL
-#define _Py_DEC_REFTOTAL
-#define _Py_REF_DEBUG_COMMA
-#define _Py_CHECK_REFCNT(OP)    /* a semicolon */;
-#endif /* Py_REF_DEBUG */
-
-#ifdef COUNT_ALLOCS
-PyAPI_FUNC(void) inc_count(PyTypeObject *);
-PyAPI_FUNC(void) dec_count(PyTypeObject *);
-#define _Py_INC_TPALLOCS(OP)    inc_count(Py_TYPE(OP))
-#define _Py_INC_TPFREES(OP)     dec_count(Py_TYPE(OP))
-#define _Py_DEC_TPFREES(OP)     Py_TYPE(OP)->tp_frees--
-#define _Py_COUNT_ALLOCS_COMMA  ,
-#else
-#define _Py_INC_TPALLOCS(OP)
-#define _Py_INC_TPFREES(OP)
-#define _Py_DEC_TPFREES(OP)
-#define _Py_COUNT_ALLOCS_COMMA
-#endif /* COUNT_ALLOCS */
-
-#ifdef Py_TRACE_REFS
-/* Py_TRACE_REFS is such major surgery that we call external routines. */
-PyAPI_FUNC(void) _Py_NewReference(PyObject *);
-PyAPI_FUNC(void) _Py_ForgetReference(PyObject *);
-PyAPI_FUNC(void) _Py_Dealloc(PyObject *);
-PyAPI_FUNC(void) _Py_PrintReferences(FILE *);
-PyAPI_FUNC(void) _Py_PrintReferenceAddresses(FILE *);
-PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force);
-
-#else
-/* Without Py_TRACE_REFS, there's little enough to do that we expand code
- * inline.
- */
-#define _Py_NewReference(op) (                          \
-    _Py_INC_TPALLOCS(op) _Py_COUNT_ALLOCS_COMMA         \
-    _Py_INC_REFTOTAL  _Py_REF_DEBUG_COMMA               \
-    Py_REFCNT(op) = 1)
-
-#define _Py_ForgetReference(op) _Py_INC_TPFREES(op)
-
-#define _Py_Dealloc(op) (                               \
-    _Py_INC_TPFREES(op) _Py_COUNT_ALLOCS_COMMA          \
-    (*Py_TYPE(op)->tp_dealloc)((PyObject *)(op)))
-#endif /* !Py_TRACE_REFS */
-
-#define Py_INCREF(op) (                         \
-    _Py_INC_REFTOTAL  _Py_REF_DEBUG_COMMA       \
-    ((PyObject*)(op))->ob_refcnt++)
-
-#define Py_DECREF(op)                                   \
-    do {                                                \
-        if (_Py_DEC_REFTOTAL  _Py_REF_DEBUG_COMMA       \
-        --((PyObject*)(op))->ob_refcnt != 0)            \
-            _Py_CHECK_REFCNT(op)                        \
-        else                                            \
-        _Py_Dealloc((PyObject *)(op));                  \
-    } while (0)
-
-/* Safely decref `op` and set `op` to NULL, especially useful in tp_clear
- * and tp_dealloc implementatons.
- *
- * Note that "the obvious" code can be deadly:
- *
- *     Py_XDECREF(op);
- *     op = NULL;
- *
- * Typically, `op` is something like self->containee, and `self` is done
- * using its `containee` member.  In the code sequence above, suppose
- * `containee` is non-NULL with a refcount of 1.  Its refcount falls to
- * 0 on the first line, which can trigger an arbitrary amount of code,
- * possibly including finalizers (like __del__ methods or weakref callbacks)
- * coded in Python, which in turn can release the GIL and allow other threads
- * to run, etc.  Such code may even invoke methods of `self` again, or cause
- * cyclic gc to trigger, but-- oops! --self->containee still points to the
- * object being torn down, and it may be in an insane state while being torn
- * down.  This has in fact been a rich historic source of miserable (rare &
- * hard-to-diagnose) segfaulting (and other) bugs.
- *
- * The safe way is:
- *
- *      Py_CLEAR(op);
- *
- * That arranges to set `op` to NULL _before_ decref'ing, so that any code
- * triggered as a side-effect of `op` getting torn down no longer believes
- * `op` points to a valid object.
- *
- * There are cases where it's safe to use the naive code, but they're brittle.
- * For example, if `op` points to a Python integer, you know that destroying
- * one of those can't cause problems -- but in part that relies on that
- * Python integers aren't currently weakly referencable.  Best practice is
- * to use Py_CLEAR() even if you can't think of a reason for why you need to.
- */
-#define Py_CLEAR(op)                            \
-    do {                                        \
-        if (op) {                               \
-            PyObject *_py_tmp = (PyObject *)(op);               \
-            (op) = NULL;                        \
-            Py_DECREF(_py_tmp);                 \
-        }                                       \
-    } while (0)
-
-/* Macros to use in case the object pointer may be NULL: */
-#define Py_XINCREF(op) do { if ((op) == NULL) ; else Py_INCREF(op); } while (0)
-#define Py_XDECREF(op) do { if ((op) == NULL) ; else Py_DECREF(op); } while (0)
-
-/* Safely decref `op` and set `op` to `op2`.
- *
- * As in case of Py_CLEAR "the obvious" code can be deadly:
- *
- *     Py_DECREF(op);
- *     op = op2;
- *
- * The safe way is:
- *
- *      Py_SETREF(op, op2);
- *
- * That arranges to set `op` to `op2` _before_ decref'ing, so that any code
- * triggered as a side-effect of `op` getting torn down no longer believes
- * `op` points to a valid object.
- *
- * Py_XSETREF is a variant of Py_SETREF that uses Py_XDECREF instead of
- * Py_DECREF.
- */
-
-#define Py_SETREF(op, op2)                      \
-    do {                                        \
-        PyObject *_py_tmp = (PyObject *)(op);   \
-        (op) = (op2);                           \
-        Py_DECREF(_py_tmp);                     \
-    } while (0)
-
-#define Py_XSETREF(op, op2)                     \
-    do {                                        \
-        PyObject *_py_tmp = (PyObject *)(op);   \
-        (op) = (op2);                           \
-        Py_XDECREF(_py_tmp);                    \
-    } while (0)
-
-/*
-These are provided as conveniences to Python runtime embedders, so that
-they can have object code that is not dependent on Python compilation flags.
-*/
-PyAPI_FUNC(void) Py_IncRef(PyObject *);
-PyAPI_FUNC(void) Py_DecRef(PyObject *);
-
-/*
-_Py_NoneStruct is an object of undefined type which can be used in contexts
-where NULL (nil) is not suitable (since NULL often means 'error').
-
-Don't forget to apply Py_INCREF() when returning this value!!!
-*/
-PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
-#define Py_None (&_Py_NoneStruct)
-
-/* Macro for returning Py_None from a function */
-#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
-
-/*
-Py_NotImplemented is a singleton used to signal that an operation is
-not implemented for a given type combination.
-*/
-PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */
-#define Py_NotImplemented (&_Py_NotImplementedStruct)
-
-/* Rich comparison opcodes */
-#define Py_LT 0
-#define Py_LE 1
-#define Py_EQ 2
-#define Py_NE 3
-#define Py_GT 4
-#define Py_GE 5
-
-/* Maps Py_LT to Py_GT, ..., Py_GE to Py_LE.
- * Defined in object.c.
- */
-PyAPI_DATA(int) _Py_SwappedOp[];
-
-/*
-Define staticforward and statichere for source compatibility with old
-C extensions.
-
-The staticforward define was needed to support certain broken C
-compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
-static keyword when it was used with a forward declaration of a static
-initialized structure.  Standard C allows the forward declaration with
-static, and we've decided to stop catering to broken C compilers.
-(In fact, we expect that the compilers are all fixed eight years later.)
-*/
-
-#define staticforward static
-#define statichere static
-
-
-/*
-More conventions
-================
-
-Argument Checking
------------------
-
-Functions that take objects as arguments normally don't check for nil
-arguments, but they do check the type of the argument, and return an
-error if the function doesn't apply to the type.
-
-Failure Modes
--------------
-
-Functions may fail for a variety of reasons, including running out of
-memory.  This is communicated to the caller in two ways: an error string
-is set (see errors.h), and the function result differs: functions that
-normally return a pointer return NULL for failure, functions returning
-an integer return -1 (which could be a legal return value too!), and
-other functions return 0 for success and -1 for failure.
-Callers should always check for errors before using the result.  If
-an error was set, the caller must either explicitly clear it, or pass
-the error on to its caller.
-
-Reference Counts
-----------------
-
-It takes a while to get used to the proper usage of reference counts.
-
-Functions that create an object set the reference count to 1; such new
-objects must be stored somewhere or destroyed again with Py_DECREF().
-Some functions that 'store' objects, such as PyTuple_SetItem() and
-PyList_SetItem(),
-don't increment the reference count of the object, since the most
-frequent use is to store a fresh object.  Functions that 'retrieve'
-objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also
-don't increment
-the reference count, since most frequently the object is only looked at
-quickly.  Thus, to retrieve an object and store it again, the caller
-must call Py_INCREF() explicitly.
-
-NOTE: functions that 'consume' a reference count, like
-PyList_SetItem(), consume the reference even if the object wasn't
-successfully stored, to simplify error handling.
-
-It seems attractive to make other functions that take an object as
-argument consume a reference count; however, this may quickly get
-confusing (even the current practice is already confusing).  Consider
-it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at
-times.
-*/
-
-
-/* Trashcan mechanism, thanks to Christian Tismer.
-
-When deallocating a container object, it's possible to trigger an unbounded
-chain of deallocations, as each Py_DECREF in turn drops the refcount on "the
-next" object in the chain to 0.  This can easily lead to stack faults, and
-especially in threads (which typically have less stack space to work with).
-
-A container object that participates in cyclic gc can avoid this by
-bracketing the body of its tp_dealloc function with a pair of macros:
-
-static void
-mytype_dealloc(mytype *p)
-{
-    ... declarations go here ...
-
-    PyObject_GC_UnTrack(p);        // must untrack first
-    Py_TRASHCAN_SAFE_BEGIN(p)
-    ... The body of the deallocator goes here, including all calls ...
-    ... to Py_DECREF on contained objects.                         ...
-    Py_TRASHCAN_SAFE_END(p)
-}
-
-CAUTION:  Never return from the middle of the body!  If the body needs to
-"get out early", put a label immediately before the Py_TRASHCAN_SAFE_END
-call, and goto it.  Else the call-depth counter (see below) will stay
-above 0 forever, and the trashcan will never get emptied.
-
-How it works:  The BEGIN macro increments a call-depth counter.  So long
-as this counter is small, the body of the deallocator is run directly without
-further ado.  But if the counter gets large, it instead adds p to a list of
-objects to be deallocated later, skips the body of the deallocator, and
-resumes execution after the END macro.  The tp_dealloc routine then returns
-without deallocating anything (and so unbounded call-stack depth is avoided).
-
-When the call stack finishes unwinding again, code generated by the END macro
-notices this, and calls another routine to deallocate all the objects that
-may have been added to the list of deferred deallocations.  In effect, a
-chain of N deallocations is broken into N / PyTrash_UNWIND_LEVEL pieces,
-with the call stack never exceeding a depth of PyTrash_UNWIND_LEVEL.
-*/
-
-/* This is the old private API, invoked by the macros before 2.7.4.
-   Kept for binary compatibility of extensions. */
-PyAPI_FUNC(void) _PyTrash_deposit_object(PyObject*);
-PyAPI_FUNC(void) _PyTrash_destroy_chain(void);
-PyAPI_DATA(int) _PyTrash_delete_nesting;
-PyAPI_DATA(PyObject *) _PyTrash_delete_later;
-
-/* The new thread-safe private API, invoked by the macros below. */
-PyAPI_FUNC(void) _PyTrash_thread_deposit_object(PyObject*);
-PyAPI_FUNC(void) _PyTrash_thread_destroy_chain(void);
-
-#define PyTrash_UNWIND_LEVEL 50
-
-/* Note the workaround for when the thread state is NULL (issue #17703) */
-#define Py_TRASHCAN_SAFE_BEGIN(op) \
-    do { \
-        PyThreadState *_tstate = PyThreadState_GET(); \
-        if (!_tstate || \
-            _tstate->trash_delete_nesting < PyTrash_UNWIND_LEVEL) { \
-            if (_tstate) \
-                ++_tstate->trash_delete_nesting;
-            /* The body of the deallocator is here. */
-#define Py_TRASHCAN_SAFE_END(op) \
-            if (_tstate) { \
-                --_tstate->trash_delete_nesting; \
-                if (_tstate->trash_delete_later \
-                    && _tstate->trash_delete_nesting <= 0) \
-                    _PyTrash_thread_destroy_chain(); \
-            } \
-        } \
-        else \
-            _PyTrash_thread_deposit_object((PyObject*)op); \
-    } while (0);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OBJECT_H */

+ 0 - 354
esp8266/eproj1/eproj1Venv/include/python2.7/objimpl.h

@@ -1,354 +0,0 @@
-/* The PyObject_ memory family:  high-level object memory interfaces.
-   See pymem.h for the low-level PyMem_ family.
-*/
-
-#ifndef Py_OBJIMPL_H
-#define Py_OBJIMPL_H
-
-#include "pymem.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* BEWARE:
-
-   Each interface exports both functions and macros.  Extension modules should
-   use the functions, to ensure binary compatibility across Python versions.
-   Because the Python implementation is free to change internal details, and
-   the macros may (or may not) expose details for speed, if you do use the
-   macros you must recompile your extensions with each Python release.
-
-   Never mix calls to PyObject_ memory functions with calls to the platform
-   malloc/realloc/ calloc/free, or with calls to PyMem_.
-*/
-
-/*
-Functions and macros for modules that implement new object types.
-
- - PyObject_New(type, typeobj) allocates memory for a new object of the given
-   type, and initializes part of it.  'type' must be the C structure type used
-   to represent the object, and 'typeobj' the address of the corresponding
-   type object.  Reference count and type pointer are filled in; the rest of
-   the bytes of the object are *undefined*!  The resulting expression type is
-   'type *'.  The size of the object is determined by the tp_basicsize field
-   of the type object.
-
- - PyObject_NewVar(type, typeobj, n) is similar but allocates a variable-size
-   object with room for n items.  In addition to the refcount and type pointer
-   fields, this also fills in the ob_size field.
-
- - PyObject_Del(op) releases the memory allocated for an object.  It does not
-   run a destructor -- it only frees the memory.  PyObject_Free is identical.
-
- - PyObject_Init(op, typeobj) and PyObject_InitVar(op, typeobj, n) don't
-   allocate memory.  Instead of a 'type' parameter, they take a pointer to a
-   new object (allocated by an arbitrary allocator), and initialize its object
-   header fields.
-
-Note that objects created with PyObject_{New, NewVar} are allocated using the
-specialized Python allocator (implemented in obmalloc.c), if WITH_PYMALLOC is
-enabled.  In addition, a special debugging allocator is used if PYMALLOC_DEBUG
-is also #defined.
-
-In case a specific form of memory management is needed (for example, if you
-must use the platform malloc heap(s), or shared memory, or C++ local storage or
-operator new), you must first allocate the object with your custom allocator,
-then pass its pointer to PyObject_{Init, InitVar} for filling in its Python-
-specific fields:  reference count, type pointer, possibly others.  You should
-be aware that Python no control over these objects because they don't
-cooperate with the Python memory manager.  Such objects may not be eligible
-for automatic garbage collection and you have to make sure that they are
-released accordingly whenever their destructor gets called (cf. the specific
-form of memory management you're using).
-
-Unless you have specific memory management requirements, use
-PyObject_{New, NewVar, Del}.
-*/
-
-/*
- * Raw object memory interface
- * ===========================
- */
-
-/* Functions to call the same malloc/realloc/free as used by Python's
-   object allocator.  If WITH_PYMALLOC is enabled, these may differ from
-   the platform malloc/realloc/free.  The Python object allocator is
-   designed for fast, cache-conscious allocation of many "small" objects,
-   and with low hidden memory overhead.
-
-   PyObject_Malloc(0) returns a unique non-NULL pointer if possible.
-
-   PyObject_Realloc(NULL, n) acts like PyObject_Malloc(n).
-   PyObject_Realloc(p != NULL, 0) does not return  NULL, or free the memory
-   at p.
-
-   Returned pointers must be checked for NULL explicitly; no action is
-   performed on failure other than to return NULL (no warning it printed, no
-   exception is set, etc).
-
-   For allocating objects, use PyObject_{New, NewVar} instead whenever
-   possible.  The PyObject_{Malloc, Realloc, Free} family is exposed
-   so that you can exploit Python's small-block allocator for non-object
-   uses.  If you must use these routines to allocate object memory, make sure
-   the object gets initialized via PyObject_{Init, InitVar} after obtaining
-   the raw memory.
-*/
-PyAPI_FUNC(void *) PyObject_Malloc(size_t);
-PyAPI_FUNC(void *) PyObject_Realloc(void *, size_t);
-PyAPI_FUNC(void) PyObject_Free(void *);
-
-
-/* Macros */
-#ifdef WITH_PYMALLOC
-#ifdef PYMALLOC_DEBUG   /* WITH_PYMALLOC && PYMALLOC_DEBUG */
-PyAPI_FUNC(void *) _PyObject_DebugMalloc(size_t nbytes);
-PyAPI_FUNC(void *) _PyObject_DebugRealloc(void *p, size_t nbytes);
-PyAPI_FUNC(void) _PyObject_DebugFree(void *p);
-PyAPI_FUNC(void) _PyObject_DebugDumpAddress(const void *p);
-PyAPI_FUNC(void) _PyObject_DebugCheckAddress(const void *p);
-PyAPI_FUNC(void) _PyObject_DebugMallocStats(void);
-PyAPI_FUNC(void *) _PyObject_DebugMallocApi(char api, size_t nbytes);
-PyAPI_FUNC(void *) _PyObject_DebugReallocApi(char api, void *p, size_t nbytes);
-PyAPI_FUNC(void) _PyObject_DebugFreeApi(char api, void *p);
-PyAPI_FUNC(void) _PyObject_DebugCheckAddressApi(char api, const void *p);
-PyAPI_FUNC(void *) _PyMem_DebugMalloc(size_t nbytes);
-PyAPI_FUNC(void *) _PyMem_DebugRealloc(void *p, size_t nbytes);
-PyAPI_FUNC(void) _PyMem_DebugFree(void *p);
-#define PyObject_MALLOC         _PyObject_DebugMalloc
-#define PyObject_Malloc         _PyObject_DebugMalloc
-#define PyObject_REALLOC        _PyObject_DebugRealloc
-#define PyObject_Realloc        _PyObject_DebugRealloc
-#define PyObject_FREE           _PyObject_DebugFree
-#define PyObject_Free           _PyObject_DebugFree
-
-#else   /* WITH_PYMALLOC && ! PYMALLOC_DEBUG */
-#define PyObject_MALLOC         PyObject_Malloc
-#define PyObject_REALLOC        PyObject_Realloc
-#define PyObject_FREE           PyObject_Free
-#endif
-
-#else   /* ! WITH_PYMALLOC */
-#define PyObject_MALLOC         PyMem_MALLOC
-#define PyObject_REALLOC        PyMem_REALLOC
-#define PyObject_FREE           PyMem_FREE
-
-#endif  /* WITH_PYMALLOC */
-
-#define PyObject_Del            PyObject_Free
-#define PyObject_DEL            PyObject_FREE
-
-/* for source compatibility with 2.2 */
-#define _PyObject_Del           PyObject_Free
-
-/*
- * Generic object allocator interface
- * ==================================
- */
-
-/* Functions */
-PyAPI_FUNC(PyObject *) PyObject_Init(PyObject *, PyTypeObject *);
-PyAPI_FUNC(PyVarObject *) PyObject_InitVar(PyVarObject *,
-                                                 PyTypeObject *, Py_ssize_t);
-PyAPI_FUNC(PyObject *) _PyObject_New(PyTypeObject *);
-PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, Py_ssize_t);
-
-#define PyObject_New(type, typeobj) \
-                ( (type *) _PyObject_New(typeobj) )
-#define PyObject_NewVar(type, typeobj, n) \
-                ( (type *) _PyObject_NewVar((typeobj), (n)) )
-
-/* Macros trading binary compatibility for speed. See also pymem.h.
-   Note that these macros expect non-NULL object pointers.*/
-#define PyObject_INIT(op, typeobj) \
-    ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) )
-#define PyObject_INIT_VAR(op, typeobj, size) \
-    ( Py_SIZE(op) = (size), PyObject_INIT((op), (typeobj)) )
-
-#define _PyObject_SIZE(typeobj) ( (typeobj)->tp_basicsize )
-
-/* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a
-   vrbl-size object with nitems items, exclusive of gc overhead (if any).  The
-   value is rounded up to the closest multiple of sizeof(void *), in order to
-   ensure that pointer fields at the end of the object are correctly aligned
-   for the platform (this is of special importance for subclasses of, e.g.,
-   str or long, so that pointers can be stored after the embedded data).
-
-   Note that there's no memory wastage in doing this, as malloc has to
-   return (at worst) pointer-aligned memory anyway.
-*/
-#if ((SIZEOF_VOID_P - 1) & SIZEOF_VOID_P) != 0
-#   error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2"
-#endif
-
-#define _PyObject_VAR_SIZE(typeobj, nitems)     \
-    (size_t)                                    \
-    ( ( (typeobj)->tp_basicsize +               \
-        (nitems)*(typeobj)->tp_itemsize +       \
-        (SIZEOF_VOID_P - 1)                     \
-      ) & ~(SIZEOF_VOID_P - 1)                  \
-    )
-
-#define PyObject_NEW(type, typeobj) \
-( (type *) PyObject_Init( \
-    (PyObject *) PyObject_MALLOC( _PyObject_SIZE(typeobj) ), (typeobj)) )
-
-#define PyObject_NEW_VAR(type, typeobj, n) \
-( (type *) PyObject_InitVar( \
-      (PyVarObject *) PyObject_MALLOC(_PyObject_VAR_SIZE((typeobj),(n)) ),\
-      (typeobj), (n)) )
-
-/* This example code implements an object constructor with a custom
-   allocator, where PyObject_New is inlined, and shows the important
-   distinction between two steps (at least):
-       1) the actual allocation of the object storage;
-       2) the initialization of the Python specific fields
-      in this storage with PyObject_{Init, InitVar}.
-
-   PyObject *
-   YourObject_New(...)
-   {
-       PyObject *op;
-
-       op = (PyObject *) Your_Allocator(_PyObject_SIZE(YourTypeStruct));
-       if (op == NULL)
-       return PyErr_NoMemory();
-
-       PyObject_Init(op, &YourTypeStruct);
-
-       op->ob_field = value;
-       ...
-       return op;
-   }
-
-   Note that in C++, the use of the new operator usually implies that
-   the 1st step is performed automatically for you, so in a C++ class
-   constructor you would start directly with PyObject_Init/InitVar
-*/
-
-/*
- * Garbage Collection Support
- * ==========================
- */
-
-/* C equivalent of gc.collect(). */
-PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void);
-
-/* Test if a type has a GC head */
-#define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
-
-/* Test if an object has a GC head */
-#define PyObject_IS_GC(o) (PyType_IS_GC(Py_TYPE(o)) && \
-    (Py_TYPE(o)->tp_is_gc == NULL || Py_TYPE(o)->tp_is_gc(o)))
-
-PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
-#define PyObject_GC_Resize(type, op, n) \
-                ( (type *) _PyObject_GC_Resize((PyVarObject *)(op), (n)) )
-
-/* for source compatibility with 2.2 */
-#define _PyObject_GC_Del PyObject_GC_Del
-
-/* GC information is stored BEFORE the object structure. */
-typedef union _gc_head {
-    struct {
-        union _gc_head *gc_next;
-        union _gc_head *gc_prev;
-        Py_ssize_t gc_refs;
-    } gc;
-    long double dummy;  /* force worst-case alignment */
-} PyGC_Head;
-
-extern PyGC_Head *_PyGC_generation0;
-
-#define _Py_AS_GC(o) ((PyGC_Head *)(o)-1)
-
-#define _PyGC_REFS_UNTRACKED                    (-2)
-#define _PyGC_REFS_REACHABLE                    (-3)
-#define _PyGC_REFS_TENTATIVELY_UNREACHABLE      (-4)
-
-/* Tell the GC to track this object.  NB: While the object is tracked the
- * collector it must be safe to call the ob_traverse method. */
-#define _PyObject_GC_TRACK(o) do { \
-    PyGC_Head *g = _Py_AS_GC(o); \
-    if (g->gc.gc_refs != _PyGC_REFS_UNTRACKED) \
-        Py_FatalError("GC object already tracked"); \
-    g->gc.gc_refs = _PyGC_REFS_REACHABLE; \
-    g->gc.gc_next = _PyGC_generation0; \
-    g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; \
-    g->gc.gc_prev->gc.gc_next = g; \
-    _PyGC_generation0->gc.gc_prev = g; \
-    } while (0);
-
-/* Tell the GC to stop tracking this object.
- * gc_next doesn't need to be set to NULL, but doing so is a good
- * way to provoke memory errors if calling code is confused.
- */
-#define _PyObject_GC_UNTRACK(o) do { \
-    PyGC_Head *g = _Py_AS_GC(o); \
-    assert(g->gc.gc_refs != _PyGC_REFS_UNTRACKED); \
-    g->gc.gc_refs = _PyGC_REFS_UNTRACKED; \
-    g->gc.gc_prev->gc.gc_next = g->gc.gc_next; \
-    g->gc.gc_next->gc.gc_prev = g->gc.gc_prev; \
-    g->gc.gc_next = NULL; \
-    } while (0);
-
-/* True if the object is currently tracked by the GC. */
-#define _PyObject_GC_IS_TRACKED(o) \
-    ((_Py_AS_GC(o))->gc.gc_refs != _PyGC_REFS_UNTRACKED)
-
-/* True if the object may be tracked by the GC in the future, or already is.
-   This can be useful to implement some optimizations. */
-#define _PyObject_GC_MAY_BE_TRACKED(obj) \
-    (PyObject_IS_GC(obj) && \
-        (!PyTuple_CheckExact(obj) || _PyObject_GC_IS_TRACKED(obj)))
-
-
-PyAPI_FUNC(PyObject *) _PyObject_GC_Malloc(size_t);
-PyAPI_FUNC(PyObject *) _PyObject_GC_New(PyTypeObject *);
-PyAPI_FUNC(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t);
-PyAPI_FUNC(void) PyObject_GC_Track(void *);
-PyAPI_FUNC(void) PyObject_GC_UnTrack(void *);
-PyAPI_FUNC(void) PyObject_GC_Del(void *);
-
-#define PyObject_GC_New(type, typeobj) \
-                ( (type *) _PyObject_GC_New(typeobj) )
-#define PyObject_GC_NewVar(type, typeobj, n) \
-                ( (type *) _PyObject_GC_NewVar((typeobj), (n)) )
-
-
-/* Utility macro to help write tp_traverse functions.
- * To use this macro, the tp_traverse function must name its arguments
- * "visit" and "arg".  This is intended to keep tp_traverse functions
- * looking as much alike as possible.
- */
-#define Py_VISIT(op)                                                    \
-    do {                                                                \
-        if (op) {                                                       \
-            int vret = visit((PyObject *)(op), arg);                    \
-            if (vret)                                                   \
-                return vret;                                            \
-        }                                                               \
-    } while (0)
-
-/* This is here for the sake of backwards compatibility.  Extensions that
- * use the old GC API will still compile but the objects will not be
- * tracked by the GC. */
-#define PyGC_HEAD_SIZE 0
-#define PyObject_GC_Init(op)
-#define PyObject_GC_Fini(op)
-#define PyObject_AS_GC(op) (op)
-#define PyObject_FROM_GC(op) (op)
-
-
-/* Test if a type supports weak references */
-#define PyType_SUPPORTS_WEAKREFS(t) \
-    (PyType_HasFeature((t), Py_TPFLAGS_HAVE_WEAKREFS) \
-     && ((t)->tp_weaklistoffset > 0))
-
-#define PyObject_GET_WEAKREFS_LISTPTR(o) \
-    ((PyObject **) (((char *) (o)) + Py_TYPE(o)->tp_weaklistoffset))
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OBJIMPL_H */

+ 0 - 171
esp8266/eproj1/eproj1Venv/include/python2.7/opcode.h

@@ -1,171 +0,0 @@
-#ifndef Py_OPCODE_H
-#define Py_OPCODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Instruction opcodes for compiled code */
-
-#define STOP_CODE	0
-#define POP_TOP		1
-#define ROT_TWO		2
-#define ROT_THREE	3
-#define DUP_TOP		4
-#define ROT_FOUR	5
-#define NOP		9
-
-#define UNARY_POSITIVE	10
-#define UNARY_NEGATIVE	11
-#define UNARY_NOT	12
-#define UNARY_CONVERT	13
-
-#define UNARY_INVERT	15
-
-#define BINARY_POWER	19
-
-#define BINARY_MULTIPLY	20
-#define BINARY_DIVIDE	21
-#define BINARY_MODULO	22
-#define BINARY_ADD	23
-#define BINARY_SUBTRACT	24
-#define BINARY_SUBSCR	25
-#define BINARY_FLOOR_DIVIDE 26
-#define BINARY_TRUE_DIVIDE 27
-#define INPLACE_FLOOR_DIVIDE 28
-#define INPLACE_TRUE_DIVIDE 29
-
-#define SLICE		30
-/* Also uses 31-33 */
-#define SLICE_1		31
-#define SLICE_2		32
-#define SLICE_3		33
-
-#define STORE_SLICE	40
-/* Also uses 41-43 */
-#define STORE_SLICE_1	41
-#define STORE_SLICE_2	42
-#define STORE_SLICE_3	43
-
-#define DELETE_SLICE	50
-/* Also uses 51-53 */
-#define DELETE_SLICE_1	51
-#define DELETE_SLICE_2	52
-#define DELETE_SLICE_3	53
-
-#define STORE_MAP	54
-#define INPLACE_ADD	55
-#define INPLACE_SUBTRACT	56
-#define INPLACE_MULTIPLY	57
-#define INPLACE_DIVIDE	58
-#define INPLACE_MODULO	59
-#define STORE_SUBSCR	60
-#define DELETE_SUBSCR	61
-
-#define BINARY_LSHIFT	62
-#define BINARY_RSHIFT	63
-#define BINARY_AND	64
-#define BINARY_XOR	65
-#define BINARY_OR	66
-#define INPLACE_POWER	67
-#define GET_ITER	68
-
-#define PRINT_EXPR	70
-#define PRINT_ITEM	71
-#define PRINT_NEWLINE	72
-#define PRINT_ITEM_TO   73
-#define PRINT_NEWLINE_TO 74
-#define INPLACE_LSHIFT	75
-#define INPLACE_RSHIFT	76
-#define INPLACE_AND	77
-#define INPLACE_XOR	78
-#define INPLACE_OR	79
-#define BREAK_LOOP	80
-#define WITH_CLEANUP    81
-#define LOAD_LOCALS	82
-#define RETURN_VALUE	83
-#define IMPORT_STAR	84
-#define EXEC_STMT	85
-#define YIELD_VALUE	86
-#define POP_BLOCK	87
-#define END_FINALLY	88
-#define BUILD_CLASS	89
-
-#define HAVE_ARGUMENT	90	/* Opcodes from here have an argument: */
-
-#define STORE_NAME	90	/* Index in name list */
-#define DELETE_NAME	91	/* "" */
-#define UNPACK_SEQUENCE	92	/* Number of sequence items */
-#define FOR_ITER	93
-#define LIST_APPEND	94
-
-#define STORE_ATTR	95	/* Index in name list */
-#define DELETE_ATTR	96	/* "" */
-#define STORE_GLOBAL	97	/* "" */
-#define DELETE_GLOBAL	98	/* "" */
-#define DUP_TOPX	99	/* number of items to duplicate */
-#define LOAD_CONST	100	/* Index in const list */
-#define LOAD_NAME	101	/* Index in name list */
-#define BUILD_TUPLE	102	/* Number of tuple items */
-#define BUILD_LIST	103	/* Number of list items */
-#define BUILD_SET	104     /* Number of set items */
-#define BUILD_MAP	105	/* Always zero for now */
-#define LOAD_ATTR	106	/* Index in name list */
-#define COMPARE_OP	107	/* Comparison operator */
-#define IMPORT_NAME	108	/* Index in name list */
-#define IMPORT_FROM	109	/* Index in name list */
-#define JUMP_FORWARD	110	/* Number of bytes to skip */
-
-#define JUMP_IF_FALSE_OR_POP 111 /* Target byte offset from beginning
-                                    of code */
-#define JUMP_IF_TRUE_OR_POP 112	/* "" */
-#define JUMP_ABSOLUTE	113	/* "" */
-#define POP_JUMP_IF_FALSE 114	/* "" */
-#define POP_JUMP_IF_TRUE 115	/* "" */
-
-#define LOAD_GLOBAL	116	/* Index in name list */
-
-#define CONTINUE_LOOP	119	/* Start of loop (absolute) */
-#define SETUP_LOOP	120	/* Target address (relative) */
-#define SETUP_EXCEPT	121	/* "" */
-#define SETUP_FINALLY	122	/* "" */
-
-#define LOAD_FAST	124	/* Local variable number */
-#define STORE_FAST	125	/* Local variable number */
-#define DELETE_FAST	126	/* Local variable number */
-
-#define RAISE_VARARGS	130	/* Number of raise arguments (1, 2 or 3) */
-/* CALL_FUNCTION_XXX opcodes defined below depend on this definition */
-#define CALL_FUNCTION	131	/* #args + (#kwargs<<8) */
-#define MAKE_FUNCTION	132	/* #defaults */
-#define BUILD_SLICE 	133	/* Number of items */
-
-#define MAKE_CLOSURE    134     /* #free vars */
-#define LOAD_CLOSURE    135     /* Load free variable from closure */
-#define LOAD_DEREF      136     /* Load and dereference from closure cell */ 
-#define STORE_DEREF     137     /* Store into cell */ 
-
-/* The next 3 opcodes must be contiguous and satisfy
-   (CALL_FUNCTION_VAR - CALL_FUNCTION) & 3 == 1  */
-#define CALL_FUNCTION_VAR          140	/* #args + (#kwargs<<8) */
-#define CALL_FUNCTION_KW           141	/* #args + (#kwargs<<8) */
-#define CALL_FUNCTION_VAR_KW       142	/* #args + (#kwargs<<8) */
-
-#define SETUP_WITH 143
-
-/* Support for opargs more than 16 bits long */
-#define EXTENDED_ARG  145
-
-#define SET_ADD         146
-#define MAP_ADD         147
-
-
-enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE, PyCmp_GT=Py_GT, PyCmp_GE=Py_GE,
-	     PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
-
-#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OPCODE_H */

+ 0 - 63
esp8266/eproj1/eproj1Venv/include/python2.7/osdefs.h

@@ -1,63 +0,0 @@
-#ifndef Py_OSDEFS_H
-#define Py_OSDEFS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Operating system dependencies */
-
-/* Mod by chrish: QNX has WATCOM, but isn't DOS */
-#if !defined(__QNX__)
-#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__DJGPP__) || defined(PYOS_OS2)
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
-#define MAXPATHLEN 260
-#define SEP '/'
-#define ALTSEP '\\'
-#else
-#define SEP '\\'
-#define ALTSEP '/'
-#define MAXPATHLEN 256
-#endif
-#define DELIM ';'
-#endif
-#endif
-
-#ifdef RISCOS
-#define SEP '.'
-#define MAXPATHLEN 256
-#define DELIM ','
-#endif
-
-
-/* Filename separator */
-#ifndef SEP
-#define SEP '/'
-#endif
-
-/* Max pathname length */
-#ifdef __hpux
-#include <sys/param.h>
-#include <limits.h>
-#ifndef PATH_MAX
-#define PATH_MAX MAXPATHLEN
-#endif
-#endif
-
-#ifndef MAXPATHLEN
-#if defined(PATH_MAX) && PATH_MAX > 1024
-#define MAXPATHLEN PATH_MAX
-#else
-#define MAXPATHLEN 1024
-#endif
-#endif
-
-/* Search path entry delimiter */
-#ifndef DELIM
-#define DELIM ':'
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OSDEFS_H */

+ 0 - 64
esp8266/eproj1/eproj1Venv/include/python2.7/parsetok.h

@@ -1,64 +0,0 @@
-
-/* Parser-tokenizer link interface */
-
-#ifndef Py_PARSETOK_H
-#define Py_PARSETOK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    int error;
-    const char *filename;
-    int lineno;
-    int offset;
-    char *text;
-    int token;
-    int expected;
-} perrdetail;
-
-#if 0
-#define PyPARSE_YIELD_IS_KEYWORD	0x0001
-#endif
-
-#define PyPARSE_DONT_IMPLY_DEDENT	0x0002
-
-#if 0
-#define PyPARSE_WITH_IS_KEYWORD		0x0003
-#endif
-
-#define PyPARSE_PRINT_IS_FUNCTION       0x0004
-#define PyPARSE_UNICODE_LITERALS        0x0008
-
-
-
-PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
-                                              perrdetail *);
-PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
-                                             char *, char *, perrdetail *);
-
-PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
-                                              perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *,
-						 int, char *, char *,
-						 perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(FILE *, const char *, grammar *,
-						 int, char *, char *,
-						 perrdetail *, int *);
-
-PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *,
-					      const char *,
-					      grammar *, int,
-                                              perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(const char *,
-					      const char *,
-					      grammar *, int,
-                                              perrdetail *, int *);
-
-/* Note that he following function is defined in pythonrun.c not parsetok.c. */
-PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PARSETOK_H */

+ 0 - 43
esp8266/eproj1/eproj1Venv/include/python2.7/patchlevel.h

@@ -1,43 +0,0 @@
-
-/* Newfangled version identification scheme.
-
-   This scheme was added in Python 1.5.2b2; before that time, only PATCHLEVEL
-   was available.  To test for presence of the scheme, test for
-   defined(PY_MAJOR_VERSION).
-
-   When the major or minor version changes, the VERSION variable in
-   configure.ac must also be changed.
-
-   There is also (independent) API version information in modsupport.h.
-*/
-
-/* Values for PY_RELEASE_LEVEL */
-#define PY_RELEASE_LEVEL_ALPHA	0xA
-#define PY_RELEASE_LEVEL_BETA	0xB
-#define PY_RELEASE_LEVEL_GAMMA	0xC     /* For release candidates */
-#define PY_RELEASE_LEVEL_FINAL	0xF	/* Serial should be 0 here */
-					/* Higher for patch releases */
-
-/* Version parsed out into numeric values */
-/*--start constants--*/
-#define PY_MAJOR_VERSION	2
-#define PY_MINOR_VERSION	7
-#define PY_MICRO_VERSION	12
-#define PY_RELEASE_LEVEL	PY_RELEASE_LEVEL_FINAL
-#define PY_RELEASE_SERIAL	0
-
-/* Version as a string */
-#define PY_VERSION      	"2.7.12"
-/*--end constants--*/
-
-/* Subversion Revision number of this file (not of the repository). Empty
-   since Mercurial migration. */
-#define PY_PATCHLEVEL_REVISION  ""
-
-/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
-   Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
-#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \
-			(PY_MINOR_VERSION << 16) | \
-			(PY_MICRO_VERSION <<  8) | \
-			(PY_RELEASE_LEVEL <<  4) | \
-			(PY_RELEASE_SERIAL << 0))

+ 0 - 18
esp8266/eproj1/eproj1Venv/include/python2.7/pgen.h

@@ -1,18 +0,0 @@
-#ifndef Py_PGEN_H
-#define Py_PGEN_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Parser generator interface */
-
-extern grammar *meta_grammar(void);
-
-struct _node;
-extern grammar *pgen(struct _node *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PGEN_H */

部分文件因为文件数量过多而无法显示