Cython 3.1.0__py3-none-any.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 (316) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +323 -0
  4. Cython/Build/Dependencies.py +1306 -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 +76 -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 +8 -0
  18. Cython/CodeWriter.py +811 -0
  19. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  20. Cython/Compiler/Annotate.py +326 -0
  21. Cython/Compiler/AutoDocTransforms.py +320 -0
  22. Cython/Compiler/Buffer.py +680 -0
  23. Cython/Compiler/Builtin.py +934 -0
  24. Cython/Compiler/CmdLine.py +259 -0
  25. Cython/Compiler/Code.pxd +148 -0
  26. Cython/Compiler/Code.py +3375 -0
  27. Cython/Compiler/CodeGeneration.py +33 -0
  28. Cython/Compiler/CythonScope.py +187 -0
  29. Cython/Compiler/Dataclass.py +868 -0
  30. Cython/Compiler/DebugFlags.py +24 -0
  31. Cython/Compiler/Errors.py +295 -0
  32. Cython/Compiler/ExprNodes.py +15267 -0
  33. Cython/Compiler/FlowControl.pxd +97 -0
  34. Cython/Compiler/FlowControl.py +1455 -0
  35. Cython/Compiler/FusedNode.py +1002 -0
  36. Cython/Compiler/Future.py +16 -0
  37. Cython/Compiler/Interpreter.py +57 -0
  38. Cython/Compiler/Lexicon.py +340 -0
  39. Cython/Compiler/LineTable.py +114 -0
  40. Cython/Compiler/Main.py +853 -0
  41. Cython/Compiler/MatchCaseNodes.py +259 -0
  42. Cython/Compiler/MemoryView.py +922 -0
  43. Cython/Compiler/ModuleNode.py +4024 -0
  44. Cython/Compiler/Naming.py +374 -0
  45. Cython/Compiler/Nodes.py +10826 -0
  46. Cython/Compiler/Optimize.py +5256 -0
  47. Cython/Compiler/Options.py +835 -0
  48. Cython/Compiler/ParseTreeTransforms.pxd +77 -0
  49. Cython/Compiler/ParseTreeTransforms.py +4509 -0
  50. Cython/Compiler/Parsing.pxd +9 -0
  51. Cython/Compiler/Parsing.py +4789 -0
  52. Cython/Compiler/Pipeline.py +439 -0
  53. Cython/Compiler/PyrexTypes.py +5762 -0
  54. Cython/Compiler/Pythran.py +232 -0
  55. Cython/Compiler/Scanning.pxd +40 -0
  56. Cython/Compiler/Scanning.py +577 -0
  57. Cython/Compiler/StringEncoding.py +347 -0
  58. Cython/Compiler/Symtab.py +3080 -0
  59. Cython/Compiler/Tests/TestBuffer.py +105 -0
  60. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  61. Cython/Compiler/Tests/TestCmdLine.py +586 -0
  62. Cython/Compiler/Tests/TestCode.py +86 -0
  63. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  64. Cython/Compiler/Tests/TestGrammar.py +202 -0
  65. Cython/Compiler/Tests/TestMemView.py +71 -0
  66. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  67. Cython/Compiler/Tests/TestScanning.py +134 -0
  68. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  69. Cython/Compiler/Tests/TestStringEncoding.py +33 -0
  70. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  71. Cython/Compiler/Tests/TestTreePath.py +103 -0
  72. Cython/Compiler/Tests/TestTypes.py +75 -0
  73. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  74. Cython/Compiler/Tests/TestVisitor.py +61 -0
  75. Cython/Compiler/Tests/Utils.py +36 -0
  76. Cython/Compiler/Tests/__init__.py +1 -0
  77. Cython/Compiler/TreeFragment.py +278 -0
  78. Cython/Compiler/TreePath.py +303 -0
  79. Cython/Compiler/TypeInference.py +584 -0
  80. Cython/Compiler/TypeSlots.py +1181 -0
  81. Cython/Compiler/UFuncs.py +311 -0
  82. Cython/Compiler/UtilNodes.py +389 -0
  83. Cython/Compiler/UtilityCode.py +344 -0
  84. Cython/Compiler/Version.py +8 -0
  85. Cython/Compiler/Visitor.pxd +53 -0
  86. Cython/Compiler/Visitor.py +861 -0
  87. Cython/Compiler/__init__.py +1 -0
  88. Cython/Coverage.py +448 -0
  89. Cython/Debugger/Cygdb.py +175 -0
  90. Cython/Debugger/DebugWriter.py +82 -0
  91. Cython/Debugger/Tests/TestLibCython.py +275 -0
  92. Cython/Debugger/Tests/__init__.py +1 -0
  93. Cython/Debugger/Tests/cfuncs.c +8 -0
  94. Cython/Debugger/Tests/codefile +49 -0
  95. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  96. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  97. Cython/Debugger/__init__.py +1 -0
  98. Cython/Debugger/libcython.py +1548 -0
  99. Cython/Debugger/libpython.py +2821 -0
  100. Cython/Debugging.py +20 -0
  101. Cython/Distutils/__init__.py +2 -0
  102. Cython/Distutils/build_ext.py +139 -0
  103. Cython/Distutils/extension.py +96 -0
  104. Cython/Distutils/old_build_ext.py +351 -0
  105. Cython/Includes/cpython/__init__.pxd +173 -0
  106. Cython/Includes/cpython/array.pxd +174 -0
  107. Cython/Includes/cpython/bool.pxd +37 -0
  108. Cython/Includes/cpython/buffer.pxd +112 -0
  109. Cython/Includes/cpython/bytearray.pxd +33 -0
  110. Cython/Includes/cpython/bytes.pxd +200 -0
  111. Cython/Includes/cpython/cellobject.pxd +35 -0
  112. Cython/Includes/cpython/ceval.pxd +8 -0
  113. Cython/Includes/cpython/codecs.pxd +121 -0
  114. Cython/Includes/cpython/complex.pxd +60 -0
  115. Cython/Includes/cpython/contextvars.pxd +145 -0
  116. Cython/Includes/cpython/conversion.pxd +36 -0
  117. Cython/Includes/cpython/datetime.pxd +395 -0
  118. Cython/Includes/cpython/descr.pxd +26 -0
  119. Cython/Includes/cpython/dict.pxd +187 -0
  120. Cython/Includes/cpython/exc.pxd +263 -0
  121. Cython/Includes/cpython/fileobject.pxd +57 -0
  122. Cython/Includes/cpython/float.pxd +47 -0
  123. Cython/Includes/cpython/function.pxd +65 -0
  124. Cython/Includes/cpython/genobject.pxd +25 -0
  125. Cython/Includes/cpython/getargs.pxd +12 -0
  126. Cython/Includes/cpython/instance.pxd +25 -0
  127. Cython/Includes/cpython/iterator.pxd +36 -0
  128. Cython/Includes/cpython/iterobject.pxd +24 -0
  129. Cython/Includes/cpython/list.pxd +92 -0
  130. Cython/Includes/cpython/long.pxd +149 -0
  131. Cython/Includes/cpython/longintrepr.pxd +14 -0
  132. Cython/Includes/cpython/mapping.pxd +63 -0
  133. Cython/Includes/cpython/marshal.pxd +66 -0
  134. Cython/Includes/cpython/mem.pxd +120 -0
  135. Cython/Includes/cpython/memoryview.pxd +50 -0
  136. Cython/Includes/cpython/method.pxd +49 -0
  137. Cython/Includes/cpython/module.pxd +208 -0
  138. Cython/Includes/cpython/number.pxd +258 -0
  139. Cython/Includes/cpython/object.pxd +433 -0
  140. Cython/Includes/cpython/pycapsule.pxd +143 -0
  141. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  142. Cython/Includes/cpython/pyport.pxd +8 -0
  143. Cython/Includes/cpython/pystate.pxd +95 -0
  144. Cython/Includes/cpython/pythread.pxd +53 -0
  145. Cython/Includes/cpython/ref.pxd +67 -0
  146. Cython/Includes/cpython/sequence.pxd +134 -0
  147. Cython/Includes/cpython/set.pxd +119 -0
  148. Cython/Includes/cpython/slice.pxd +70 -0
  149. Cython/Includes/cpython/time.pxd +129 -0
  150. Cython/Includes/cpython/tuple.pxd +72 -0
  151. Cython/Includes/cpython/type.pxd +53 -0
  152. Cython/Includes/cpython/unicode.pxd +639 -0
  153. Cython/Includes/cpython/version.pxd +32 -0
  154. Cython/Includes/cpython/weakref.pxd +78 -0
  155. Cython/Includes/libc/__init__.pxd +1 -0
  156. Cython/Includes/libc/complex.pxd +35 -0
  157. Cython/Includes/libc/errno.pxd +127 -0
  158. Cython/Includes/libc/float.pxd +43 -0
  159. Cython/Includes/libc/limits.pxd +28 -0
  160. Cython/Includes/libc/locale.pxd +46 -0
  161. Cython/Includes/libc/math.pxd +209 -0
  162. Cython/Includes/libc/setjmp.pxd +10 -0
  163. Cython/Includes/libc/signal.pxd +64 -0
  164. Cython/Includes/libc/stddef.pxd +9 -0
  165. Cython/Includes/libc/stdint.pxd +105 -0
  166. Cython/Includes/libc/stdio.pxd +80 -0
  167. Cython/Includes/libc/stdlib.pxd +72 -0
  168. Cython/Includes/libc/string.pxd +50 -0
  169. Cython/Includes/libc/threads.pxd +84 -0
  170. Cython/Includes/libc/time.pxd +51 -0
  171. Cython/Includes/libcpp/__init__.pxd +4 -0
  172. Cython/Includes/libcpp/algorithm.pxd +320 -0
  173. Cython/Includes/libcpp/any.pxd +16 -0
  174. Cython/Includes/libcpp/atomic.pxd +59 -0
  175. Cython/Includes/libcpp/barrier.pxd +22 -0
  176. Cython/Includes/libcpp/bit.pxd +29 -0
  177. Cython/Includes/libcpp/cast.pxd +12 -0
  178. Cython/Includes/libcpp/cmath.pxd +518 -0
  179. Cython/Includes/libcpp/complex.pxd +106 -0
  180. Cython/Includes/libcpp/deque.pxd +165 -0
  181. Cython/Includes/libcpp/exception.pxd +86 -0
  182. Cython/Includes/libcpp/execution.pxd +15 -0
  183. Cython/Includes/libcpp/forward_list.pxd +63 -0
  184. Cython/Includes/libcpp/functional.pxd +26 -0
  185. Cython/Includes/libcpp/future.pxd +103 -0
  186. Cython/Includes/libcpp/iterator.pxd +34 -0
  187. Cython/Includes/libcpp/latch.pxd +17 -0
  188. Cython/Includes/libcpp/limits.pxd +61 -0
  189. Cython/Includes/libcpp/list.pxd +117 -0
  190. Cython/Includes/libcpp/map.pxd +252 -0
  191. Cython/Includes/libcpp/memory.pxd +115 -0
  192. Cython/Includes/libcpp/mutex.pxd +130 -0
  193. Cython/Includes/libcpp/numbers.pxd +15 -0
  194. Cython/Includes/libcpp/numeric.pxd +131 -0
  195. Cython/Includes/libcpp/optional.pxd +34 -0
  196. Cython/Includes/libcpp/pair.pxd +1 -0
  197. Cython/Includes/libcpp/queue.pxd +25 -0
  198. Cython/Includes/libcpp/random.pxd +166 -0
  199. Cython/Includes/libcpp/semaphore.pxd +44 -0
  200. Cython/Includes/libcpp/set.pxd +228 -0
  201. Cython/Includes/libcpp/shared_mutex.pxd +72 -0
  202. Cython/Includes/libcpp/span.pxd +87 -0
  203. Cython/Includes/libcpp/stack.pxd +11 -0
  204. Cython/Includes/libcpp/stop_token.pxd +105 -0
  205. Cython/Includes/libcpp/string.pxd +355 -0
  206. Cython/Includes/libcpp/string_view.pxd +181 -0
  207. Cython/Includes/libcpp/typeindex.pxd +15 -0
  208. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  209. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  210. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  211. Cython/Includes/libcpp/utility.pxd +30 -0
  212. Cython/Includes/libcpp/vector.pxd +186 -0
  213. Cython/Includes/openmp.pxd +50 -0
  214. Cython/Includes/posix/__init__.pxd +1 -0
  215. Cython/Includes/posix/dlfcn.pxd +14 -0
  216. Cython/Includes/posix/fcntl.pxd +86 -0
  217. Cython/Includes/posix/ioctl.pxd +4 -0
  218. Cython/Includes/posix/mman.pxd +101 -0
  219. Cython/Includes/posix/resource.pxd +57 -0
  220. Cython/Includes/posix/select.pxd +21 -0
  221. Cython/Includes/posix/signal.pxd +73 -0
  222. Cython/Includes/posix/stat.pxd +98 -0
  223. Cython/Includes/posix/stdio.pxd +37 -0
  224. Cython/Includes/posix/stdlib.pxd +29 -0
  225. Cython/Includes/posix/strings.pxd +9 -0
  226. Cython/Includes/posix/time.pxd +71 -0
  227. Cython/Includes/posix/types.pxd +30 -0
  228. Cython/Includes/posix/uio.pxd +26 -0
  229. Cython/Includes/posix/unistd.pxd +271 -0
  230. Cython/Includes/posix/wait.pxd +38 -0
  231. Cython/Plex/Actions.pxd +24 -0
  232. Cython/Plex/Actions.py +119 -0
  233. Cython/Plex/DFA.pxd +14 -0
  234. Cython/Plex/DFA.py +164 -0
  235. Cython/Plex/Errors.py +48 -0
  236. Cython/Plex/Lexicons.py +178 -0
  237. Cython/Plex/Machines.pxd +36 -0
  238. Cython/Plex/Machines.py +238 -0
  239. Cython/Plex/Regexps.py +539 -0
  240. Cython/Plex/Scanners.pxd +47 -0
  241. Cython/Plex/Scanners.py +360 -0
  242. Cython/Plex/Transitions.pxd +14 -0
  243. Cython/Plex/Transitions.py +239 -0
  244. Cython/Plex/__init__.py +34 -0
  245. Cython/Runtime/__init__.py +1 -0
  246. Cython/Runtime/refnanny.pyx +237 -0
  247. Cython/Shadow.py +690 -0
  248. Cython/Shadow.pyi +521 -0
  249. Cython/StringIOTree.py +170 -0
  250. Cython/Tempita/__init__.py +4 -0
  251. Cython/Tempita/_looper.py +154 -0
  252. Cython/Tempita/_tempita.py +1091 -0
  253. Cython/TestUtils.py +410 -0
  254. Cython/Tests/TestCodeWriter.py +128 -0
  255. Cython/Tests/TestCythonUtils.py +202 -0
  256. Cython/Tests/TestJediTyper.py +223 -0
  257. Cython/Tests/TestShadow.py +114 -0
  258. Cython/Tests/TestStringIOTree.py +67 -0
  259. Cython/Tests/TestTestUtils.py +90 -0
  260. Cython/Tests/__init__.py +1 -0
  261. Cython/Tests/xmlrunner.py +390 -0
  262. Cython/Utility/AsyncGen.c +1002 -0
  263. Cython/Utility/Buffer.c +875 -0
  264. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  265. Cython/Utility/Builtins.c +776 -0
  266. Cython/Utility/CConvert.pyx +134 -0
  267. Cython/Utility/CMath.c +104 -0
  268. Cython/Utility/CommonStructures.c +118 -0
  269. Cython/Utility/Complex.c +378 -0
  270. Cython/Utility/Coroutine.c +2206 -0
  271. Cython/Utility/CpdefEnums.pyx +103 -0
  272. Cython/Utility/CppConvert.pyx +279 -0
  273. Cython/Utility/CppSupport.cpp +143 -0
  274. Cython/Utility/CythonFunction.c +1794 -0
  275. Cython/Utility/Dataclasses.c +185 -0
  276. Cython/Utility/Dataclasses.py +112 -0
  277. Cython/Utility/Embed.c +125 -0
  278. Cython/Utility/Exceptions.c +1012 -0
  279. Cython/Utility/ExtensionTypes.c +809 -0
  280. Cython/Utility/FunctionArguments.c +965 -0
  281. Cython/Utility/ImportExport.c +987 -0
  282. Cython/Utility/Lock.c +136 -0
  283. Cython/Utility/MemoryView.pxd +187 -0
  284. Cython/Utility/MemoryView.pyx +1481 -0
  285. Cython/Utility/MemoryView_C.c +1046 -0
  286. Cython/Utility/ModuleSetupCode.c +3059 -0
  287. Cython/Utility/NumpyImportArray.c +46 -0
  288. Cython/Utility/ObjectHandling.c +3342 -0
  289. Cython/Utility/Optimize.c +1589 -0
  290. Cython/Utility/Overflow.c +404 -0
  291. Cython/Utility/Printing.c +86 -0
  292. Cython/Utility/Profile.c +709 -0
  293. Cython/Utility/StringTools.c +1259 -0
  294. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  295. Cython/Utility/TestCythonScope.pyx +75 -0
  296. Cython/Utility/TestUtilityLoader.c +12 -0
  297. Cython/Utility/TypeConversion.c +1284 -0
  298. Cython/Utility/UFuncs.pyx +50 -0
  299. Cython/Utility/UFuncs_C.c +89 -0
  300. Cython/Utility/__init__.py +28 -0
  301. Cython/Utility/arrayarray.h +148 -0
  302. Cython/Utils.py +687 -0
  303. Cython/__init__.py +10 -0
  304. Cython/__init__.pyi +7 -0
  305. Cython/py.typed +0 -0
  306. cython-3.1.0.dist-info/COPYING.txt +19 -0
  307. cython-3.1.0.dist-info/LICENSE.txt +176 -0
  308. cython-3.1.0.dist-info/METADATA +636 -0
  309. cython-3.1.0.dist-info/RECORD +316 -0
  310. cython-3.1.0.dist-info/WHEEL +5 -0
  311. cython-3.1.0.dist-info/entry_points.txt +4 -0
  312. cython-3.1.0.dist-info/top_level.txt +3 -0
  313. cython.py +29 -0
  314. pyximport/__init__.py +4 -0
  315. pyximport/pyxbuild.py +160 -0
  316. pyximport/pyximport.py +482 -0
@@ -0,0 +1,131 @@
1
+ cdef extern from "<numeric>" namespace "std" nogil:
2
+ T inner_product[InputIt1, InputIt2, T](InputIt1 first1, InputIt1 last1, InputIt2 first2, T init)
3
+
4
+ T inner_product[InputIt1, InputIt2, T, BinaryOperation1, BinaryOperation2](InputIt1 first1, InputIt1 last1,
5
+ InputIt2 first2, T init,
6
+ BinaryOperation1 op1,
7
+ BinaryOperation2 op2)
8
+
9
+ void iota[ForwardIt, T](ForwardIt first, ForwardIt last, T value)
10
+
11
+ T accumulate[InputIt, T](InputIt first, InputIt last, T init)
12
+
13
+ T accumulate[InputIt, T, BinaryOperation](InputIt first, InputIt last, T init, BinaryOperation op)
14
+
15
+ void adjacent_difference[InputIt, OutputIt](InputIt in_first, InputIt in_last, OutputIt out_first)
16
+
17
+ void adjacent_difference[InputIt, OutputIt, BinaryOperation](InputIt in_first, InputIt in_last, OutputIt out_first,
18
+ BinaryOperation op)
19
+
20
+ void partial_sum[InputIt, OutputIt](InputIt in_first, InputIt in_last, OutputIt out_first)
21
+
22
+ void partial_sum[InputIt, OutputIt, BinaryOperation](InputIt in_first, InputIt in_last, OutputIt out_first,
23
+ BinaryOperation op)
24
+
25
+
26
+ T reduce[InputIt, T](InputIt first, InputIt last, T init)
27
+
28
+ # ambiguous with next overload
29
+ #T reduce[ExecutionPolicy, ForwardIt, T](ExecutionPolicy&& policy,
30
+ # ForwardIt first, ForwardIt last, T init)
31
+
32
+ T reduce[InputIt, T, BinaryOp](InputIt first, InputIt last, T init, BinaryOp binary_op)
33
+
34
+ T reduce[ExecutionPolicy, ForwardIt, T, BinaryOp](ExecutionPolicy&& policy,
35
+ ForwardIt first, ForwardIt last, T init, BinaryOp binary_op)
36
+
37
+ T transform_reduce[InputIt1, InputIt2, T](InputIt1 first1, InputIt1 last1,
38
+ InputIt2 first2, T init)
39
+
40
+ T transform_reduce[InputIt1, InputIt2, T, BinaryReductionOp, BinaryTransformOp](
41
+ InputIt1 first1, InputIt1 last1, InputIt2 first2, T init,
42
+ BinaryReductionOp reduce, BinaryTransformOp transform)
43
+
44
+ T transform_reduce[InputIt, T, BinaryReductionOp, UnaryTransformOp](
45
+ InputIt first, InputIt last, T init, BinaryReductionOp reduce,
46
+ UnaryTransformOp transform)
47
+
48
+ # ambiguous with previous overload
49
+ #T transform_reduce[ExecutionPolicy, ForwardIt1, ForwardIt2, T](
50
+ # ExecutionPolicy&& policy, ForwardIt1 first1, ForwardIt1 last1,
51
+ # ForwardIt2 first2, T init)
52
+
53
+ T transform_reduce[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryReductionOp, BinaryTransformOp](
54
+ ExecutionPolicy&& policy, ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2, T init,
55
+ BinaryReductionOp reduce, BinaryTransformOp transform)
56
+
57
+ # ambiguous with second overload
58
+ #T transform_reduce[ExecutionPolicy, ForwardIt, T, BinaryReductionOp, UnaryTransformOp](
59
+ # ExecutionPolicy&& policy, ForwardIt first, ForwardIt last, T init, BinaryReductionOp reduce,
60
+ # UnaryTransformOp transform)
61
+
62
+ OutputIt inclusive_scan[InputIt, OutputIt](InputIt first, InputIt last, OutputIt d_first)
63
+
64
+ # ambiguous with next overload
65
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2](
66
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
67
+ # ForwardIt2 d_first)
68
+
69
+ OutputIt inclusive_scan[InputIt, OutputIt, BinaryOperation](
70
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op)
71
+
72
+ # ambiguous with next overload
73
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation](
74
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
75
+ # BinaryOperation binary_op)
76
+
77
+ OutputIt inclusive_scan[InputIt, OutputIt, BinaryOperation, T](
78
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
79
+ T init)
80
+
81
+ #
82
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, T](
83
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
84
+ # BinaryOperation binary_op, T init)
85
+
86
+ OutputIt exclusive_scan[InputIt, OutputIt, T](InputIt first, InputIt last,
87
+ OutputIt d_first, T init)
88
+
89
+ # ambiguous with next overload
90
+ #ForwardIt2 exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T](
91
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
92
+ # ForwardIt2 d_first, T init)
93
+
94
+ OutputIt exclusive_scan[InputIt, OutputIt, T, BinaryOperation](
95
+ InputIt first, InputIt last, OutputIt d_first, T init, BinaryOperation binary_op)
96
+
97
+ ForwardIt2 exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryOperation](
98
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
99
+ T init, BinaryOperation binary_op)
100
+
101
+ OutputIt transform_inclusive_scan[InputIt, OutputIt, BinaryOperation, UnaryOperation](
102
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
103
+ UnaryOperation unary_op)
104
+
105
+ # ambiguous with next overload
106
+ # ForwardIt2 transform_inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, UnaryOperation](
107
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
108
+ # BinaryOperation binary_op, UnaryOperation unary_op)
109
+
110
+ OutputIt transform_inclusive_scan[InputIt, OutputIt, BinaryOperation, UnaryOperation, T](
111
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
112
+ UnaryOperation unary_op, T init)
113
+
114
+ ForwardIt2 transform_inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, UnaryOperation, T](
115
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
116
+ BinaryOperation binary_op, UnaryOperation unary_op, T init)
117
+
118
+ OutputIt transform_exclusive_scan[InputIt, OutputIt, T, BinaryOperation, UnaryOperation](
119
+ InputIt first, InputIt last, OutputIt d_first, T init, BinaryOperation binary_op,
120
+ UnaryOperation unary_op)
121
+
122
+ ForwardIt2 transform_exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryOperation, UnaryOperation](
123
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
124
+ T init, BinaryOperation binary_op, UnaryOperation unary_op)
125
+
126
+ # C++17
127
+ T gcd[T](T a, T b)
128
+ T lcm[T](T a, T b)
129
+
130
+ # C++20
131
+ T midpoint[T](T a, T b) except +
@@ -0,0 +1,34 @@
1
+ from libcpp cimport bool
2
+
3
+ cdef extern from "<optional>" namespace "std" nogil:
4
+ cdef cppclass nullopt_t:
5
+ nullopt_t()
6
+
7
+ cdef nullopt_t nullopt
8
+
9
+ cdef cppclass optional[T]:
10
+ ctypedef T value_type
11
+ optional()
12
+ optional(nullopt_t)
13
+ optional(optional&) except +
14
+ optional(T&) except +
15
+ bool has_value()
16
+ T& value() except +
17
+ T& value_or[U](U& default_value)
18
+ void swap(optional&)
19
+ void reset()
20
+ T& emplace(...)
21
+ T& operator*()
22
+ #T* operator->() # Not Supported
23
+ optional& operator=(optional&)
24
+ optional& operator=[U](U&)
25
+ bool operator bool()
26
+ bool operator!()
27
+ bool operator==[U](optional&, U&)
28
+ bool operator!=[U](optional&, U&)
29
+ bool operator<[U](optional&, U&)
30
+ bool operator>[U](optional&, U&)
31
+ bool operator<=[U](optional&, U&)
32
+ bool operator>=[U](optional&, U&)
33
+
34
+ optional[T] make_optional[T](...) except +
@@ -0,0 +1 @@
1
+ from .utility cimport pair
@@ -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,44 @@
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
+
18
+ cdef cppclass counting_semaphore[LeastMaxValue=*]:
19
+ counting_semaphore(ptrdiff_t desired)
20
+
21
+ void release() except+
22
+ void release(ptrdiff_t update) except+
23
+ void acquire() except+
24
+ bool try_acquire()
25
+
26
+ # unfortunately, we don't currently define chrono types
27
+ bool try_acquire_for[T](T duration) except+
28
+ bool try_acquire_until[T](T timepoint) except+
29
+
30
+ ptrdiff_t max()
31
+
32
+ cdef cppclass binary_semaphore:
33
+ binary_semaphore(ptrdiff_t desired)
34
+
35
+ void release() except+
36
+ void release(ptrdiff_t update) except+
37
+ void acquire() except+
38
+ bool try_acquire()
39
+
40
+ # unfortunately, we don't currently define chrono types
41
+ bool try_acquire_for[T](T timepoint) except+
42
+ bool try_acquire_until[T](T duration) except+
43
+
44
+ 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&)