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,25 @@
1
+ cdef extern from "<queue>" namespace "std" nogil:
2
+ cdef cppclass queue[T]:
3
+ queue() except +
4
+ queue(queue&) except +
5
+ #queue(Container&)
6
+ T& back()
7
+ bint empty()
8
+ T& front()
9
+ void pop()
10
+ void push(T&)
11
+ size_t size()
12
+ # C++11 methods
13
+ void swap(queue&)
14
+
15
+ cdef cppclass priority_queue[T]:
16
+ priority_queue() except +
17
+ priority_queue(priority_queue&) except +
18
+ #priority_queue(Container&)
19
+ bint empty()
20
+ void pop()
21
+ void push(T&)
22
+ size_t size()
23
+ T& top()
24
+ # C++11 methods
25
+ void swap(priority_queue&)
@@ -0,0 +1,166 @@
1
+ from libc.stdint cimport uint_fast32_t, uint_fast64_t
2
+
3
+
4
+ cdef extern from "<random>" namespace "std" nogil:
5
+ cdef cppclass random_device:
6
+ ctypedef uint_fast32_t result_type
7
+ random_device() except +
8
+ result_type operator()() except +
9
+
10
+ cdef cppclass mt19937:
11
+ ctypedef uint_fast32_t result_type
12
+ mt19937() except +
13
+ mt19937(result_type seed) except +
14
+ result_type operator()() except +
15
+ result_type min() except +
16
+ result_type max() except +
17
+ void discard(size_t z) except +
18
+ void seed(result_type seed) except +
19
+
20
+ cdef cppclass mt19937_64:
21
+ ctypedef uint_fast64_t result_type
22
+
23
+ mt19937_64() except +
24
+ mt19937_64(result_type seed) except +
25
+ result_type operator()() except +
26
+ result_type min() except +
27
+ result_type max() except +
28
+ void discard(size_t z) except +
29
+ void seed(result_type seed) except +
30
+
31
+ cdef cppclass uniform_int_distribution[T]:
32
+ ctypedef T result_type
33
+ uniform_int_distribution() except +
34
+ uniform_int_distribution(T, T) except +
35
+ result_type operator()[Generator](Generator&) except +
36
+ result_type min() except +
37
+ result_type max() except +
38
+
39
+ cdef cppclass uniform_real_distribution[T]:
40
+ ctypedef T result_type
41
+ uniform_real_distribution() except +
42
+ uniform_real_distribution(T, T) except +
43
+ result_type operator()[Generator](Generator&) except +
44
+ result_type min() except +
45
+ result_type max() except +
46
+
47
+ cdef cppclass bernoulli_distribution:
48
+ ctypedef bint result_type
49
+ bernoulli_distribution() except +
50
+ bernoulli_distribution(double) except +
51
+ result_type operator()[Generator](Generator&) except +
52
+ result_type min() except +
53
+ result_type max() except +
54
+
55
+ cdef cppclass binomial_distribution[T]:
56
+ ctypedef T result_type
57
+ binomial_distribution() except +
58
+ binomial_distribution(T, double) except +
59
+ result_type operator()[Generator](Generator&) except +
60
+ result_type min() except +
61
+ result_type max() except +
62
+
63
+ cdef cppclass geometric_distribution[T]:
64
+ ctypedef T result_type
65
+ geometric_distribution() except +
66
+ geometric_distribution(double) except +
67
+ result_type operator()[Generator](Generator&) except +
68
+ result_type min() except +
69
+ result_type max() except +
70
+
71
+
72
+ cdef cppclass negative_binomial_distribution[T]:
73
+ ctypedef T result_type
74
+ negative_binomial_distribution() except +
75
+ negative_binomial_distribution(T, double) except +
76
+ result_type operator()[Generator](Generator&) except +
77
+ result_type min() except +
78
+ result_type max() except +
79
+
80
+ cdef cppclass poisson_distribution[T]:
81
+ ctypedef T result_type
82
+ poisson_distribution() except +
83
+ poisson_distribution(double) except +
84
+ result_type operator()[Generator](Generator&) except +
85
+ result_type min() except +
86
+ result_type max() except +
87
+
88
+ cdef cppclass exponential_distribution[T]:
89
+ ctypedef T result_type
90
+ exponential_distribution() except +
91
+ exponential_distribution(result_type) except +
92
+ result_type operator()[Generator](Generator&) except +
93
+ result_type min() except +
94
+ result_type max() except +
95
+
96
+ cdef cppclass gamma_distribution[T]:
97
+ ctypedef T result_type
98
+ gamma_distribution() except +
99
+ gamma_distribution(result_type, result_type) except +
100
+ result_type operator()[Generator](Generator&) except +
101
+ result_type min() except +
102
+ result_type max() except +
103
+
104
+ cdef cppclass weibull_distribution[T]:
105
+ ctypedef T result_type
106
+ weibull_distribution() except +
107
+ weibull_distribution(result_type, result_type) except +
108
+ result_type operator()[Generator](Generator&) except +
109
+ result_type min() except +
110
+ result_type max() except +
111
+
112
+ cdef cppclass extreme_value_distribution[T]:
113
+ ctypedef T result_type
114
+ extreme_value_distribution() except +
115
+ extreme_value_distribution(result_type, result_type) except +
116
+ result_type operator()[Generator](Generator&) except +
117
+ result_type min() except +
118
+ result_type max() except +
119
+
120
+ cdef cppclass normal_distribution[T]:
121
+ ctypedef T result_type
122
+ normal_distribution() except +
123
+ normal_distribution(result_type, result_type) except +
124
+ result_type operator()[Generator](Generator&) except +
125
+ result_type min() except +
126
+ result_type max() except +
127
+
128
+ cdef cppclass lognormal_distribution[T]:
129
+ ctypedef T result_type
130
+ lognormal_distribution() except +
131
+ lognormal_distribution(result_type, result_type) except +
132
+ result_type operator()[Generator](Generator&) except +
133
+ result_type min() except +
134
+ result_type max() except +
135
+
136
+ cdef cppclass chi_squared_distribution[T]:
137
+ ctypedef T result_type
138
+ chi_squared_distribution() except +
139
+ chi_squared_distribution(result_type) except +
140
+ result_type operator()[Generator](Generator&) except +
141
+ result_type min() except +
142
+ result_type max() except +
143
+
144
+ cdef cppclass cauchy_distribution[T]:
145
+ ctypedef T result_type
146
+ cauchy_distribution() except +
147
+ cauchy_distribution(result_type, result_type) except +
148
+ result_type operator()[Generator](Generator&) except +
149
+ result_type min() except +
150
+ result_type max() except +
151
+
152
+ cdef cppclass fisher_f_distribution[T]:
153
+ ctypedef T result_type
154
+ fisher_f_distribution() except +
155
+ fisher_f_distribution(result_type, result_type) except +
156
+ result_type operator()[Generator](Generator&) except +
157
+ result_type min() except +
158
+ result_type max() except +
159
+
160
+ cdef cppclass student_t_distribution[T]:
161
+ ctypedef T result_type
162
+ student_t_distribution() except +
163
+ student_t_distribution(result_type) except +
164
+ result_type operator()[Generator](Generator&) except +
165
+ result_type min() except +
166
+ result_type max() except +
@@ -0,0 +1,43 @@
1
+ from libcpp cimport bool
2
+
3
+ cdef extern from "<semaphore>" namespace "std" nogil:
4
+ # Notes on templating:
5
+ # Cython doesn't currently support non-class template types so it's
6
+ # declared here as a class template.
7
+ # counting_semaphore has a default max value anyway, so you typically
8
+ # don't need to use the templates. If you do though, then there's a
9
+ # few tricks - e.g. you can define a class with a cname of "3" for
10
+ # example.
11
+
12
+ # Note on thread-safety:
13
+ # You should use these classes without the GIL. It's very easy
14
+ # to deadlock with the GIL, and we're assuming that anyone going
15
+ # low enough level to be using semaphores doesn't want the overhead
16
+ # of Cython handling GIL safety.
17
+ cdef cppclass counting_semaphore[LeastMaxValue=*]:
18
+ counting_semaphore(ptrdiff_t desired)
19
+
20
+ void release() except+
21
+ void release(ptrdiff_t update) except+
22
+ void acquire() except+
23
+ bool try_acquire()
24
+
25
+ # unfortunately, we don't currently define chrono types
26
+ bool try_acquire_for[T](T duration) except+
27
+ bool try_acquire_until[T](T timepoint) except+
28
+
29
+ ptrdiff_t max()
30
+
31
+ cdef cppclass binary_semaphore:
32
+ binary_semaphore(ptrdiff_t desired)
33
+
34
+ void release() except+
35
+ void release(ptrdiff_t update) except+
36
+ void acquire() except+
37
+ bool try_acquire()
38
+
39
+ # unfortunately, we don't currently define chrono types
40
+ bool try_acquire_for[T](T timepoint) except+
41
+ bool try_acquire_until[T](T duration) except+
42
+
43
+ ptrdiff_t max()
@@ -0,0 +1,228 @@
1
+ from .utility cimport pair
2
+
3
+ cdef extern from "<set>" namespace "std" nogil:
4
+ cdef cppclass set[T]:
5
+ ctypedef T value_type
6
+
7
+ # these should really be allocator_type.size_type and
8
+ # allocator_type.difference_type to be true to the C++ definition
9
+ # but cython doesn't support deferred access on template arguments
10
+ ctypedef size_t size_type
11
+ ctypedef ptrdiff_t difference_type
12
+
13
+ cppclass const_iterator
14
+ cppclass iterator:
15
+ iterator() except +
16
+ iterator(iterator&) except +
17
+ value_type& operator*()
18
+ iterator operator++()
19
+ iterator operator--()
20
+ iterator operator++(int)
21
+ iterator operator--(int)
22
+ bint operator==(iterator)
23
+ bint operator==(const_iterator)
24
+ bint operator!=(iterator)
25
+ bint operator!=(const_iterator)
26
+ cppclass const_iterator:
27
+ const_iterator() except +
28
+ const_iterator(iterator&) except +
29
+ const_iterator(const_iterator&) except +
30
+ operator=(iterator&) except +
31
+ const value_type& operator*()
32
+ const_iterator operator++()
33
+ const_iterator operator--()
34
+ const_iterator operator++(int)
35
+ const_iterator operator--(int)
36
+ bint operator==(iterator)
37
+ bint operator==(const_iterator)
38
+ bint operator!=(iterator)
39
+ bint operator!=(const_iterator)
40
+
41
+ cppclass const_reverse_iterator
42
+ cppclass reverse_iterator:
43
+ reverse_iterator() except +
44
+ reverse_iterator(reverse_iterator&) except +
45
+ value_type& operator*()
46
+ reverse_iterator operator++()
47
+ reverse_iterator operator--()
48
+ reverse_iterator operator++(int)
49
+ reverse_iterator operator--(int)
50
+ bint operator==(reverse_iterator)
51
+ bint operator==(const_reverse_iterator)
52
+ bint operator!=(reverse_iterator)
53
+ bint operator!=(const_reverse_iterator)
54
+ cppclass const_reverse_iterator:
55
+ const_reverse_iterator() except +
56
+ const_reverse_iterator(reverse_iterator&) except +
57
+ operator=(reverse_iterator&) except +
58
+ const value_type& operator*()
59
+ const_reverse_iterator operator++()
60
+ const_reverse_iterator operator--()
61
+ const_reverse_iterator operator++(int)
62
+ const_reverse_iterator operator--(int)
63
+ bint operator==(reverse_iterator)
64
+ bint operator==(const_reverse_iterator)
65
+ bint operator!=(reverse_iterator)
66
+ bint operator!=(const_reverse_iterator)
67
+
68
+ set() except +
69
+ set(set&) except +
70
+ #set(key_compare&)
71
+ #set& operator=(set&)
72
+ bint operator==(set&, set&)
73
+ bint operator!=(set&, set&)
74
+ bint operator<(set&, set&)
75
+ bint operator>(set&, set&)
76
+ bint operator<=(set&, set&)
77
+ bint operator>=(set&, set&)
78
+ iterator begin()
79
+ const_iterator const_begin "begin"()
80
+ const_iterator cbegin()
81
+ void clear()
82
+ size_t count(const T&)
83
+ bint empty()
84
+ iterator end()
85
+ const_iterator const_end "end"()
86
+ const_iterator cend()
87
+ pair[iterator, iterator] equal_range(const T&)
88
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
89
+ iterator erase(iterator)
90
+ iterator const_erase "erase"(const_iterator)
91
+ iterator erase(const_iterator, const_iterator)
92
+ size_t erase(const T&)
93
+ iterator find(const T&)
94
+ const_iterator const_find "find"(const T&)
95
+ pair[iterator, bint] insert(const T&) except +
96
+ iterator insert(iterator, const T&) except +
97
+ iterator insert(const_iterator, const T&) except +
98
+ iterator const_insert "insert"(const_iterator, const T&) except +
99
+ void insert[InputIt](InputIt, InputIt) except +
100
+ #key_compare key_comp()
101
+ iterator lower_bound(const T&)
102
+ const_iterator const_lower_bound "lower_bound"(const T&)
103
+ size_t max_size()
104
+ reverse_iterator rbegin()
105
+ const_reverse_iterator const_rbegin "rbegin"()
106
+ const_reverse_iterator crbegin()
107
+ reverse_iterator rend()
108
+ const_reverse_iterator const_rend "rend"()
109
+ const_reverse_iterator crend()
110
+ size_t size()
111
+ void swap(set&)
112
+ iterator upper_bound(const T&)
113
+ const_iterator const_upper_bound "upper_bound"(const T&)
114
+ #value_compare value_comp()
115
+ # C++20
116
+ bint contains(const T&)
117
+
118
+ cdef cppclass multiset[T]:
119
+ ctypedef T value_type
120
+
121
+ # these should really be allocator_type.size_type and
122
+ # allocator_type.difference_type to be true to the C++ definition
123
+ # but cython doesn't support deferred access on template arguments
124
+ ctypedef size_t size_type
125
+ ctypedef ptrdiff_t difference_type
126
+
127
+ cppclass const_iterator
128
+ cppclass iterator:
129
+ iterator() except +
130
+ iterator(iterator&) except +
131
+ value_type& operator*()
132
+ iterator operator++()
133
+ iterator operator--()
134
+ iterator operator++(int)
135
+ iterator operator--(int)
136
+ bint operator==(iterator)
137
+ bint operator==(const_iterator)
138
+ bint operator!=(iterator)
139
+ bint operator!=(const_iterator)
140
+ cppclass const_iterator:
141
+ const_iterator() except +
142
+ const_iterator(iterator&) except +
143
+ const_iterator(const_iterator&) except +
144
+ operator=(iterator&) except +
145
+ const value_type& operator*()
146
+ const_iterator operator++()
147
+ const_iterator operator--()
148
+ const_iterator operator++(int)
149
+ const_iterator operator--(int)
150
+ bint operator==(iterator)
151
+ bint operator==(const_iterator)
152
+ bint operator!=(iterator)
153
+ bint operator!=(const_iterator)
154
+
155
+ cppclass const_reverse_iterator
156
+ cppclass reverse_iterator:
157
+ reverse_iterator() except +
158
+ reverse_iterator(reverse_iterator&) except +
159
+ value_type& operator*()
160
+ reverse_iterator operator++()
161
+ reverse_iterator operator--()
162
+ reverse_iterator operator++(int)
163
+ reverse_iterator operator--(int)
164
+ bint operator==(reverse_iterator)
165
+ bint operator==(const_reverse_iterator)
166
+ bint operator!=(reverse_iterator)
167
+ bint operator!=(const_reverse_iterator)
168
+ cppclass const_reverse_iterator:
169
+ const_reverse_iterator() except +
170
+ const_reverse_iterator(reverse_iterator&) except +
171
+ operator=(reverse_iterator&) except +
172
+ const value_type& operator*()
173
+ const_reverse_iterator operator++()
174
+ const_reverse_iterator operator--()
175
+ const_reverse_iterator operator++(int)
176
+ const_reverse_iterator operator--(int)
177
+ bint operator==(reverse_iterator)
178
+ bint operator==(const_reverse_iterator)
179
+ bint operator!=(reverse_iterator)
180
+ bint operator!=(const_reverse_iterator)
181
+
182
+ multiset() except +
183
+ multiset(multiset&) except +
184
+ #multiset(key_compare&)
185
+ #multiset& operator=(multiset&)
186
+ bint operator==(multiset&, multiset&)
187
+ bint operator!=(multiset&, multiset&)
188
+ bint operator<(multiset&, multiset&)
189
+ bint operator>(multiset&, multiset&)
190
+ bint operator<=(multiset&, multiset&)
191
+ bint operator>=(multiset&, multiset&)
192
+ iterator begin()
193
+ const_iterator const_begin "begin"()
194
+ const_iterator cbegin()
195
+ void clear()
196
+ size_t count(const T&)
197
+ bint empty()
198
+ iterator end()
199
+ const_iterator const_end "end"()
200
+ const_iterator cend()
201
+ pair[iterator, iterator] equal_range(const T&)
202
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
203
+ iterator erase(iterator)
204
+ iterator const_erase "erase"(const_iterator)
205
+ iterator erase(const_iterator, const_iterator)
206
+ size_t erase(const T&)
207
+ iterator find(const T&)
208
+ const_iterator const_find "find"(const T&)
209
+ iterator insert(const T&) except +
210
+ iterator insert(iterator, const T&) except +
211
+ iterator const_insert "insert"(const_iterator, const T&) except +
212
+ void insert[InputIt](InputIt, InputIt) except +
213
+ #key_compare key_comp()
214
+ iterator lower_bound(const T&)
215
+ const_iterator const_lower_bound "lower_bound"(const T&)
216
+ size_t max_size()
217
+ reverse_iterator rbegin()
218
+ const_reverse_iterator const_rbegin "rbegin"()
219
+ const_reverse_iterator crbegin()
220
+ reverse_iterator rend()
221
+ const_reverse_iterator const_rend "rend"()
222
+ const_reverse_iterator crend()
223
+ size_t size()
224
+ void swap(multiset&)
225
+ iterator upper_bound(const T&)
226
+ const_iterator const_upper_bound "upper_bound"(const T&)
227
+ # C++20
228
+ bint contains(const T&)
@@ -0,0 +1,96 @@
1
+ from libcpp cimport bool
2
+ from libcpp.mutex cimport defer_lock_t, defer_lock, try_to_lock_t, try_to_lock, adopt_lock_t, adopt_lock
3
+
4
+ cdef extern from "<shared_mutex>" namespace "std" nogil:
5
+ cppclass shared_mutex:
6
+ # may not be present, and we know nothing about it
7
+ cppclass native_handle_type:
8
+ pass
9
+
10
+ # We strongly recommend not calling lock with the GIL held (to avoid deadlocks)
11
+ void lock() except+
12
+ bool try_lock()
13
+ void unlock()
14
+
15
+ # We strongly recommend not calling lock_shared with the GIL held (to avoid deadlocks)
16
+ void lock_shared() except+
17
+ bool try_lock_shared()
18
+ void unlock_shared()
19
+
20
+ native_handle_type native_handle() except+
21
+
22
+ cppclass shared_timed_mutex:
23
+ # may not be present, and we know nothing about it.
24
+ # For shared_timed_mutex cppreference doesn't mention this
25
+ cppclass native_handle_type:
26
+ pass
27
+
28
+ # We strongly recommend not calling lock with the GIL held (to avoid deadlocks)
29
+ # and moderately recommend not calling the timed lock functions with the GIL either.
30
+ void lock() except+
31
+ bool try_lock()
32
+ bool try_lock_for[T](const T& duration) except+
33
+ bool try_lock_until[T](const T& time_point) except+
34
+ void unlock()
35
+
36
+ # We strongly recommend not calling lock_shared with the GIL held (to avoid deadlocks)
37
+ # and moderately recommend not calling the timed lock functions with the GIL either.
38
+ void lock_shared() except+
39
+ bool try_lock_shared()
40
+ bool try_lock_shared_for[T](const T& duration) except+
41
+ bool try_lock_shared_until[T](const T& time_point) except+
42
+ void unlock_shared()
43
+
44
+ native_handle_type native_handle() except+
45
+
46
+ # We strongly recommend not attempting to acquire a lock via a shared_lock while holding
47
+ # the GIL. Use py_safe_construct_shared_lock instead.
48
+ cppclass shared_lock[T]:
49
+ ctypedef T mutex_type
50
+ # This covers both the plain regular constructor, the 3 versions with tags
51
+ # and two std::chrono constructors. The two templated chrono versions stop
52
+ # us from declaring the overloads explicitly.
53
+ shared_lock()
54
+ shared_lock(mutex_type&, ...) except+
55
+ #shared_lock(mutex_type&, defer_lock_t)
56
+ #shared_lock(mutex_type&, try_to_lock_t) except+
57
+ ## this feels like it should be noexcept, but cppreference implies it isn't
58
+ #shared_lock(mutex_type&, adopt_lock_t) except+
59
+
60
+ # We strongly recommend not calling lock with the GIL held (to avoid deadlocks)
61
+ void lock() except+
62
+ bool try_lock() except+
63
+ bool try_lock_for[T](const T& duration) except+
64
+ bool try_lock_until[T](const T& time_point) except+
65
+ void unlock() except+
66
+
67
+ # We strongly recommend not calling lock_shared with the GIL held (to avoid deadlocks)
68
+ void swap(shared_lock& other)
69
+ # "release" is definitely not the same as unlock. Noted here because
70
+ # DW always makes this mistake and regrets it and wants to save you
71
+ # from the same fate.
72
+ mutex_type* release()
73
+
74
+ mutex_type* mutex()
75
+ bool owns_lock()
76
+ bool operator bool()
77
+
78
+ # Just to get our GIL-safe utility code
79
+ cimport libcpp.mutex as _cpp_mutex
80
+
81
+ cdef extern from *:
82
+ """
83
+ namespace {
84
+ template <typename... LockTs>
85
+ void __pyx_py_safe_std_lock(LockTs& ...locks);
86
+
87
+ template <typename MutexT>
88
+ std::shared_lock<MutexT> __pyx_py_safe_construct_shared_lock(MutexT &m) {
89
+ std::shared_lock<MutexT> l(m, std::defer_lock);
90
+ __pyx_py_safe_std_lock(l); // in mutex.pxd
91
+ return l;
92
+ }
93
+ }
94
+ """
95
+ # Construct a shared_lock while holding the GIL, without deadlock on the GIL
96
+ shared_lock[MutexT] py_safe_construct_shared_lock "__pyx_py_safe_construct_shared_lock" [MutexT](MutexT& m) except+ nogil
@@ -0,0 +1,87 @@
1
+ from libcpp.vector cimport vector
2
+
3
+ cdef extern from "<span>" namespace "std" nogil:
4
+ # Only Extent = std::dynamic_extent is supported until Cython can also
5
+ # support integer templates. See https://github.com/cython/cython/pull/426
6
+ cdef cppclass span[T]:
7
+ ctypedef T value_type
8
+ ctypedef size_t size_type
9
+ ctypedef ptrdiff_t difference_type
10
+
11
+ size_t extent
12
+
13
+ cppclass iterator:
14
+ iterator() except +
15
+ iterator(iterator&) except +
16
+ T& operator*()
17
+ iterator operator++()
18
+ iterator operator--()
19
+ iterator operator++(int)
20
+ iterator operator--(int)
21
+ iterator operator+(size_type)
22
+ iterator operator-(size_type)
23
+ difference_type operator-(iterator)
24
+ difference_type operator-(const_iterator)
25
+ bint operator==(iterator)
26
+ bint operator==(const_iterator)
27
+ bint operator!=(iterator)
28
+ bint operator!=(const_iterator)
29
+ bint operator<(iterator)
30
+ bint operator<(const_iterator)
31
+ bint operator>(iterator)
32
+ bint operator>(const_iterator)
33
+ bint operator<=(iterator)
34
+ bint operator<=(const_iterator)
35
+ bint operator>=(iterator)
36
+ bint operator>=(const_iterator)
37
+
38
+ cppclass reverse_iterator:
39
+ reverse_iterator() except +
40
+ reverse_iterator(reverse_iterator&) except +
41
+ T& operator*()
42
+ reverse_iterator operator++()
43
+ reverse_iterator operator--()
44
+ reverse_iterator operator++(int)
45
+ reverse_iterator operator--(int)
46
+ reverse_iterator operator+(size_type)
47
+ reverse_iterator operator-(size_type)
48
+ difference_type operator-(iterator)
49
+ difference_type operator-(const_iterator)
50
+ bint operator==(reverse_iterator)
51
+ bint operator==(const_reverse_iterator)
52
+ bint operator!=(reverse_iterator)
53
+ bint operator!=(const_reverse_iterator)
54
+ bint operator<(reverse_iterator)
55
+ bint operator<(const_reverse_iterator)
56
+ bint operator>(reverse_iterator)
57
+ bint operator>(const_reverse_iterator)
58
+ bint operator<=(reverse_iterator)
59
+ bint operator<=(const_reverse_iterator)
60
+ bint operator>=(reverse_iterator)
61
+ bint operator>=(const_reverse_iterator)
62
+
63
+ # const_iterator was added in C++23, so leaving it out for now
64
+
65
+ span()
66
+ span(T*, size_type) except + # span[It](It, size_type)
67
+ span(T*, T*) except + # span[It, End](It, End)
68
+ span(vector&) # span[U, N](array[T, N]& arr)
69
+ span(span&)
70
+
71
+ T& operator[](ssize_t)
72
+
73
+ T& back()
74
+ iterator begin()
75
+ T* data()
76
+ bint empty()
77
+ iterator end()
78
+ span[T] first(size_type)
79
+ T& front()
80
+ span[T] last(size_type)
81
+ reverse_iterator rbegin()
82
+ reverse_iterator rend()
83
+ size_type size()
84
+ span[T] subspan(size_type)
85
+ span[T] subspan(size_type, size_type)
86
+
87
+ cdef size_t dynamic_extent
@@ -0,0 +1,11 @@
1
+ cdef extern from "<stack>" namespace "std" nogil:
2
+ cdef cppclass stack[T]:
3
+ ctypedef T value_type
4
+ stack() except +
5
+ stack(stack&) except +
6
+ #stack(Container&)
7
+ bint empty()
8
+ void pop()
9
+ void push(T&) except +
10
+ size_t size()
11
+ T& top()