Cython 3.2.0__cp39-abi3-win32.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.
Files changed (333) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +350 -0
  4. Cython/Build/Dependencies.py +1314 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +463 -0
  7. Cython/Build/IpythonMagic.py +560 -0
  8. Cython/Build/SharedModule.py +94 -0
  9. Cython/Build/Tests/TestCyCache.py +194 -0
  10. Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
  11. Cython/Build/Tests/TestDependencies.py +133 -0
  12. Cython/Build/Tests/TestInline.py +177 -0
  13. Cython/Build/Tests/TestIpythonMagic.py +287 -0
  14. Cython/Build/Tests/TestRecythonize.py +212 -0
  15. Cython/Build/Tests/TestStripLiterals.py +155 -0
  16. Cython/Build/Tests/__init__.py +1 -0
  17. Cython/Build/__init__.py +11 -0
  18. Cython/CodeWriter.py +815 -0
  19. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  20. Cython/Compiler/Annotate.py +328 -0
  21. Cython/Compiler/AutoDocTransforms.py +320 -0
  22. Cython/Compiler/Buffer.py +680 -0
  23. Cython/Compiler/Builtin.py +984 -0
  24. Cython/Compiler/CmdLine.py +263 -0
  25. Cython/Compiler/Code.pxd +149 -0
  26. Cython/Compiler/Code.py +3746 -0
  27. Cython/Compiler/Code.pyd +0 -0
  28. Cython/Compiler/CodeGeneration.py +33 -0
  29. Cython/Compiler/CythonScope.py +191 -0
  30. Cython/Compiler/Dataclass.py +864 -0
  31. Cython/Compiler/DebugFlags.py +24 -0
  32. Cython/Compiler/Errors.py +297 -0
  33. Cython/Compiler/ExprNodes.py +15562 -0
  34. Cython/Compiler/FlowControl.pxd +97 -0
  35. Cython/Compiler/FlowControl.py +1451 -0
  36. Cython/Compiler/FlowControl.pyd +0 -0
  37. Cython/Compiler/FusedNode.py +971 -0
  38. Cython/Compiler/FusedNode.pyd +0 -0
  39. Cython/Compiler/Future.py +16 -0
  40. Cython/Compiler/Interpreter.py +57 -0
  41. Cython/Compiler/Lexicon.py +421 -0
  42. Cython/Compiler/LineTable.py +114 -0
  43. Cython/Compiler/LineTable.pyd +0 -0
  44. Cython/Compiler/Main.py +857 -0
  45. Cython/Compiler/MatchCaseNodes.py +259 -0
  46. Cython/Compiler/MemoryView.py +905 -0
  47. Cython/Compiler/ModuleNode.py +4235 -0
  48. Cython/Compiler/Naming.py +363 -0
  49. Cython/Compiler/Nodes.py +10831 -0
  50. Cython/Compiler/Optimize.py +5288 -0
  51. Cython/Compiler/Options.py +843 -0
  52. Cython/Compiler/ParseTreeTransforms.pxd +78 -0
  53. Cython/Compiler/ParseTreeTransforms.py +4638 -0
  54. Cython/Compiler/Parsing.pxd +9 -0
  55. Cython/Compiler/Parsing.py +4775 -0
  56. Cython/Compiler/Parsing.pyd +0 -0
  57. Cython/Compiler/Pipeline.py +439 -0
  58. Cython/Compiler/PyrexTypes.py +5870 -0
  59. Cython/Compiler/Pythran.py +232 -0
  60. Cython/Compiler/Scanning.pxd +48 -0
  61. Cython/Compiler/Scanning.py +701 -0
  62. Cython/Compiler/Scanning.pyd +0 -0
  63. Cython/Compiler/StringEncoding.py +298 -0
  64. Cython/Compiler/Symtab.py +3073 -0
  65. Cython/Compiler/Tests/TestBuffer.py +105 -0
  66. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  67. Cython/Compiler/Tests/TestCmdLine.py +586 -0
  68. Cython/Compiler/Tests/TestCode.py +144 -0
  69. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  70. Cython/Compiler/Tests/TestGrammar.py +202 -0
  71. Cython/Compiler/Tests/TestMemView.py +71 -0
  72. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  73. Cython/Compiler/Tests/TestScanning.py +134 -0
  74. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  75. Cython/Compiler/Tests/TestStringEncoding.py +21 -0
  76. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  77. Cython/Compiler/Tests/TestTreePath.py +103 -0
  78. Cython/Compiler/Tests/TestTypes.py +75 -0
  79. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  80. Cython/Compiler/Tests/TestVisitor.py +61 -0
  81. Cython/Compiler/Tests/Utils.py +36 -0
  82. Cython/Compiler/Tests/__init__.py +1 -0
  83. Cython/Compiler/TreeFragment.py +278 -0
  84. Cython/Compiler/TreePath.py +303 -0
  85. Cython/Compiler/TypeInference.py +591 -0
  86. Cython/Compiler/TypeSlots.py +1174 -0
  87. Cython/Compiler/UFuncs.py +311 -0
  88. Cython/Compiler/UtilNodes.py +389 -0
  89. Cython/Compiler/UtilityCode.py +344 -0
  90. Cython/Compiler/Version.py +8 -0
  91. Cython/Compiler/Visitor.pxd +53 -0
  92. Cython/Compiler/Visitor.py +861 -0
  93. Cython/Compiler/Visitor.pyd +0 -0
  94. Cython/Compiler/__init__.py +1 -0
  95. Cython/Coverage.py +448 -0
  96. Cython/Debugger/Cygdb.py +177 -0
  97. Cython/Debugger/DebugWriter.py +82 -0
  98. Cython/Debugger/Tests/TestLibCython.py +275 -0
  99. Cython/Debugger/Tests/__init__.py +1 -0
  100. Cython/Debugger/Tests/cfuncs.c +8 -0
  101. Cython/Debugger/Tests/codefile +49 -0
  102. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  103. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  104. Cython/Debugger/__init__.py +1 -0
  105. Cython/Debugger/libcython.py +1548 -0
  106. Cython/Debugger/libpython.py +2821 -0
  107. Cython/Debugging.py +20 -0
  108. Cython/Distutils/__init__.py +2 -0
  109. Cython/Distutils/build_ext.py +139 -0
  110. Cython/Distutils/extension.py +96 -0
  111. Cython/Distutils/old_build_ext.py +351 -0
  112. Cython/Includes/cpython/__init__.pxd +173 -0
  113. Cython/Includes/cpython/array.pxd +178 -0
  114. Cython/Includes/cpython/bool.pxd +37 -0
  115. Cython/Includes/cpython/buffer.pxd +112 -0
  116. Cython/Includes/cpython/bytearray.pxd +33 -0
  117. Cython/Includes/cpython/bytes.pxd +200 -0
  118. Cython/Includes/cpython/cellobject.pxd +35 -0
  119. Cython/Includes/cpython/ceval.pxd +8 -0
  120. Cython/Includes/cpython/codecs.pxd +121 -0
  121. Cython/Includes/cpython/complex.pxd +60 -0
  122. Cython/Includes/cpython/contextvars.pxd +145 -0
  123. Cython/Includes/cpython/conversion.pxd +36 -0
  124. Cython/Includes/cpython/datetime.pxd +395 -0
  125. Cython/Includes/cpython/descr.pxd +26 -0
  126. Cython/Includes/cpython/dict.pxd +187 -0
  127. Cython/Includes/cpython/exc.pxd +263 -0
  128. Cython/Includes/cpython/fileobject.pxd +57 -0
  129. Cython/Includes/cpython/float.pxd +47 -0
  130. Cython/Includes/cpython/function.pxd +65 -0
  131. Cython/Includes/cpython/genobject.pxd +25 -0
  132. Cython/Includes/cpython/getargs.pxd +12 -0
  133. Cython/Includes/cpython/instance.pxd +25 -0
  134. Cython/Includes/cpython/iterator.pxd +36 -0
  135. Cython/Includes/cpython/iterobject.pxd +24 -0
  136. Cython/Includes/cpython/list.pxd +92 -0
  137. Cython/Includes/cpython/long.pxd +149 -0
  138. Cython/Includes/cpython/longintrepr.pxd +14 -0
  139. Cython/Includes/cpython/mapping.pxd +63 -0
  140. Cython/Includes/cpython/marshal.pxd +66 -0
  141. Cython/Includes/cpython/mem.pxd +120 -0
  142. Cython/Includes/cpython/memoryview.pxd +50 -0
  143. Cython/Includes/cpython/method.pxd +49 -0
  144. Cython/Includes/cpython/module.pxd +208 -0
  145. Cython/Includes/cpython/number.pxd +258 -0
  146. Cython/Includes/cpython/object.pxd +433 -0
  147. Cython/Includes/cpython/pycapsule.pxd +143 -0
  148. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  149. Cython/Includes/cpython/pyport.pxd +8 -0
  150. Cython/Includes/cpython/pystate.pxd +95 -0
  151. Cython/Includes/cpython/pythread.pxd +53 -0
  152. Cython/Includes/cpython/ref.pxd +141 -0
  153. Cython/Includes/cpython/sequence.pxd +134 -0
  154. Cython/Includes/cpython/set.pxd +119 -0
  155. Cython/Includes/cpython/slice.pxd +70 -0
  156. Cython/Includes/cpython/time.pxd +129 -0
  157. Cython/Includes/cpython/tuple.pxd +72 -0
  158. Cython/Includes/cpython/type.pxd +53 -0
  159. Cython/Includes/cpython/unicode.pxd +639 -0
  160. Cython/Includes/cpython/version.pxd +32 -0
  161. Cython/Includes/cpython/weakref.pxd +78 -0
  162. Cython/Includes/libc/__init__.pxd +1 -0
  163. Cython/Includes/libc/complex.pxd +35 -0
  164. Cython/Includes/libc/errno.pxd +127 -0
  165. Cython/Includes/libc/float.pxd +43 -0
  166. Cython/Includes/libc/limits.pxd +28 -0
  167. Cython/Includes/libc/locale.pxd +46 -0
  168. Cython/Includes/libc/math.pxd +209 -0
  169. Cython/Includes/libc/setjmp.pxd +10 -0
  170. Cython/Includes/libc/signal.pxd +64 -0
  171. Cython/Includes/libc/stddef.pxd +9 -0
  172. Cython/Includes/libc/stdint.pxd +105 -0
  173. Cython/Includes/libc/stdio.pxd +80 -0
  174. Cython/Includes/libc/stdlib.pxd +72 -0
  175. Cython/Includes/libc/string.pxd +50 -0
  176. Cython/Includes/libc/threads.pxd +234 -0
  177. Cython/Includes/libc/time.pxd +52 -0
  178. Cython/Includes/libcpp/__init__.pxd +4 -0
  179. Cython/Includes/libcpp/algorithm.pxd +320 -0
  180. Cython/Includes/libcpp/any.pxd +16 -0
  181. Cython/Includes/libcpp/atomic.pxd +59 -0
  182. Cython/Includes/libcpp/barrier.pxd +22 -0
  183. Cython/Includes/libcpp/bit.pxd +29 -0
  184. Cython/Includes/libcpp/cast.pxd +12 -0
  185. Cython/Includes/libcpp/cmath.pxd +518 -0
  186. Cython/Includes/libcpp/complex.pxd +106 -0
  187. Cython/Includes/libcpp/condition_variable.pxd +322 -0
  188. Cython/Includes/libcpp/deque.pxd +165 -0
  189. Cython/Includes/libcpp/exception.pxd +86 -0
  190. Cython/Includes/libcpp/execution.pxd +15 -0
  191. Cython/Includes/libcpp/forward_list.pxd +63 -0
  192. Cython/Includes/libcpp/functional.pxd +26 -0
  193. Cython/Includes/libcpp/future.pxd +103 -0
  194. Cython/Includes/libcpp/iterator.pxd +34 -0
  195. Cython/Includes/libcpp/latch.pxd +17 -0
  196. Cython/Includes/libcpp/limits.pxd +61 -0
  197. Cython/Includes/libcpp/list.pxd +117 -0
  198. Cython/Includes/libcpp/map.pxd +252 -0
  199. Cython/Includes/libcpp/memory.pxd +115 -0
  200. Cython/Includes/libcpp/mutex.pxd +387 -0
  201. Cython/Includes/libcpp/numbers.pxd +15 -0
  202. Cython/Includes/libcpp/numeric.pxd +131 -0
  203. Cython/Includes/libcpp/optional.pxd +34 -0
  204. Cython/Includes/libcpp/pair.pxd +1 -0
  205. Cython/Includes/libcpp/queue.pxd +25 -0
  206. Cython/Includes/libcpp/random.pxd +166 -0
  207. Cython/Includes/libcpp/semaphore.pxd +43 -0
  208. Cython/Includes/libcpp/set.pxd +228 -0
  209. Cython/Includes/libcpp/shared_mutex.pxd +96 -0
  210. Cython/Includes/libcpp/span.pxd +87 -0
  211. Cython/Includes/libcpp/stack.pxd +11 -0
  212. Cython/Includes/libcpp/stop_token.pxd +117 -0
  213. Cython/Includes/libcpp/string.pxd +355 -0
  214. Cython/Includes/libcpp/string_view.pxd +183 -0
  215. Cython/Includes/libcpp/typeindex.pxd +15 -0
  216. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  217. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  218. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  219. Cython/Includes/libcpp/utility.pxd +30 -0
  220. Cython/Includes/libcpp/vector.pxd +186 -0
  221. Cython/Includes/numpy/math.pxd +150 -0
  222. Cython/Includes/openmp.pxd +50 -0
  223. Cython/Includes/posix/__init__.pxd +1 -0
  224. Cython/Includes/posix/dlfcn.pxd +14 -0
  225. Cython/Includes/posix/fcntl.pxd +86 -0
  226. Cython/Includes/posix/ioctl.pxd +4 -0
  227. Cython/Includes/posix/mman.pxd +101 -0
  228. Cython/Includes/posix/resource.pxd +57 -0
  229. Cython/Includes/posix/select.pxd +21 -0
  230. Cython/Includes/posix/signal.pxd +73 -0
  231. Cython/Includes/posix/stat.pxd +98 -0
  232. Cython/Includes/posix/stdio.pxd +37 -0
  233. Cython/Includes/posix/stdlib.pxd +29 -0
  234. Cython/Includes/posix/strings.pxd +9 -0
  235. Cython/Includes/posix/time.pxd +71 -0
  236. Cython/Includes/posix/types.pxd +30 -0
  237. Cython/Includes/posix/uio.pxd +26 -0
  238. Cython/Includes/posix/unistd.pxd +271 -0
  239. Cython/Includes/posix/wait.pxd +38 -0
  240. Cython/Plex/Actions.pxd +24 -0
  241. Cython/Plex/Actions.py +119 -0
  242. Cython/Plex/Actions.pyd +0 -0
  243. Cython/Plex/DFA.pxd +14 -0
  244. Cython/Plex/DFA.py +164 -0
  245. Cython/Plex/DFA.pyd +0 -0
  246. Cython/Plex/Errors.py +48 -0
  247. Cython/Plex/Lexicons.py +178 -0
  248. Cython/Plex/Machines.pxd +36 -0
  249. Cython/Plex/Machines.py +238 -0
  250. Cython/Plex/Machines.pyd +0 -0
  251. Cython/Plex/Regexps.py +535 -0
  252. Cython/Plex/Scanners.pxd +45 -0
  253. Cython/Plex/Scanners.py +328 -0
  254. Cython/Plex/Scanners.pyd +0 -0
  255. Cython/Plex/Transitions.pxd +14 -0
  256. Cython/Plex/Transitions.py +239 -0
  257. Cython/Plex/Transitions.pyd +0 -0
  258. Cython/Plex/__init__.py +34 -0
  259. Cython/Runtime/__init__.py +1 -0
  260. Cython/Runtime/refnanny.pyd +0 -0
  261. Cython/Runtime/refnanny.pyx +237 -0
  262. Cython/Shadow.py +690 -0
  263. Cython/Shadow.pyi +521 -0
  264. Cython/StringIOTree.py +170 -0
  265. Cython/StringIOTree.pyd +0 -0
  266. Cython/Tempita/__init__.py +4 -0
  267. Cython/Tempita/_looper.py +154 -0
  268. Cython/Tempita/_tempita.py +1091 -0
  269. Cython/Tempita/_tempita.pyd +0 -0
  270. Cython/TestUtils.py +422 -0
  271. Cython/Tests/TestCodeWriter.py +128 -0
  272. Cython/Tests/TestCythonUtils.py +202 -0
  273. Cython/Tests/TestJediTyper.py +223 -0
  274. Cython/Tests/TestShadow.py +114 -0
  275. Cython/Tests/TestStringIOTree.py +67 -0
  276. Cython/Tests/TestTestUtils.py +90 -0
  277. Cython/Tests/__init__.py +1 -0
  278. Cython/Tests/xmlrunner.py +390 -0
  279. Cython/Utility/AsyncGen.c +1031 -0
  280. Cython/Utility/Buffer.c +865 -0
  281. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  282. Cython/Utility/Builtins.c +810 -0
  283. Cython/Utility/CConvert.pyx +134 -0
  284. Cython/Utility/CMath.c +104 -0
  285. Cython/Utility/CommonStructures.c +226 -0
  286. Cython/Utility/Complex.c +378 -0
  287. Cython/Utility/Coroutine.c +2300 -0
  288. Cython/Utility/CpdefEnums.pyx +103 -0
  289. Cython/Utility/CppConvert.pyx +282 -0
  290. Cython/Utility/CppSupport.cpp +151 -0
  291. Cython/Utility/CythonFunction.c +1832 -0
  292. Cython/Utility/Dataclasses.c +101 -0
  293. Cython/Utility/Embed.c +121 -0
  294. Cython/Utility/Exceptions.c +1016 -0
  295. Cython/Utility/ExtensionTypes.c +996 -0
  296. Cython/Utility/FunctionArguments.c +1043 -0
  297. Cython/Utility/FusedFunction.pyx +44 -0
  298. Cython/Utility/ImportExport.c +907 -0
  299. Cython/Utility/MemoryView.pxd +188 -0
  300. Cython/Utility/MemoryView.pyx +1482 -0
  301. Cython/Utility/MemoryView_C.c +927 -0
  302. Cython/Utility/ModuleSetupCode.c +3203 -0
  303. Cython/Utility/NumpyImportArray.c +46 -0
  304. Cython/Utility/ObjectHandling.c +3273 -0
  305. Cython/Utility/Optimize.c +1603 -0
  306. Cython/Utility/Overflow.c +384 -0
  307. Cython/Utility/Printing.c +86 -0
  308. Cython/Utility/Profile.c +732 -0
  309. Cython/Utility/StringTools.c +1379 -0
  310. Cython/Utility/Synchronization.c +399 -0
  311. Cython/Utility/TString.c +356 -0
  312. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  313. Cython/Utility/TestCythonScope.pyx +75 -0
  314. Cython/Utility/TestUtilityLoader.c +12 -0
  315. Cython/Utility/TypeConversion.c +1385 -0
  316. Cython/Utility/UFuncs.pyx +50 -0
  317. Cython/Utility/UFuncs_C.c +89 -0
  318. Cython/Utility/__init__.py +28 -0
  319. Cython/Utility/arrayarray.h +167 -0
  320. Cython/Utils.py +687 -0
  321. Cython/Utils.pyd +0 -0
  322. Cython/__init__.py +10 -0
  323. Cython/__init__.pyi +7 -0
  324. Cython/py.typed +0 -0
  325. cython-3.2.0.dist-info/METADATA +85 -0
  326. cython-3.2.0.dist-info/RECORD +333 -0
  327. cython-3.2.0.dist-info/WHEEL +5 -0
  328. cython-3.2.0.dist-info/entry_points.txt +4 -0
  329. cython-3.2.0.dist-info/top_level.txt +3 -0
  330. cython.py +29 -0
  331. pyximport/__init__.py +4 -0
  332. pyximport/pyxbuild.py +160 -0
  333. pyximport/pyximport.py +482 -0
@@ -0,0 +1,150 @@
1
+ # NumPy math library
2
+ #
3
+ # This exports the functionality of the NumPy core math library, aka npymath,
4
+ # which provides implementations of C99 math functions and macros for system
5
+ # with a C89 library (such as MSVC). npymath is available with NumPy >=1.3,
6
+ # although some functions will require later versions. The spacing function is
7
+ # not in C99, but comes from Fortran.
8
+ #
9
+ # On the Cython side, the npymath functions are available without the "npy_"
10
+ # prefix that they have in C, to make this is a drop-in replacement for
11
+ # libc.math. The same is true for the constants, where possible.
12
+ #
13
+ # See the NumPy documentation for linking instructions.
14
+ #
15
+ # Complex number support and NumPy 2.0 half-precision functions are currently
16
+ # not exported.
17
+ #
18
+ # Author: Lars Buitinck
19
+
20
+
21
+ # NOTE: Deprecated since Cython 3.1.
22
+ #
23
+ # This file is mostly redundant with "libc.math" which should be used instead.
24
+
25
+
26
+ from libc.math cimport (
27
+ NAN,
28
+ INFINITY,
29
+
30
+ isinf,
31
+ isfinite,
32
+ isnan,
33
+ signbit,
34
+
35
+ M_E as E,
36
+ M_LOG2E as LOG2E,
37
+ M_LOG10E as LOG10E,
38
+ M_PI as PI,
39
+ M_PI_2 as PI_2,
40
+ M_PI_4 as PI_4,
41
+ M_1_PI as NPY_1_PI,
42
+ M_2_PI as NPY_2_PI,
43
+ M_LN2 as LOGE2,
44
+ M_LN10 as LOGE10,
45
+
46
+ copysignf,
47
+ nextafterf,
48
+ copysign,
49
+ nextafter,
50
+ copysignl,
51
+ nextafterl,
52
+
53
+ sinf,
54
+ cosf,
55
+ tanf,
56
+ sinhf,
57
+ coshf,
58
+ tanhf,
59
+ fabsf,
60
+ floorf,
61
+ ceilf,
62
+ rintf,
63
+ sqrtf,
64
+ log10f,
65
+ logf,
66
+ expf,
67
+ expm1f,
68
+ asinf,
69
+ acosf,
70
+ atanf,
71
+ asinhf,
72
+ acoshf,
73
+ atanhf,
74
+ log1pf,
75
+ exp2f,
76
+ log2f,
77
+ atan2f,
78
+ hypotf,
79
+ powf,
80
+ fmodf,
81
+ modff,
82
+
83
+ sinl,
84
+ cosl,
85
+ tanl,
86
+ sinhl,
87
+ coshl,
88
+ tanhl,
89
+ fabsl,
90
+ floorl,
91
+ ceill,
92
+ rintl,
93
+ sqrtl,
94
+ log10l,
95
+ logl,
96
+ expl,
97
+ expm1l,
98
+ asinl,
99
+ acosl,
100
+ atanl,
101
+ asinhl,
102
+ acoshl,
103
+ atanhl,
104
+ log1pl,
105
+ exp2l,
106
+ log2l,
107
+ atan2l,
108
+ hypotl,
109
+ powl,
110
+ fmodl,
111
+ modfl,
112
+ )
113
+
114
+
115
+ cdef extern from "numpy/npy_math.h" nogil:
116
+ """
117
+ #ifdef _MSC_VER
118
+ #pragma message ("The 'numpy.math' import is outdated and deprecated. Use the standard 'libc.math' instead.")
119
+ #else
120
+ #warning The 'numpy.math' import is outdated and deprecated. Use the standard 'libc.math' instead.
121
+ #endif
122
+ """
123
+
124
+ # Floating-point classification
125
+ long double PZERO "NPY_PZERO" # positive zero
126
+ long double NZERO "NPY_NZERO" # negative zero
127
+
128
+ # Math constants
129
+ long double EULER "NPY_EULER" # Euler constant (gamma, 0.57721)
130
+
131
+ # Low-level floating point manipulation (NumPy >=1.4)
132
+ float spacingf "npy_spacingf"(float x)
133
+ double spacing "npy_spacing"(double x)
134
+ long double spacingl "npy_spacingl"(long double x)
135
+
136
+ # NumPy extensions
137
+ float deg2radf "npy_deg2radf"(float x)
138
+ float rad2degf "npy_rad2degf"(float x)
139
+ float logaddexpf "npy_logaddexpf"(float x, float y)
140
+ float logaddexp2f "npy_logaddexp2f"(float x, float y)
141
+
142
+ double deg2rad "npy_deg2rad"(double x)
143
+ double rad2deg "npy_rad2deg"(double x)
144
+ double logaddexp "npy_logaddexp"(double x, double y)
145
+ double logaddexp2 "npy_logaddexp2"(double x, double y)
146
+
147
+ long double deg2radl "npy_deg2radl"(long double x)
148
+ long double rad2degl "npy_rad2degl"(long double x)
149
+ long double logaddexpl "npy_logaddexpl"(long double x, long double y)
150
+ long double logaddexp2l "npy_logaddexp2l"(long double x, long double y)
@@ -0,0 +1,50 @@
1
+ cdef extern from "<omp.h>":
2
+ ctypedef struct omp_lock_t:
3
+ pass
4
+ ctypedef struct omp_nest_lock_t:
5
+ pass
6
+
7
+ ctypedef enum omp_sched_t:
8
+ omp_sched_static = 1,
9
+ omp_sched_dynamic = 2,
10
+ omp_sched_guided = 3,
11
+ omp_sched_auto = 4
12
+
13
+ extern void omp_set_num_threads(int) nogil
14
+ extern int omp_get_num_threads() nogil
15
+ extern int omp_get_max_threads() nogil
16
+ extern int omp_get_thread_num() nogil
17
+ extern int omp_get_num_procs() nogil
18
+
19
+ extern int omp_in_parallel() nogil
20
+
21
+ extern void omp_set_dynamic(int) nogil
22
+ extern int omp_get_dynamic() nogil
23
+
24
+ extern void omp_set_nested(int) nogil
25
+ extern int omp_get_nested() nogil
26
+
27
+ extern void omp_init_lock(omp_lock_t *) nogil
28
+ extern void omp_destroy_lock(omp_lock_t *) nogil
29
+ extern void omp_set_lock(omp_lock_t *) nogil
30
+ extern void omp_unset_lock(omp_lock_t *) nogil
31
+ extern int omp_test_lock(omp_lock_t *) nogil
32
+
33
+ extern void omp_init_nest_lock(omp_nest_lock_t *) nogil
34
+ extern void omp_destroy_nest_lock(omp_nest_lock_t *) nogil
35
+ extern void omp_set_nest_lock(omp_nest_lock_t *) nogil
36
+ extern void omp_unset_nest_lock(omp_nest_lock_t *) nogil
37
+ extern int omp_test_nest_lock(omp_nest_lock_t *) nogil
38
+
39
+ extern double omp_get_wtime() nogil
40
+ extern double omp_get_wtick() nogil
41
+
42
+ void omp_set_schedule(omp_sched_t, int) nogil
43
+ void omp_get_schedule(omp_sched_t *, int *) nogil
44
+ int omp_get_thread_limit() nogil
45
+ void omp_set_max_active_levels(int) nogil
46
+ int omp_get_max_active_levels() nogil
47
+ int omp_get_level() nogil
48
+ int omp_get_ancestor_thread_num(int) nogil
49
+ int omp_get_team_size(int) nogil
50
+ int omp_get_active_level() nogil
@@ -0,0 +1 @@
1
+ # empty file
@@ -0,0 +1,14 @@
1
+ # POSIX dynamic linking/loading interface.
2
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dlfcn.h.html
3
+
4
+ cdef extern from "<dlfcn.h>" nogil:
5
+ void *dlopen(const char *, int)
6
+ char *dlerror()
7
+ void *dlsym(void *, const char *)
8
+ int dlclose(void *)
9
+
10
+ enum:
11
+ RTLD_LAZY
12
+ RTLD_NOW
13
+ RTLD_GLOBAL
14
+ RTLD_LOCAL
@@ -0,0 +1,86 @@
1
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html
2
+
3
+ from posix.types cimport mode_t, off_t, pid_t
4
+
5
+ cdef extern from "<fcntl.h>" nogil:
6
+
7
+ enum: F_DUPFD
8
+ enum: F_DUPFD_CLOEXEC
9
+ enum: F_GETFD
10
+ enum: F_SETFD
11
+ enum: F_GETFL
12
+ enum: F_SETFL
13
+ enum: F_GETLK
14
+ enum: F_SETLK
15
+ enum: F_SETLKW
16
+ enum: F_GETOWN
17
+ enum: F_SETOWN
18
+
19
+ enum: FD_CLOEXEC
20
+
21
+ enum: F_RDLCK
22
+ enum: F_UNLCK
23
+ enum: F_WRLCK
24
+
25
+ enum: SEEK_SET
26
+ enum: SEEK_CUR
27
+ enum: SEEK_END
28
+
29
+ enum: O_CLOEXEC
30
+ enum: O_CREAT
31
+ enum: O_DIRECT
32
+ enum: O_DIRECTORY
33
+ enum: O_EXCL
34
+ enum: O_NOCTTY
35
+ enum: O_TRUNC
36
+ enum: O_TTY_INIT
37
+
38
+ enum: O_APPEND
39
+ enum: O_DSYNC
40
+ enum: O_NONBLOCK
41
+ enum: O_RSYNC
42
+ enum: O_SYNC
43
+
44
+ enum: O_ACCMODE # O_RDONLY|O_WRONLY|O_RDWR
45
+
46
+ enum: O_EXEC
47
+ enum: O_RDONLY
48
+ enum: O_WRONLY
49
+ enum: O_RDWR
50
+ enum: O_SEARCH
51
+
52
+ enum: AT_FDCWD
53
+ enum: AT_EACCESS
54
+ enum: AT_SYMLINK_NOFOLLOW
55
+ enum: AT_SYMLINK_FOLLOW
56
+ enum: AT_REMOVEDIR
57
+
58
+ enum: S_IFMT
59
+ enum: S_IFBLK
60
+ enum: S_IFCHR
61
+ enum: S_IFIFO
62
+ enum: S_IFREG
63
+ enum: S_IFDIR
64
+ enum: S_IFLNK
65
+ enum: S_IFSOCK
66
+
67
+ enum: POSIX_FADV_DONTNEED
68
+ enum: POSIX_FADV_NOREUSE
69
+ enum: POSIX_FADV_NORMAL
70
+ enum: POSIX_FADV_RANDOM
71
+ enum: POSIX_FADV_SEQUENTIAL
72
+ enum: POSIX_FADV_WILLNEED
73
+
74
+ struct flock:
75
+ short l_type
76
+ short l_whence
77
+ off_t l_start
78
+ off_t l_len
79
+ pid_t l_pid
80
+
81
+ int creat(const char *, mode_t)
82
+ int fcntl(int, int, ...)
83
+ int open(const char *, int, ...)
84
+ int openat(int, const char *, int, ...)
85
+ int posix_fadvise(int, off_t, off_t, int)
86
+ int posix_fallocate(int, off_t, off_t)
@@ -0,0 +1,4 @@
1
+ cdef extern from "<sys/ioctl.h>" nogil:
2
+ enum: FIONBIO
3
+
4
+ int ioctl(int fd, int request, ...)
@@ -0,0 +1,101 @@
1
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_mman.h.html
2
+ # https://man7.org/linux/man-pages/man2/mmap.2.html
3
+ # https://www.freebsd.org/cgi/man.cgi?query=mmap&sektion=2
4
+
5
+ from posix.types cimport off_t, mode_t
6
+
7
+ cdef extern from "<sys/mman.h>" nogil:
8
+ enum: PROT_EXEC # protection bits for mmap/mprotect
9
+ enum: PROT_READ
10
+ enum: PROT_WRITE
11
+ enum: PROT_NONE
12
+
13
+ enum: MAP_PRIVATE # flag bits for mmap
14
+ enum: MAP_SHARED
15
+ enum: MAP_FIXED
16
+ enum: MAP_ANON # These three are not in POSIX, but are
17
+ enum: MAP_ANONYMOUS # fairly common in spelling/semantics
18
+ enum: MAP_STACK
19
+
20
+ enum: MAP_LOCKED # Typically available only on Linux
21
+ enum: MAP_HUGETLB
22
+ enum: MAP_POPULATE
23
+ enum: MAP_NORESERVE
24
+ enum: MAP_GROWSDOWN
25
+
26
+ enum: MAP_NOCORE # Typically available only on BSD
27
+ enum: MAP_NOSYNC
28
+
29
+ void *MAP_FAILED
30
+
31
+ void *mmap(void *addr, size_t Len, int prot, int flags, int fd, off_t off)
32
+ int munmap(void *addr, size_t Len)
33
+ int mprotect(void *addr, size_t Len, int prot)
34
+
35
+ enum: MS_ASYNC
36
+ enum: MS_SYNC
37
+ enum: MS_INVALIDATE
38
+ int msync(void *addr, size_t Len, int flags)
39
+
40
+ enum: POSIX_MADV_NORMAL # POSIX advice flags
41
+ enum: POSIX_MADV_SEQUENTIAL
42
+ enum: POSIX_MADV_RANDOM
43
+ enum: POSIX_MADV_WILLNEED
44
+ enum: POSIX_MADV_DONTNEED
45
+ int posix_madvise(void *addr, size_t Len, int advice)
46
+
47
+ enum: MCL_CURRENT
48
+ enum: MCL_FUTURE
49
+ int mlock(const void *addr, size_t Len)
50
+ int munlock(const void *addr, size_t Len)
51
+ int mlockall(int flags)
52
+ int munlockall()
53
+ # Linux-specific
54
+ enum: MLOCK_ONFAULT
55
+ enum: MCL_ONFAULT
56
+ int mlock2(const void *addr, size_t len, int flags)
57
+
58
+ int shm_open(const char *name, int oflag, mode_t mode)
59
+ int shm_unlink(const char *name)
60
+
61
+ # often available
62
+ enum: MADV_NORMAL # pre-POSIX advice flags; should translate 1-1 to POSIX_*
63
+ enum: MADV_RANDOM # but in practice it is not always the same.
64
+ enum: MADV_SEQUENTIAL
65
+ enum: MADV_WILLNEED
66
+ enum: MADV_DONTNEED
67
+ enum: MADV_REMOVE # other pre-POSIX advice flags; often available
68
+ enum: MADV_DONTFORK
69
+ enum: MADV_DOFORK
70
+ enum: MADV_HWPOISON
71
+ enum: MADV_MERGEABLE,
72
+ enum: MADV_UNMERGEABLE
73
+ enum: MADV_SOFT_OFFLINE
74
+ enum: MADV_HUGEPAGE
75
+ enum: MADV_NOHUGEPAGE
76
+ enum: MADV_DONTDUMP
77
+ enum: MADV_DODUMP
78
+ enum: MADV_FREE
79
+ enum: MADV_WIPEONFORK
80
+ enum: MADV_KEEPONFORK
81
+ int madvise(void *addr, size_t Len, int advice)
82
+
83
+ # sometimes available
84
+ int mincore(void *addr, size_t Len, unsigned char *vec)
85
+
86
+ # These two are Linux specific but sometimes very efficient
87
+ void *mremap(void *old_addr, size_t old_len, size_t new_len, int flags, ...)
88
+ int remap_file_pages(void *addr, size_t Len, int prot,
89
+ size_t pgoff, int flags)
90
+
91
+ # The rare but standardized typed memory option
92
+ enum: POSIX_TYPED_MEM_ALLOCATE
93
+ enum: POSIX_TYPED_MEM_ALLOCATE_CONTIG
94
+ enum: POSIX_TYPED_MEM_MAP_ALLOCATABLE
95
+ int posix_typed_mem_open(const char *name, int oflag, int tflag)
96
+ int posix_mem_offset(const void *addr, size_t Len, off_t *off,
97
+ size_t *contig_len, int *fildes)
98
+
99
+ cdef struct posix_typed_mem_info:
100
+ size_t posix_tmi_length
101
+ int posix_typed_mem_get_info(int fildes, posix_typed_mem_info *info)
@@ -0,0 +1,57 @@
1
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html
2
+ # https://man7.org/linux/man-pages/man2/getrusage.2.html
3
+
4
+ from posix.time cimport timeval
5
+ from posix.types cimport id_t
6
+
7
+ cdef extern from "<sys/resource.h>" nogil:
8
+
9
+ enum: PRIO_PROCESS
10
+ enum: PRIO_PGRP
11
+ enum: PRIO_USER
12
+
13
+ enum: RLIM_INFINITY
14
+ enum: RLIM_SAVED_MAX
15
+ enum: RLIM_SAVED_CUR
16
+
17
+ enum: RUSAGE_SELF
18
+ enum: RUSAGE_CHILDREN
19
+
20
+ enum: RLIMIT_CORE
21
+ enum: RLIMIT_CPU
22
+ enum: RLIMIT_DATA
23
+ enum: RLIMIT_FSIZE
24
+ enum: RLIMIT_NOFILE
25
+ enum: RLIMIT_STACK
26
+ enum: RLIMIT_AS
27
+
28
+ ctypedef unsigned long rlim_t
29
+
30
+ cdef struct rlimit:
31
+ rlim_t rlim_cur
32
+ rlim_t rlim_max
33
+
34
+ cdef struct rusage:
35
+ timeval ru_utime
36
+ timeval ru_stime
37
+ # Linux-specific
38
+ long ru_maxrss
39
+ long ru_ixrss
40
+ long ru_idrss
41
+ long ru_isrss
42
+ long ru_minflt
43
+ long ru_majflt
44
+ long ru_nswap
45
+ long ru_inblock
46
+ long ru_oublock
47
+ long ru_msgsnd
48
+ long ru_msgrcv
49
+ long ru_nsignals
50
+ long ru_nvcsw
51
+ long ru_nivcsw
52
+
53
+ int getpriority(int, id_t)
54
+ int getrlimit(int, rlimit *)
55
+ int getrusage(int, rusage *)
56
+ int setpriority(int, id_t, int)
57
+ int setrlimit(int, const rlimit *)
@@ -0,0 +1,21 @@
1
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_select.h.html
2
+
3
+ from .types cimport sigset_t
4
+ from .time cimport timeval, timespec
5
+
6
+ cdef extern from "<sys/select.h>" nogil:
7
+ ctypedef struct fd_set:
8
+ pass
9
+
10
+ int FD_SETSIZE
11
+ void FD_SET(int, fd_set*)
12
+ void FD_CLR(int, fd_set*)
13
+ bint FD_ISSET(int, fd_set*)
14
+ void FD_ZERO(fd_set*)
15
+
16
+ int select(int nfds, fd_set *readfds, fd_set *writefds,
17
+ fd_set *exceptfds, timeval *timeout)
18
+
19
+ int pselect(int nfds, fd_set *readfds, fd_set *writefds,
20
+ fd_set *exceptfds, const timespec *timeout,
21
+ const sigset_t *sigmask)
@@ -0,0 +1,73 @@
1
+ # 7.14 Signal handling <signal.h>
2
+
3
+ from posix.types cimport pid_t, sigset_t, uid_t
4
+
5
+ cdef extern from "<signal.h>" nogil:
6
+
7
+ cdef union sigval:
8
+ int sival_int
9
+ void *sival_ptr
10
+
11
+ cdef struct sigevent:
12
+ int sigev_notify
13
+ int sigev_signo
14
+ sigval sigev_value
15
+ void sigev_notify_function(sigval)
16
+
17
+ ctypedef struct siginfo_t:
18
+ int si_signo
19
+ int si_code
20
+ int si_errno
21
+ pid_t si_pid
22
+ uid_t si_uid
23
+ void *si_addr
24
+ int si_status
25
+ long si_band
26
+ sigval si_value
27
+
28
+ cdef struct sigaction_t "sigaction":
29
+ void sa_handler(int)
30
+ void sa_sigaction(int, siginfo_t *, void *)
31
+ sigset_t sa_mask
32
+ int sa_flags
33
+
34
+ ctypedef struct stack_t:
35
+ void *ss_sp
36
+ int ss_flags
37
+ size_t ss_size
38
+
39
+ enum: SA_NOCLDSTOP
40
+ enum: SIG_BLOCK
41
+ enum: SIG_UNBLOCK
42
+ enum: SIG_SETMASK
43
+ enum: SA_ONSTACK
44
+ enum: SA_RESETHAND
45
+ enum: SA_RESTART
46
+ enum: SA_SIGINFO
47
+ enum: SA_NOCLDWAIT
48
+ enum: SA_NODEFER
49
+ enum: SS_ONSTACK
50
+ enum: SS_DISABLE
51
+ enum: MINSIGSTKSZ
52
+ enum: SIGSTKSZ
53
+
54
+ enum: SIGEV_NONE
55
+ enum: SIGEV_SIGNAL
56
+ enum: SIGEV_THREAD
57
+ enum: SIGEV_THREAD_ID
58
+
59
+
60
+ int kill (pid_t, int)
61
+ int killpg (pid_t, int)
62
+ int sigaction (int, const sigaction_t *, sigaction_t *)
63
+ int sigpending (sigset_t *)
64
+ int sigprocmask (int, const sigset_t *, sigset_t *)
65
+ int sigsuspend (const sigset_t *)
66
+
67
+ int sigaddset (sigset_t *, int)
68
+ int sigdelset (sigset_t *, int)
69
+ int sigemptyset (sigset_t *)
70
+ int sigfillset (sigset_t *)
71
+ int sigismember (const sigset_t *, int)
72
+
73
+ int sigaltstack(const stack_t *, stack_t *)
@@ -0,0 +1,98 @@
1
+ # https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html
2
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
3
+
4
+ from posix.types cimport (blkcnt_t, blksize_t, dev_t, gid_t, ino_t, mode_t,
5
+ nlink_t, off_t, time_t, uid_t)
6
+ from posix.time cimport timespec
7
+
8
+
9
+ cdef extern from "<sys/stat.h>" nogil:
10
+ cdef struct struct_stat "stat":
11
+ dev_t st_dev
12
+ ino_t st_ino
13
+ mode_t st_mode
14
+ nlink_t st_nlink
15
+ uid_t st_uid
16
+ gid_t st_gid
17
+ dev_t st_rdev
18
+ off_t st_size
19
+ blksize_t st_blksize
20
+ blkcnt_t st_blocks
21
+ # POSIX.1-2001
22
+ time_t st_atime
23
+ time_t st_mtime
24
+ time_t st_ctime
25
+ # POSIX.1-2008
26
+ timespec st_atim
27
+ timespec st_mtim
28
+ timespec st_ctim
29
+
30
+ # st_birthtime exists on *BSD and OS X.
31
+ # Under Linux, defining it here does not hurt. Compilation under Linux
32
+ # will only (and rightfully) fail when attempting to use the field.
33
+ time_t st_birthtime
34
+
35
+ # POSIX prescribes including both <sys/stat.h> and <unistd.h> for these
36
+ cdef extern from "<unistd.h>" nogil:
37
+ int chmod(const char *, mode_t)
38
+ int fchmod(int, mode_t)
39
+ int fchmodat(int, const char *, mode_t, int flags)
40
+
41
+ int stat(const char *, struct_stat *)
42
+ int lstat(const char *, struct_stat *)
43
+ int fstat(int, struct_stat *)
44
+ int fstatat(int, const char *, struct_stat *, int flags)
45
+
46
+ int mkdir(const char *, mode_t)
47
+ int mkdirat(int, const char *, mode_t)
48
+ int mkfifo(const char *, mode_t)
49
+ int mkfifoat(int, const char *, mode_t)
50
+ int mknod(const char *, mode_t, dev_t)
51
+ int mknodat(int, const char *, mode_t, dev_t)
52
+
53
+ int futimens(int, const timespec *)
54
+ int utimensat(int, const char *, const timespec *, int flags)
55
+
56
+ # Macros for st_mode
57
+ mode_t S_ISREG(mode_t)
58
+ mode_t S_ISDIR(mode_t)
59
+ mode_t S_ISCHR(mode_t)
60
+ mode_t S_ISBLK(mode_t)
61
+ mode_t S_ISFIFO(mode_t)
62
+ mode_t S_ISLNK(mode_t)
63
+ mode_t S_ISSOCK(mode_t)
64
+
65
+ mode_t S_IFMT
66
+ mode_t S_IFREG
67
+ mode_t S_IFDIR
68
+ mode_t S_IFCHR
69
+ mode_t S_IFBLK
70
+ mode_t S_IFIFO
71
+ mode_t S_IFLNK
72
+ mode_t S_IFSOCK
73
+
74
+ # Permissions
75
+ mode_t S_ISUID
76
+ mode_t S_ISGID
77
+ mode_t S_ISVTX
78
+
79
+ mode_t S_IRWXU
80
+ mode_t S_IRUSR
81
+ mode_t S_IWUSR
82
+ mode_t S_IXUSR
83
+
84
+ mode_t S_IRWXG
85
+ mode_t S_IRGRP
86
+ mode_t S_IWGRP
87
+ mode_t S_IXGRP
88
+
89
+ mode_t S_IRWXO
90
+ mode_t S_IROTH
91
+ mode_t S_IWOTH
92
+ mode_t S_IXOTH
93
+
94
+ # test file types
95
+ bint S_TYPEISMQ(struct_stat *buf)
96
+ bint S_TYPEISSEM(struct_stat *buf)
97
+ bint S_TYPEISSHM(struct_stat *buf)
98
+ bint S_TYPEISTMO(struct_stat *buf)
@@ -0,0 +1,37 @@
1
+ # POSIX additions to <stdio.h>.
2
+ # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdio.h.html
3
+
4
+ from libc.stdio cimport FILE
5
+ from libc.stddef cimport wchar_t
6
+ from posix.types cimport off_t
7
+
8
+ cdef extern from "<stdio.h>" nogil:
9
+ # File descriptors
10
+ FILE *fdopen(int, const char *)
11
+ int fileno(FILE *)
12
+
13
+ # Pipes
14
+ FILE *popen(const char *, const char *)
15
+ int pclose(FILE *)
16
+
17
+ # Memory streams (POSIX.2008)
18
+ FILE *fmemopen(void *, size_t, const char *)
19
+ FILE *open_memstream(char **, size_t *)
20
+ FILE *open_wmemstream(wchar_t **, size_t *)
21
+
22
+ # Seek and tell with off_t
23
+ int fseeko(FILE *, off_t, int)
24
+ off_t ftello(FILE *)
25
+
26
+ # Locking (for multithreading)
27
+ void flockfile(FILE *)
28
+ int ftrylockfile(FILE *)
29
+ void funlockfile(FILE *)
30
+ int getc_unlocked(FILE *)
31
+ int getchar_unlocked()
32
+ int putc_unlocked(int, FILE *)
33
+ int putchar_unlocked(int)
34
+
35
+ # Reading lines and records (POSIX.2008)
36
+ ssize_t getline(char **, size_t *, FILE *)
37
+ ssize_t getdelim(char **, size_t *, int, FILE *)