Cython 3.2.0__cp39-abi3-win_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Cython/Build/BuildExecutable.py +169 -0
- Cython/Build/Cache.py +199 -0
- Cython/Build/Cythonize.py +350 -0
- Cython/Build/Dependencies.py +1314 -0
- Cython/Build/Distutils.py +1 -0
- Cython/Build/Inline.py +463 -0
- Cython/Build/IpythonMagic.py +560 -0
- Cython/Build/SharedModule.py +94 -0
- Cython/Build/Tests/TestCyCache.py +194 -0
- Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
- Cython/Build/Tests/TestDependencies.py +133 -0
- Cython/Build/Tests/TestInline.py +177 -0
- Cython/Build/Tests/TestIpythonMagic.py +287 -0
- Cython/Build/Tests/TestRecythonize.py +212 -0
- Cython/Build/Tests/TestStripLiterals.py +155 -0
- Cython/Build/Tests/__init__.py +1 -0
- Cython/Build/__init__.py +11 -0
- Cython/CodeWriter.py +815 -0
- Cython/Compiler/AnalysedTreeTransforms.py +97 -0
- Cython/Compiler/Annotate.py +328 -0
- Cython/Compiler/AutoDocTransforms.py +320 -0
- Cython/Compiler/Buffer.py +680 -0
- Cython/Compiler/Builtin.py +984 -0
- Cython/Compiler/CmdLine.py +263 -0
- Cython/Compiler/Code.pxd +149 -0
- Cython/Compiler/Code.py +3746 -0
- Cython/Compiler/Code.pyd +0 -0
- Cython/Compiler/CodeGeneration.py +33 -0
- Cython/Compiler/CythonScope.py +191 -0
- Cython/Compiler/Dataclass.py +864 -0
- Cython/Compiler/DebugFlags.py +24 -0
- Cython/Compiler/Errors.py +297 -0
- Cython/Compiler/ExprNodes.py +15562 -0
- Cython/Compiler/FlowControl.pxd +97 -0
- Cython/Compiler/FlowControl.py +1451 -0
- Cython/Compiler/FlowControl.pyd +0 -0
- Cython/Compiler/FusedNode.py +971 -0
- Cython/Compiler/FusedNode.pyd +0 -0
- Cython/Compiler/Future.py +16 -0
- Cython/Compiler/Interpreter.py +57 -0
- Cython/Compiler/Lexicon.py +421 -0
- Cython/Compiler/LineTable.py +114 -0
- Cython/Compiler/LineTable.pyd +0 -0
- Cython/Compiler/Main.py +857 -0
- Cython/Compiler/MatchCaseNodes.py +259 -0
- Cython/Compiler/MemoryView.py +905 -0
- Cython/Compiler/ModuleNode.py +4235 -0
- Cython/Compiler/Naming.py +363 -0
- Cython/Compiler/Nodes.py +10831 -0
- Cython/Compiler/Optimize.py +5288 -0
- Cython/Compiler/Options.py +843 -0
- Cython/Compiler/ParseTreeTransforms.pxd +78 -0
- Cython/Compiler/ParseTreeTransforms.py +4638 -0
- Cython/Compiler/Parsing.pxd +9 -0
- Cython/Compiler/Parsing.py +4775 -0
- Cython/Compiler/Parsing.pyd +0 -0
- Cython/Compiler/Pipeline.py +439 -0
- Cython/Compiler/PyrexTypes.py +5870 -0
- Cython/Compiler/Pythran.py +232 -0
- Cython/Compiler/Scanning.pxd +48 -0
- Cython/Compiler/Scanning.py +701 -0
- Cython/Compiler/Scanning.pyd +0 -0
- Cython/Compiler/StringEncoding.py +298 -0
- Cython/Compiler/Symtab.py +3073 -0
- Cython/Compiler/Tests/TestBuffer.py +105 -0
- Cython/Compiler/Tests/TestBuiltin.py +72 -0
- Cython/Compiler/Tests/TestCmdLine.py +586 -0
- Cython/Compiler/Tests/TestCode.py +144 -0
- Cython/Compiler/Tests/TestFlowControl.py +65 -0
- Cython/Compiler/Tests/TestGrammar.py +202 -0
- Cython/Compiler/Tests/TestMemView.py +71 -0
- Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
- Cython/Compiler/Tests/TestScanning.py +134 -0
- Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
- Cython/Compiler/Tests/TestStringEncoding.py +21 -0
- Cython/Compiler/Tests/TestTreeFragment.py +63 -0
- Cython/Compiler/Tests/TestTreePath.py +103 -0
- Cython/Compiler/Tests/TestTypes.py +75 -0
- Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
- Cython/Compiler/Tests/TestVisitor.py +61 -0
- Cython/Compiler/Tests/Utils.py +36 -0
- Cython/Compiler/Tests/__init__.py +1 -0
- Cython/Compiler/TreeFragment.py +278 -0
- Cython/Compiler/TreePath.py +303 -0
- Cython/Compiler/TypeInference.py +591 -0
- Cython/Compiler/TypeSlots.py +1174 -0
- Cython/Compiler/UFuncs.py +311 -0
- Cython/Compiler/UtilNodes.py +389 -0
- Cython/Compiler/UtilityCode.py +344 -0
- Cython/Compiler/Version.py +8 -0
- Cython/Compiler/Visitor.pxd +53 -0
- Cython/Compiler/Visitor.py +861 -0
- Cython/Compiler/Visitor.pyd +0 -0
- Cython/Compiler/__init__.py +1 -0
- Cython/Coverage.py +448 -0
- Cython/Debugger/Cygdb.py +177 -0
- Cython/Debugger/DebugWriter.py +82 -0
- Cython/Debugger/Tests/TestLibCython.py +275 -0
- Cython/Debugger/Tests/__init__.py +1 -0
- Cython/Debugger/Tests/cfuncs.c +8 -0
- Cython/Debugger/Tests/codefile +49 -0
- Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
- Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
- Cython/Debugger/__init__.py +1 -0
- Cython/Debugger/libcython.py +1548 -0
- Cython/Debugger/libpython.py +2821 -0
- Cython/Debugging.py +20 -0
- Cython/Distutils/__init__.py +2 -0
- Cython/Distutils/build_ext.py +139 -0
- Cython/Distutils/extension.py +96 -0
- Cython/Distutils/old_build_ext.py +351 -0
- Cython/Includes/cpython/__init__.pxd +173 -0
- Cython/Includes/cpython/array.pxd +178 -0
- Cython/Includes/cpython/bool.pxd +37 -0
- Cython/Includes/cpython/buffer.pxd +112 -0
- Cython/Includes/cpython/bytearray.pxd +33 -0
- Cython/Includes/cpython/bytes.pxd +200 -0
- Cython/Includes/cpython/cellobject.pxd +35 -0
- Cython/Includes/cpython/ceval.pxd +8 -0
- Cython/Includes/cpython/codecs.pxd +121 -0
- Cython/Includes/cpython/complex.pxd +60 -0
- Cython/Includes/cpython/contextvars.pxd +145 -0
- Cython/Includes/cpython/conversion.pxd +36 -0
- Cython/Includes/cpython/datetime.pxd +395 -0
- Cython/Includes/cpython/descr.pxd +26 -0
- Cython/Includes/cpython/dict.pxd +187 -0
- Cython/Includes/cpython/exc.pxd +263 -0
- Cython/Includes/cpython/fileobject.pxd +57 -0
- Cython/Includes/cpython/float.pxd +47 -0
- Cython/Includes/cpython/function.pxd +65 -0
- Cython/Includes/cpython/genobject.pxd +25 -0
- Cython/Includes/cpython/getargs.pxd +12 -0
- Cython/Includes/cpython/instance.pxd +25 -0
- Cython/Includes/cpython/iterator.pxd +36 -0
- Cython/Includes/cpython/iterobject.pxd +24 -0
- Cython/Includes/cpython/list.pxd +92 -0
- Cython/Includes/cpython/long.pxd +149 -0
- Cython/Includes/cpython/longintrepr.pxd +14 -0
- Cython/Includes/cpython/mapping.pxd +63 -0
- Cython/Includes/cpython/marshal.pxd +66 -0
- Cython/Includes/cpython/mem.pxd +120 -0
- Cython/Includes/cpython/memoryview.pxd +50 -0
- Cython/Includes/cpython/method.pxd +49 -0
- Cython/Includes/cpython/module.pxd +208 -0
- Cython/Includes/cpython/number.pxd +258 -0
- Cython/Includes/cpython/object.pxd +433 -0
- Cython/Includes/cpython/pycapsule.pxd +143 -0
- Cython/Includes/cpython/pylifecycle.pxd +68 -0
- Cython/Includes/cpython/pyport.pxd +8 -0
- Cython/Includes/cpython/pystate.pxd +95 -0
- Cython/Includes/cpython/pythread.pxd +53 -0
- Cython/Includes/cpython/ref.pxd +141 -0
- Cython/Includes/cpython/sequence.pxd +134 -0
- Cython/Includes/cpython/set.pxd +119 -0
- Cython/Includes/cpython/slice.pxd +70 -0
- Cython/Includes/cpython/time.pxd +129 -0
- Cython/Includes/cpython/tuple.pxd +72 -0
- Cython/Includes/cpython/type.pxd +53 -0
- Cython/Includes/cpython/unicode.pxd +639 -0
- Cython/Includes/cpython/version.pxd +32 -0
- Cython/Includes/cpython/weakref.pxd +78 -0
- Cython/Includes/libc/__init__.pxd +1 -0
- Cython/Includes/libc/complex.pxd +35 -0
- Cython/Includes/libc/errno.pxd +127 -0
- Cython/Includes/libc/float.pxd +43 -0
- Cython/Includes/libc/limits.pxd +28 -0
- Cython/Includes/libc/locale.pxd +46 -0
- Cython/Includes/libc/math.pxd +209 -0
- Cython/Includes/libc/setjmp.pxd +10 -0
- Cython/Includes/libc/signal.pxd +64 -0
- Cython/Includes/libc/stddef.pxd +9 -0
- Cython/Includes/libc/stdint.pxd +105 -0
- Cython/Includes/libc/stdio.pxd +80 -0
- Cython/Includes/libc/stdlib.pxd +72 -0
- Cython/Includes/libc/string.pxd +50 -0
- Cython/Includes/libc/threads.pxd +234 -0
- Cython/Includes/libc/time.pxd +52 -0
- Cython/Includes/libcpp/__init__.pxd +4 -0
- Cython/Includes/libcpp/algorithm.pxd +320 -0
- Cython/Includes/libcpp/any.pxd +16 -0
- Cython/Includes/libcpp/atomic.pxd +59 -0
- Cython/Includes/libcpp/barrier.pxd +22 -0
- Cython/Includes/libcpp/bit.pxd +29 -0
- Cython/Includes/libcpp/cast.pxd +12 -0
- Cython/Includes/libcpp/cmath.pxd +518 -0
- Cython/Includes/libcpp/complex.pxd +106 -0
- Cython/Includes/libcpp/condition_variable.pxd +322 -0
- Cython/Includes/libcpp/deque.pxd +165 -0
- Cython/Includes/libcpp/exception.pxd +86 -0
- Cython/Includes/libcpp/execution.pxd +15 -0
- Cython/Includes/libcpp/forward_list.pxd +63 -0
- Cython/Includes/libcpp/functional.pxd +26 -0
- Cython/Includes/libcpp/future.pxd +103 -0
- Cython/Includes/libcpp/iterator.pxd +34 -0
- Cython/Includes/libcpp/latch.pxd +17 -0
- Cython/Includes/libcpp/limits.pxd +61 -0
- Cython/Includes/libcpp/list.pxd +117 -0
- Cython/Includes/libcpp/map.pxd +252 -0
- Cython/Includes/libcpp/memory.pxd +115 -0
- Cython/Includes/libcpp/mutex.pxd +387 -0
- Cython/Includes/libcpp/numbers.pxd +15 -0
- Cython/Includes/libcpp/numeric.pxd +131 -0
- Cython/Includes/libcpp/optional.pxd +34 -0
- Cython/Includes/libcpp/pair.pxd +1 -0
- Cython/Includes/libcpp/queue.pxd +25 -0
- Cython/Includes/libcpp/random.pxd +166 -0
- Cython/Includes/libcpp/semaphore.pxd +43 -0
- Cython/Includes/libcpp/set.pxd +228 -0
- Cython/Includes/libcpp/shared_mutex.pxd +96 -0
- Cython/Includes/libcpp/span.pxd +87 -0
- Cython/Includes/libcpp/stack.pxd +11 -0
- Cython/Includes/libcpp/stop_token.pxd +117 -0
- Cython/Includes/libcpp/string.pxd +355 -0
- Cython/Includes/libcpp/string_view.pxd +183 -0
- Cython/Includes/libcpp/typeindex.pxd +15 -0
- Cython/Includes/libcpp/typeinfo.pxd +10 -0
- Cython/Includes/libcpp/unordered_map.pxd +193 -0
- Cython/Includes/libcpp/unordered_set.pxd +152 -0
- Cython/Includes/libcpp/utility.pxd +30 -0
- Cython/Includes/libcpp/vector.pxd +186 -0
- Cython/Includes/numpy/math.pxd +150 -0
- Cython/Includes/openmp.pxd +50 -0
- Cython/Includes/posix/__init__.pxd +1 -0
- Cython/Includes/posix/dlfcn.pxd +14 -0
- Cython/Includes/posix/fcntl.pxd +86 -0
- Cython/Includes/posix/ioctl.pxd +4 -0
- Cython/Includes/posix/mman.pxd +101 -0
- Cython/Includes/posix/resource.pxd +57 -0
- Cython/Includes/posix/select.pxd +21 -0
- Cython/Includes/posix/signal.pxd +73 -0
- Cython/Includes/posix/stat.pxd +98 -0
- Cython/Includes/posix/stdio.pxd +37 -0
- Cython/Includes/posix/stdlib.pxd +29 -0
- Cython/Includes/posix/strings.pxd +9 -0
- Cython/Includes/posix/time.pxd +71 -0
- Cython/Includes/posix/types.pxd +30 -0
- Cython/Includes/posix/uio.pxd +26 -0
- Cython/Includes/posix/unistd.pxd +271 -0
- Cython/Includes/posix/wait.pxd +38 -0
- Cython/Plex/Actions.pxd +24 -0
- Cython/Plex/Actions.py +119 -0
- Cython/Plex/Actions.pyd +0 -0
- Cython/Plex/DFA.pxd +14 -0
- Cython/Plex/DFA.py +164 -0
- Cython/Plex/DFA.pyd +0 -0
- Cython/Plex/Errors.py +48 -0
- Cython/Plex/Lexicons.py +178 -0
- Cython/Plex/Machines.pxd +36 -0
- Cython/Plex/Machines.py +238 -0
- Cython/Plex/Machines.pyd +0 -0
- Cython/Plex/Regexps.py +535 -0
- Cython/Plex/Scanners.pxd +45 -0
- Cython/Plex/Scanners.py +328 -0
- Cython/Plex/Scanners.pyd +0 -0
- Cython/Plex/Transitions.pxd +14 -0
- Cython/Plex/Transitions.py +239 -0
- Cython/Plex/Transitions.pyd +0 -0
- Cython/Plex/__init__.py +34 -0
- Cython/Runtime/__init__.py +1 -0
- Cython/Runtime/refnanny.pyd +0 -0
- Cython/Runtime/refnanny.pyx +237 -0
- Cython/Shadow.py +690 -0
- Cython/Shadow.pyi +521 -0
- Cython/StringIOTree.py +170 -0
- Cython/StringIOTree.pyd +0 -0
- Cython/Tempita/__init__.py +4 -0
- Cython/Tempita/_looper.py +154 -0
- Cython/Tempita/_tempita.py +1091 -0
- Cython/Tempita/_tempita.pyd +0 -0
- Cython/TestUtils.py +422 -0
- Cython/Tests/TestCodeWriter.py +128 -0
- Cython/Tests/TestCythonUtils.py +202 -0
- Cython/Tests/TestJediTyper.py +223 -0
- Cython/Tests/TestShadow.py +114 -0
- Cython/Tests/TestStringIOTree.py +67 -0
- Cython/Tests/TestTestUtils.py +90 -0
- Cython/Tests/__init__.py +1 -0
- Cython/Tests/xmlrunner.py +390 -0
- Cython/Utility/AsyncGen.c +1031 -0
- Cython/Utility/Buffer.c +865 -0
- Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
- Cython/Utility/Builtins.c +810 -0
- Cython/Utility/CConvert.pyx +134 -0
- Cython/Utility/CMath.c +104 -0
- Cython/Utility/CommonStructures.c +226 -0
- Cython/Utility/Complex.c +378 -0
- Cython/Utility/Coroutine.c +2300 -0
- Cython/Utility/CpdefEnums.pyx +103 -0
- Cython/Utility/CppConvert.pyx +282 -0
- Cython/Utility/CppSupport.cpp +151 -0
- Cython/Utility/CythonFunction.c +1832 -0
- Cython/Utility/Dataclasses.c +101 -0
- Cython/Utility/Embed.c +121 -0
- Cython/Utility/Exceptions.c +1016 -0
- Cython/Utility/ExtensionTypes.c +996 -0
- Cython/Utility/FunctionArguments.c +1043 -0
- Cython/Utility/FusedFunction.pyx +44 -0
- Cython/Utility/ImportExport.c +907 -0
- Cython/Utility/MemoryView.pxd +188 -0
- Cython/Utility/MemoryView.pyx +1482 -0
- Cython/Utility/MemoryView_C.c +927 -0
- Cython/Utility/ModuleSetupCode.c +3203 -0
- Cython/Utility/NumpyImportArray.c +46 -0
- Cython/Utility/ObjectHandling.c +3273 -0
- Cython/Utility/Optimize.c +1603 -0
- Cython/Utility/Overflow.c +384 -0
- Cython/Utility/Printing.c +86 -0
- Cython/Utility/Profile.c +732 -0
- Cython/Utility/StringTools.c +1379 -0
- Cython/Utility/Synchronization.c +399 -0
- Cython/Utility/TString.c +356 -0
- Cython/Utility/TestCyUtilityLoader.pyx +8 -0
- Cython/Utility/TestCythonScope.pyx +75 -0
- Cython/Utility/TestUtilityLoader.c +12 -0
- Cython/Utility/TypeConversion.c +1385 -0
- Cython/Utility/UFuncs.pyx +50 -0
- Cython/Utility/UFuncs_C.c +89 -0
- Cython/Utility/__init__.py +28 -0
- Cython/Utility/arrayarray.h +167 -0
- Cython/Utils.py +687 -0
- Cython/Utils.pyd +0 -0
- Cython/__init__.py +10 -0
- Cython/__init__.pyi +7 -0
- Cython/py.typed +0 -0
- cython-3.2.0.dist-info/METADATA +85 -0
- cython-3.2.0.dist-info/RECORD +333 -0
- cython-3.2.0.dist-info/WHEEL +5 -0
- cython-3.2.0.dist-info/entry_points.txt +4 -0
- cython-3.2.0.dist-info/top_level.txt +3 -0
- cython.py +29 -0
- pyximport/__init__.py +4 -0
- pyximport/pyxbuild.py +160 -0
- pyximport/pyximport.py +482 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#################### FromPyStructUtility ####################
|
|
2
|
+
|
|
3
|
+
cdef extern from *:
|
|
4
|
+
ctypedef struct PyTypeObject:
|
|
5
|
+
char* tp_name
|
|
6
|
+
PyTypeObject *Py_TYPE(obj)
|
|
7
|
+
bint PyMapping_Check(obj)
|
|
8
|
+
object PyErr_Format(exc, const char *format, ...)
|
|
9
|
+
int __Pyx_RaiseUnexpectedTypeError(const char *expected, object obj) except 0
|
|
10
|
+
|
|
11
|
+
@cname("{{funcname}}")
|
|
12
|
+
cdef {{struct_type}} {{funcname}}(obj) except *:
|
|
13
|
+
cdef {{struct_type}} result
|
|
14
|
+
if not PyMapping_Check(obj):
|
|
15
|
+
__Pyx_RaiseUnexpectedTypeError(b"a mapping", obj)
|
|
16
|
+
|
|
17
|
+
{{for member in var_entries:}}
|
|
18
|
+
try:
|
|
19
|
+
value = obj['{{member.name}}']
|
|
20
|
+
except KeyError:
|
|
21
|
+
raise ValueError("No value specified for struct attribute '{{member.name}}'")
|
|
22
|
+
result.{{member.name}} = value
|
|
23
|
+
{{endfor}}
|
|
24
|
+
return result
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
#################### FromPyUnionUtility ####################
|
|
28
|
+
|
|
29
|
+
cdef extern from *:
|
|
30
|
+
ctypedef struct PyTypeObject:
|
|
31
|
+
char* tp_name
|
|
32
|
+
PyTypeObject *Py_TYPE(obj)
|
|
33
|
+
bint PyMapping_Check(obj)
|
|
34
|
+
object PyErr_Format(exc, const char *format, ...)
|
|
35
|
+
int __Pyx_RaiseUnexpectedTypeError(const char *expected, object obj) except 0
|
|
36
|
+
|
|
37
|
+
@cname("{{funcname}}")
|
|
38
|
+
cdef {{struct_type}} {{funcname}}(obj) except *:
|
|
39
|
+
cdef {{struct_type}} result
|
|
40
|
+
cdef Py_ssize_t length
|
|
41
|
+
if not PyMapping_Check(obj):
|
|
42
|
+
__Pyx_RaiseUnexpectedTypeError(b"a mapping", obj)
|
|
43
|
+
|
|
44
|
+
last_found = None
|
|
45
|
+
length = len(obj)
|
|
46
|
+
if length:
|
|
47
|
+
{{for member in var_entries:}}
|
|
48
|
+
if '{{member.name}}' in obj:
|
|
49
|
+
if last_found is not None:
|
|
50
|
+
raise ValueError("More than one union attribute passed: '%s' and '%s'" % (last_found, '{{member.name}}'))
|
|
51
|
+
last_found = '{{member.name}}'
|
|
52
|
+
result.{{member.cname}} = obj['{{member.name}}']
|
|
53
|
+
length -= 1
|
|
54
|
+
if not length:
|
|
55
|
+
return result
|
|
56
|
+
{{endfor}}
|
|
57
|
+
if last_found is None:
|
|
58
|
+
raise ValueError("No value specified for any of the union attributes (%s)" %
|
|
59
|
+
'{{", ".join(member.name for member in var_entries)}}')
|
|
60
|
+
return result
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
#################### cfunc.to_py ####################
|
|
64
|
+
|
|
65
|
+
@cname("{{cname}}")
|
|
66
|
+
cdef object {{cname}}({{return_type.ctype}} (*f)({{ ', '.join(arg.type_cname for arg in args) }}) {{except_clause}}):
|
|
67
|
+
def wrap({{ ', '.join('{arg.ctype} {arg.name}'.format(arg=arg) for arg in args) }}):
|
|
68
|
+
"""wrap({{', '.join(('{arg.name}: {arg.type_displayname}'.format(arg=arg) if arg.type_displayname else arg.name) for arg in args)}}){{if return_type.type_displayname}} -> {{return_type.type_displayname}}{{endif}}"""
|
|
69
|
+
{{'' if return_type.type.is_void else 'return '}}f({{ ', '.join(arg.name for arg in args) }})
|
|
70
|
+
return wrap
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
#################### carray.from_py ####################
|
|
74
|
+
|
|
75
|
+
cdef extern from *:
|
|
76
|
+
object PyErr_Format(exc, const char *format, ...)
|
|
77
|
+
|
|
78
|
+
@cname("{{cname}}")
|
|
79
|
+
cdef int {{cname}}(object o, {{base_type}} *v, Py_ssize_t length) except -1:
|
|
80
|
+
cdef Py_ssize_t i = length
|
|
81
|
+
try:
|
|
82
|
+
i = len(o)
|
|
83
|
+
except (TypeError, OverflowError):
|
|
84
|
+
pass
|
|
85
|
+
if i == length:
|
|
86
|
+
for i, item in enumerate(o):
|
|
87
|
+
if i >= length:
|
|
88
|
+
break
|
|
89
|
+
v[i] = item
|
|
90
|
+
else:
|
|
91
|
+
i += 1 # convert index to length
|
|
92
|
+
if i == length:
|
|
93
|
+
return 0
|
|
94
|
+
|
|
95
|
+
PyErr_Format(
|
|
96
|
+
IndexError,
|
|
97
|
+
("too many values found during array assignment, expected %zd"
|
|
98
|
+
if i >= length else
|
|
99
|
+
"not enough values found during array assignment, expected %zd, got %zd"),
|
|
100
|
+
length, i)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
#################### carray.to_py ####################
|
|
104
|
+
|
|
105
|
+
cdef extern from *:
|
|
106
|
+
void Py_INCREF(object o)
|
|
107
|
+
tuple PyTuple_New(Py_ssize_t size)
|
|
108
|
+
list PyList_New(Py_ssize_t size)
|
|
109
|
+
int __Pyx_PyTuple_SET_ITEM(object p, Py_ssize_t pos, object o) except -1
|
|
110
|
+
int __Pyx_PyList_SET_ITEM(object p, Py_ssize_t pos, object o) except -1
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
@cname("{{cname}}")
|
|
114
|
+
cdef inline list {{cname}}({{base_type}} *v, Py_ssize_t length):
|
|
115
|
+
cdef Py_ssize_t i
|
|
116
|
+
cdef object value
|
|
117
|
+
l = PyList_New(length)
|
|
118
|
+
for i in range(length):
|
|
119
|
+
value = v[<size_t> i]
|
|
120
|
+
Py_INCREF(value)
|
|
121
|
+
__Pyx_PyList_SET_ITEM(l, i, value)
|
|
122
|
+
return l
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
@cname("{{to_tuple_cname}}")
|
|
126
|
+
cdef inline tuple {{to_tuple_cname}}({{base_type}} *v, Py_ssize_t length):
|
|
127
|
+
cdef Py_ssize_t i
|
|
128
|
+
cdef object value
|
|
129
|
+
t = PyTuple_New(length)
|
|
130
|
+
for i in range(length):
|
|
131
|
+
value = v[<size_t> i]
|
|
132
|
+
Py_INCREF(value)
|
|
133
|
+
__Pyx_PyTuple_SET_ITEM(t, i, value)
|
|
134
|
+
return t
|
Cython/Utility/CMath.c
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
|
|
2
|
+
/////////////// CDivisionWarning.proto ///////////////
|
|
3
|
+
|
|
4
|
+
static int __Pyx_cdivision_warning(const char *, int); /* proto */
|
|
5
|
+
|
|
6
|
+
/////////////// CDivisionWarning ///////////////
|
|
7
|
+
|
|
8
|
+
static int __Pyx_cdivision_warning(const char *filename, int lineno) {
|
|
9
|
+
#if CYTHON_COMPILING_IN_PYPY
|
|
10
|
+
// avoid compiler warnings
|
|
11
|
+
filename++; lineno++;
|
|
12
|
+
return PyErr_Warn(PyExc_RuntimeWarning,
|
|
13
|
+
"division with oppositely signed operands, C and Python semantics differ");
|
|
14
|
+
#else
|
|
15
|
+
return PyErr_WarnExplicit(PyExc_RuntimeWarning,
|
|
16
|
+
"division with oppositely signed operands, C and Python semantics differ",
|
|
17
|
+
filename,
|
|
18
|
+
lineno,
|
|
19
|
+
__Pyx_MODULE_NAME,
|
|
20
|
+
NULL);
|
|
21
|
+
#endif
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/////////////// DivInt.proto ///////////////
|
|
26
|
+
|
|
27
|
+
static CYTHON_INLINE %(type)s __Pyx_div_%(type_name)s(%(type)s, %(type)s, int b_is_constant); /* proto */
|
|
28
|
+
|
|
29
|
+
/////////////// DivInt ///////////////
|
|
30
|
+
|
|
31
|
+
static CYTHON_INLINE %(type)s __Pyx_div_%(type_name)s(%(type)s a, %(type)s b, int b_is_constant) {
|
|
32
|
+
%(type)s q = a / b;
|
|
33
|
+
%(type)s r = a - q*b;
|
|
34
|
+
%(type)s adapt_python = (b_is_constant ?
|
|
35
|
+
// Take advantage of constant folding for 'b'.
|
|
36
|
+
((r != 0) & ((r < 0) ^ (b < 0))) :
|
|
37
|
+
((r != 0) & ((r ^ b) < 0))
|
|
38
|
+
);
|
|
39
|
+
return q - adapt_python;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/////////////// ModInt.proto ///////////////
|
|
44
|
+
|
|
45
|
+
static CYTHON_INLINE %(type)s __Pyx_mod_%(type_name)s(%(type)s, %(type)s, int b_is_constant); /* proto */
|
|
46
|
+
|
|
47
|
+
/////////////// ModInt ///////////////
|
|
48
|
+
|
|
49
|
+
static CYTHON_INLINE %(type)s __Pyx_mod_%(type_name)s(%(type)s a, %(type)s b, int b_is_constant) {
|
|
50
|
+
%(type)s r = a %% b;
|
|
51
|
+
%(type)s adapt_python = (b_is_constant ?
|
|
52
|
+
// Take advantage of constant folding for 'b'.
|
|
53
|
+
((r != 0) & ((r < 0) ^ (b < 0))) :
|
|
54
|
+
((r != 0) & ((r ^ b) < 0))
|
|
55
|
+
);
|
|
56
|
+
return r + adapt_python * b;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/////////////// ModFloat.proto ///////////////
|
|
61
|
+
|
|
62
|
+
static CYTHON_INLINE %(type)s __Pyx_mod_%(type_name)s(%(type)s, %(type)s, int b_is_constant); /* proto */
|
|
63
|
+
|
|
64
|
+
/////////////// ModFloat ///////////////
|
|
65
|
+
|
|
66
|
+
static CYTHON_INLINE %(type)s __Pyx_mod_%(type_name)s(%(type)s a, %(type)s b, int b_is_constant) {
|
|
67
|
+
CYTHON_UNUSED_VAR(b_is_constant);
|
|
68
|
+
%(type)s r = fmod%(math_h_modifier)s(a, b);
|
|
69
|
+
r += ((r != 0) & ((r < 0) ^ (b < 0))) * b;
|
|
70
|
+
return r;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
/////////////// IntPow.proto ///////////////
|
|
75
|
+
|
|
76
|
+
static CYTHON_INLINE %(type)s %(func_name)s(%(type)s, %(type)s); /* proto */
|
|
77
|
+
|
|
78
|
+
/////////////// IntPow ///////////////
|
|
79
|
+
|
|
80
|
+
static CYTHON_INLINE %(type)s %(func_name)s(%(type)s b, %(type)s e) {
|
|
81
|
+
%(type)s t = b;
|
|
82
|
+
switch (e) {
|
|
83
|
+
case 3:
|
|
84
|
+
t *= b;
|
|
85
|
+
CYTHON_FALLTHROUGH;
|
|
86
|
+
case 2:
|
|
87
|
+
t *= b;
|
|
88
|
+
CYTHON_FALLTHROUGH;
|
|
89
|
+
case 1:
|
|
90
|
+
return t;
|
|
91
|
+
case 0:
|
|
92
|
+
return 1;
|
|
93
|
+
}
|
|
94
|
+
#if %(signed)s
|
|
95
|
+
if (unlikely(e<0)) return 0;
|
|
96
|
+
#endif
|
|
97
|
+
t = 1;
|
|
98
|
+
while (likely(e)) {
|
|
99
|
+
t *= (b * (e&1)) | ((~e)&1); /* 1 or b */
|
|
100
|
+
b *= b;
|
|
101
|
+
e >>= 1;
|
|
102
|
+
}
|
|
103
|
+
return t;
|
|
104
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/////////////// FetchSharedCythonModule.proto ///////
|
|
2
|
+
|
|
3
|
+
static PyObject *__Pyx_FetchSharedCythonABIModule(void);
|
|
4
|
+
|
|
5
|
+
/////////////// FetchSharedCythonModule ////////////
|
|
6
|
+
//@requires: ModuleSetupCode.c::AddModuleRef
|
|
7
|
+
|
|
8
|
+
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
|
|
9
|
+
return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/////////////// FetchCommonType.proto ///////////////
|
|
13
|
+
|
|
14
|
+
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);
|
|
15
|
+
|
|
16
|
+
/////////////// FetchCommonType ///////////////
|
|
17
|
+
//@requires:ExtensionTypes.c::FixUpExtensionType
|
|
18
|
+
//@requires: FetchSharedCythonModule
|
|
19
|
+
//@requires:StringTools.c::IncludeStringH
|
|
20
|
+
//@requires:Builtins.c::dict_setdefault
|
|
21
|
+
|
|
22
|
+
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
|
|
23
|
+
static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
|
|
24
|
+
PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
|
|
25
|
+
if (result && metaclass) {
|
|
26
|
+
PyObject *old_tp = (PyObject*)Py_TYPE(result);
|
|
27
|
+
Py_INCREF((PyObject*)metaclass);
|
|
28
|
+
#if __PYX_LIMITED_VERSION_HEX >= 0x03090000
|
|
29
|
+
Py_SET_TYPE(result, metaclass);
|
|
30
|
+
#else
|
|
31
|
+
result->ob_type = metaclass;
|
|
32
|
+
#endif
|
|
33
|
+
Py_DECREF(old_tp);
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
#else
|
|
38
|
+
#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
static int __Pyx_VerifyCachedType(PyObject *cached_type,
|
|
42
|
+
const char *name,
|
|
43
|
+
Py_ssize_t expected_basicsize) {
|
|
44
|
+
Py_ssize_t basicsize;
|
|
45
|
+
|
|
46
|
+
if (!PyType_Check(cached_type)) {
|
|
47
|
+
PyErr_Format(PyExc_TypeError,
|
|
48
|
+
"Shared Cython type %.200s is not a type object", name);
|
|
49
|
+
return -1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (expected_basicsize == 0) {
|
|
53
|
+
return 0; // size is inherited, nothing useful to check
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#if CYTHON_COMPILING_IN_LIMITED_API
|
|
57
|
+
PyObject *py_basicsize;
|
|
58
|
+
py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
|
|
59
|
+
if (unlikely(!py_basicsize)) return -1;
|
|
60
|
+
basicsize = PyLong_AsSsize_t(py_basicsize);
|
|
61
|
+
Py_DECREF(py_basicsize);
|
|
62
|
+
py_basicsize = NULL;
|
|
63
|
+
if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) return -1;
|
|
64
|
+
#else
|
|
65
|
+
basicsize = ((PyTypeObject*) cached_type)->tp_basicsize;
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
if (basicsize != expected_basicsize) {
|
|
69
|
+
PyErr_Format(PyExc_TypeError,
|
|
70
|
+
"Shared Cython type %.200s has the wrong size, try recompiling",
|
|
71
|
+
name);
|
|
72
|
+
return -1;
|
|
73
|
+
}
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
|
|
78
|
+
PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
|
|
79
|
+
int get_item_ref_result;
|
|
80
|
+
// get the final part of the object name (after the last dot)
|
|
81
|
+
const char* object_name = strrchr(spec->name, '.');
|
|
82
|
+
object_name = object_name ? object_name+1 : spec->name;
|
|
83
|
+
|
|
84
|
+
py_object_name = PyUnicode_FromString(object_name);
|
|
85
|
+
if (!py_object_name) return NULL;
|
|
86
|
+
|
|
87
|
+
abi_module = __Pyx_FetchSharedCythonABIModule();
|
|
88
|
+
if (!abi_module) goto done;
|
|
89
|
+
abi_module_dict = PyModule_GetDict(abi_module);
|
|
90
|
+
if (!abi_module_dict) goto done;
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type);
|
|
94
|
+
if (get_item_ref_result == 1) {
|
|
95
|
+
if (__Pyx_VerifyCachedType(
|
|
96
|
+
cached_type,
|
|
97
|
+
object_name,
|
|
98
|
+
spec->basicsize) < 0) {
|
|
99
|
+
goto bad;
|
|
100
|
+
}
|
|
101
|
+
goto done;
|
|
102
|
+
} else if (unlikely(get_item_ref_result == -1)) {
|
|
103
|
+
goto bad;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Without module-state, pass the ABI module reference to avoid keeping the user module alive by foreign type usages.
|
|
107
|
+
// With module-state it's important to keep the user module alive though.
|
|
108
|
+
cached_type = __Pyx_PyType_FromMetaclass(
|
|
109
|
+
metaclass,
|
|
110
|
+
CYTHON_USE_MODULE_STATE ? module : abi_module,
|
|
111
|
+
spec, bases);
|
|
112
|
+
if (unlikely(!cached_type)) goto bad;
|
|
113
|
+
if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
|
|
114
|
+
|
|
115
|
+
new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type);
|
|
116
|
+
if (unlikely(new_cached_type != cached_type)) {
|
|
117
|
+
if (unlikely(!new_cached_type)) goto bad;
|
|
118
|
+
// race to initialize it - use the value that's already been set.
|
|
119
|
+
Py_DECREF(cached_type);
|
|
120
|
+
cached_type = new_cached_type;
|
|
121
|
+
|
|
122
|
+
if (__Pyx_VerifyCachedType(
|
|
123
|
+
cached_type,
|
|
124
|
+
object_name,
|
|
125
|
+
spec->basicsize) < 0) {
|
|
126
|
+
goto bad;
|
|
127
|
+
}
|
|
128
|
+
goto done;
|
|
129
|
+
} else {
|
|
130
|
+
Py_DECREF(new_cached_type);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
done:
|
|
134
|
+
Py_XDECREF(abi_module);
|
|
135
|
+
Py_DECREF(py_object_name);
|
|
136
|
+
// NOTE: always returns owned reference, or NULL on error
|
|
137
|
+
assert(cached_type == NULL || PyType_Check(cached_type));
|
|
138
|
+
return (PyTypeObject *) cached_type;
|
|
139
|
+
|
|
140
|
+
bad:
|
|
141
|
+
Py_XDECREF(cached_type);
|
|
142
|
+
cached_type = NULL;
|
|
143
|
+
goto done;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
//////////////////// CommonTypesMetaclass.module_state_decls ////////////////////
|
|
147
|
+
|
|
148
|
+
PyTypeObject *__pyx_CommonTypesMetaclassType;
|
|
149
|
+
|
|
150
|
+
//////////////////// CommonTypesMetaclass.module_state_traverse ///////////////////
|
|
151
|
+
|
|
152
|
+
Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType);
|
|
153
|
+
|
|
154
|
+
//////////////////// CommonTypesMetaclass.module_state_clear ///////////////////
|
|
155
|
+
|
|
156
|
+
Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType);
|
|
157
|
+
|
|
158
|
+
//////////////////// CommonTypesMetaclass.init //////////////////
|
|
159
|
+
//@substitute: naming
|
|
160
|
+
|
|
161
|
+
if (likely(__pyx_CommonTypesMetaclass_init($module_cname) == 0)); else
|
|
162
|
+
|
|
163
|
+
/////////////////////////// CommonTypesMetaclass.proto ////////////////////////
|
|
164
|
+
|
|
165
|
+
static int __pyx_CommonTypesMetaclass_init(PyObject *module); /* proto */
|
|
166
|
+
|
|
167
|
+
#define __Pyx_CommonTypesMetaclass_USED
|
|
168
|
+
|
|
169
|
+
//////////////////// CommonTypesMetaclass ////////////////////
|
|
170
|
+
//@requires: FetchCommonType
|
|
171
|
+
//@substitute: naming
|
|
172
|
+
|
|
173
|
+
static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
|
|
174
|
+
return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
#if __PYX_LIMITED_VERSION_HEX < 0x030A0000
|
|
178
|
+
static PyObject* __pyx_CommonTypesMetaclass_call(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *args, CYTHON_UNUSED PyObject *kwds) {
|
|
179
|
+
PyErr_SetString(PyExc_TypeError, "Cannot instantiate Cython internal types");
|
|
180
|
+
return NULL;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
static int __pyx_CommonTypesMetaclass_setattr(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *attr, CYTHON_UNUSED PyObject *value) {
|
|
184
|
+
PyErr_SetString(PyExc_TypeError, "Cython internal types are immutable");
|
|
185
|
+
return -1;
|
|
186
|
+
}
|
|
187
|
+
#endif
|
|
188
|
+
|
|
189
|
+
static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
|
|
190
|
+
{"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
|
|
191
|
+
{0, 0, 0, 0, 0}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
|
|
195
|
+
{Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset},
|
|
196
|
+
#if __PYX_LIMITED_VERSION_HEX < 0x030A0000
|
|
197
|
+
{Py_tp_call, (void*)__pyx_CommonTypesMetaclass_call},
|
|
198
|
+
{Py_tp_new, (void*)__pyx_CommonTypesMetaclass_call},
|
|
199
|
+
{Py_tp_setattro, (void*)__pyx_CommonTypesMetaclass_setattr},
|
|
200
|
+
#endif
|
|
201
|
+
{0, 0}
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
|
|
205
|
+
__PYX_TYPE_MODULE_PREFIX "_common_types_metatype",
|
|
206
|
+
0,
|
|
207
|
+
0,
|
|
208
|
+
Py_TPFLAGS_IMMUTABLETYPE |
|
|
209
|
+
Py_TPFLAGS_DISALLOW_INSTANTIATION |
|
|
210
|
+
Py_TPFLAGS_DEFAULT, /*tp_flags*/
|
|
211
|
+
__pyx_CommonTypesMetaclass_slots
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
|
|
215
|
+
$modulestatetype_cname *mstate = __Pyx_PyModule_GetState(module);
|
|
216
|
+
PyObject *bases = PyTuple_Pack(1, &PyType_Type);
|
|
217
|
+
if (unlikely(!bases)) {
|
|
218
|
+
return -1;
|
|
219
|
+
}
|
|
220
|
+
mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
|
|
221
|
+
Py_DECREF(bases);
|
|
222
|
+
if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
|
|
223
|
+
return -1;
|
|
224
|
+
}
|
|
225
|
+
return 0;
|
|
226
|
+
}
|