Cython 3.1.0a1__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 (301) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +250 -0
  4. Cython/Build/Dependencies.py +1275 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +342 -0
  7. Cython/Build/IpythonMagic.py +560 -0
  8. Cython/Build/Tests/TestCyCache.py +119 -0
  9. Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
  10. Cython/Build/Tests/TestDependencies.py +133 -0
  11. Cython/Build/Tests/TestInline.py +112 -0
  12. Cython/Build/Tests/TestIpythonMagic.py +287 -0
  13. Cython/Build/Tests/TestRecythonize.py +212 -0
  14. Cython/Build/Tests/TestStripLiterals.py +155 -0
  15. Cython/Build/Tests/__init__.py +1 -0
  16. Cython/Build/__init__.py +8 -0
  17. Cython/CodeWriter.py +811 -0
  18. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  19. Cython/Compiler/Annotate.py +326 -0
  20. Cython/Compiler/AutoDocTransforms.py +314 -0
  21. Cython/Compiler/Buffer.py +680 -0
  22. Cython/Compiler/Builtin.py +862 -0
  23. Cython/Compiler/CmdLine.py +243 -0
  24. Cython/Compiler/Code.pxd +145 -0
  25. Cython/Compiler/Code.py +3328 -0
  26. Cython/Compiler/CodeGeneration.py +33 -0
  27. Cython/Compiler/CythonScope.py +179 -0
  28. Cython/Compiler/Dataclass.py +868 -0
  29. Cython/Compiler/DebugFlags.py +21 -0
  30. Cython/Compiler/Errors.py +295 -0
  31. Cython/Compiler/ExprNodes.py +15051 -0
  32. Cython/Compiler/FlowControl.pxd +97 -0
  33. Cython/Compiler/FlowControl.py +1438 -0
  34. Cython/Compiler/FusedNode.py +998 -0
  35. Cython/Compiler/Future.py +16 -0
  36. Cython/Compiler/Interpreter.py +57 -0
  37. Cython/Compiler/Lexicon.py +340 -0
  38. Cython/Compiler/LineTable.py +114 -0
  39. Cython/Compiler/Main.py +779 -0
  40. Cython/Compiler/MatchCaseNodes.py +259 -0
  41. Cython/Compiler/MemoryView.py +860 -0
  42. Cython/Compiler/ModuleNode.py +4065 -0
  43. Cython/Compiler/Naming.py +369 -0
  44. Cython/Compiler/Nodes.py +10557 -0
  45. Cython/Compiler/Optimize.py +5269 -0
  46. Cython/Compiler/Options.py +828 -0
  47. Cython/Compiler/ParseTreeTransforms.pxd +78 -0
  48. Cython/Compiler/ParseTreeTransforms.py +4441 -0
  49. Cython/Compiler/Parsing.pxd +9 -0
  50. Cython/Compiler/Parsing.py +4797 -0
  51. Cython/Compiler/Pipeline.py +425 -0
  52. Cython/Compiler/PyrexTypes.py +5572 -0
  53. Cython/Compiler/Pythran.py +223 -0
  54. Cython/Compiler/Scanning.pxd +40 -0
  55. Cython/Compiler/Scanning.py +574 -0
  56. Cython/Compiler/StringEncoding.py +347 -0
  57. Cython/Compiler/Symtab.py +2998 -0
  58. Cython/Compiler/Tests/TestBuffer.py +105 -0
  59. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  60. Cython/Compiler/Tests/TestCmdLine.py +573 -0
  61. Cython/Compiler/Tests/TestCode.py +86 -0
  62. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  63. Cython/Compiler/Tests/TestGrammar.py +202 -0
  64. Cython/Compiler/Tests/TestMemView.py +71 -0
  65. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  66. Cython/Compiler/Tests/TestScanning.py +134 -0
  67. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  68. Cython/Compiler/Tests/TestStringEncoding.py +33 -0
  69. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  70. Cython/Compiler/Tests/TestTreePath.py +93 -0
  71. Cython/Compiler/Tests/TestTypes.py +75 -0
  72. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  73. Cython/Compiler/Tests/TestVisitor.py +61 -0
  74. Cython/Compiler/Tests/Utils.py +36 -0
  75. Cython/Compiler/Tests/__init__.py +1 -0
  76. Cython/Compiler/TreeFragment.py +278 -0
  77. Cython/Compiler/TreePath.py +290 -0
  78. Cython/Compiler/TypeInference.py +584 -0
  79. Cython/Compiler/TypeSlots.py +1181 -0
  80. Cython/Compiler/UFuncs.py +311 -0
  81. Cython/Compiler/UtilNodes.py +387 -0
  82. Cython/Compiler/UtilityCode.py +274 -0
  83. Cython/Compiler/Version.py +8 -0
  84. Cython/Compiler/Visitor.pxd +53 -0
  85. Cython/Compiler/Visitor.py +861 -0
  86. Cython/Compiler/__init__.py +1 -0
  87. Cython/Coverage.py +443 -0
  88. Cython/Debugger/Cygdb.py +179 -0
  89. Cython/Debugger/DebugWriter.py +82 -0
  90. Cython/Debugger/Tests/TestLibCython.py +275 -0
  91. Cython/Debugger/Tests/__init__.py +1 -0
  92. Cython/Debugger/Tests/cfuncs.c +8 -0
  93. Cython/Debugger/Tests/codefile +49 -0
  94. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  95. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  96. Cython/Debugger/__init__.py +1 -0
  97. Cython/Debugger/libcython.py +1549 -0
  98. Cython/Debugger/libpython.py +2821 -0
  99. Cython/Debugging.py +20 -0
  100. Cython/Distutils/__init__.py +2 -0
  101. Cython/Distutils/build_ext.py +137 -0
  102. Cython/Distutils/extension.py +96 -0
  103. Cython/Distutils/old_build_ext.py +351 -0
  104. Cython/Includes/cpython/__init__.pxd +173 -0
  105. Cython/Includes/cpython/array.pxd +174 -0
  106. Cython/Includes/cpython/bool.pxd +37 -0
  107. Cython/Includes/cpython/buffer.pxd +112 -0
  108. Cython/Includes/cpython/bytearray.pxd +33 -0
  109. Cython/Includes/cpython/bytes.pxd +200 -0
  110. Cython/Includes/cpython/cellobject.pxd +35 -0
  111. Cython/Includes/cpython/ceval.pxd +8 -0
  112. Cython/Includes/cpython/codecs.pxd +121 -0
  113. Cython/Includes/cpython/complex.pxd +55 -0
  114. Cython/Includes/cpython/contextvars.pxd +141 -0
  115. Cython/Includes/cpython/conversion.pxd +36 -0
  116. Cython/Includes/cpython/datetime.pxd +384 -0
  117. Cython/Includes/cpython/descr.pxd +26 -0
  118. Cython/Includes/cpython/dict.pxd +187 -0
  119. Cython/Includes/cpython/exc.pxd +263 -0
  120. Cython/Includes/cpython/fileobject.pxd +57 -0
  121. Cython/Includes/cpython/float.pxd +47 -0
  122. Cython/Includes/cpython/function.pxd +65 -0
  123. Cython/Includes/cpython/genobject.pxd +25 -0
  124. Cython/Includes/cpython/getargs.pxd +12 -0
  125. Cython/Includes/cpython/instance.pxd +25 -0
  126. Cython/Includes/cpython/iterator.pxd +36 -0
  127. Cython/Includes/cpython/iterobject.pxd +24 -0
  128. Cython/Includes/cpython/list.pxd +92 -0
  129. Cython/Includes/cpython/long.pxd +149 -0
  130. Cython/Includes/cpython/longintrepr.pxd +19 -0
  131. Cython/Includes/cpython/mapping.pxd +63 -0
  132. Cython/Includes/cpython/marshal.pxd +66 -0
  133. Cython/Includes/cpython/mem.pxd +120 -0
  134. Cython/Includes/cpython/memoryview.pxd +50 -0
  135. Cython/Includes/cpython/method.pxd +49 -0
  136. Cython/Includes/cpython/module.pxd +208 -0
  137. Cython/Includes/cpython/number.pxd +258 -0
  138. Cython/Includes/cpython/object.pxd +433 -0
  139. Cython/Includes/cpython/pycapsule.pxd +143 -0
  140. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  141. Cython/Includes/cpython/pyport.pxd +8 -0
  142. Cython/Includes/cpython/pystate.pxd +95 -0
  143. Cython/Includes/cpython/pythread.pxd +53 -0
  144. Cython/Includes/cpython/ref.pxd +67 -0
  145. Cython/Includes/cpython/sequence.pxd +134 -0
  146. Cython/Includes/cpython/set.pxd +119 -0
  147. Cython/Includes/cpython/slice.pxd +70 -0
  148. Cython/Includes/cpython/time.pxd +129 -0
  149. Cython/Includes/cpython/tuple.pxd +72 -0
  150. Cython/Includes/cpython/type.pxd +53 -0
  151. Cython/Includes/cpython/unicode.pxd +639 -0
  152. Cython/Includes/cpython/version.pxd +32 -0
  153. Cython/Includes/cpython/weakref.pxd +42 -0
  154. Cython/Includes/libc/__init__.pxd +1 -0
  155. Cython/Includes/libc/complex.pxd +35 -0
  156. Cython/Includes/libc/errno.pxd +127 -0
  157. Cython/Includes/libc/float.pxd +43 -0
  158. Cython/Includes/libc/limits.pxd +28 -0
  159. Cython/Includes/libc/locale.pxd +46 -0
  160. Cython/Includes/libc/math.pxd +209 -0
  161. Cython/Includes/libc/setjmp.pxd +10 -0
  162. Cython/Includes/libc/signal.pxd +64 -0
  163. Cython/Includes/libc/stddef.pxd +9 -0
  164. Cython/Includes/libc/stdint.pxd +105 -0
  165. Cython/Includes/libc/stdio.pxd +80 -0
  166. Cython/Includes/libc/stdlib.pxd +72 -0
  167. Cython/Includes/libc/string.pxd +50 -0
  168. Cython/Includes/libc/time.pxd +47 -0
  169. Cython/Includes/libcpp/__init__.pxd +4 -0
  170. Cython/Includes/libcpp/algorithm.pxd +320 -0
  171. Cython/Includes/libcpp/any.pxd +16 -0
  172. Cython/Includes/libcpp/atomic.pxd +59 -0
  173. Cython/Includes/libcpp/bit.pxd +29 -0
  174. Cython/Includes/libcpp/cast.pxd +12 -0
  175. Cython/Includes/libcpp/cmath.pxd +518 -0
  176. Cython/Includes/libcpp/complex.pxd +106 -0
  177. Cython/Includes/libcpp/deque.pxd +165 -0
  178. Cython/Includes/libcpp/execution.pxd +15 -0
  179. Cython/Includes/libcpp/forward_list.pxd +63 -0
  180. Cython/Includes/libcpp/functional.pxd +26 -0
  181. Cython/Includes/libcpp/iterator.pxd +34 -0
  182. Cython/Includes/libcpp/limits.pxd +61 -0
  183. Cython/Includes/libcpp/list.pxd +117 -0
  184. Cython/Includes/libcpp/map.pxd +252 -0
  185. Cython/Includes/libcpp/memory.pxd +115 -0
  186. Cython/Includes/libcpp/numbers.pxd +15 -0
  187. Cython/Includes/libcpp/numeric.pxd +131 -0
  188. Cython/Includes/libcpp/optional.pxd +34 -0
  189. Cython/Includes/libcpp/pair.pxd +1 -0
  190. Cython/Includes/libcpp/queue.pxd +25 -0
  191. Cython/Includes/libcpp/random.pxd +166 -0
  192. Cython/Includes/libcpp/set.pxd +228 -0
  193. Cython/Includes/libcpp/stack.pxd +11 -0
  194. Cython/Includes/libcpp/string.pxd +333 -0
  195. Cython/Includes/libcpp/typeindex.pxd +15 -0
  196. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  197. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  198. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  199. Cython/Includes/libcpp/utility.pxd +30 -0
  200. Cython/Includes/libcpp/vector.pxd +167 -0
  201. Cython/Includes/openmp.pxd +50 -0
  202. Cython/Includes/posix/__init__.pxd +1 -0
  203. Cython/Includes/posix/dlfcn.pxd +14 -0
  204. Cython/Includes/posix/fcntl.pxd +86 -0
  205. Cython/Includes/posix/ioctl.pxd +4 -0
  206. Cython/Includes/posix/mman.pxd +101 -0
  207. Cython/Includes/posix/resource.pxd +57 -0
  208. Cython/Includes/posix/select.pxd +21 -0
  209. Cython/Includes/posix/signal.pxd +73 -0
  210. Cython/Includes/posix/stat.pxd +98 -0
  211. Cython/Includes/posix/stdio.pxd +37 -0
  212. Cython/Includes/posix/stdlib.pxd +29 -0
  213. Cython/Includes/posix/strings.pxd +9 -0
  214. Cython/Includes/posix/time.pxd +71 -0
  215. Cython/Includes/posix/types.pxd +30 -0
  216. Cython/Includes/posix/uio.pxd +26 -0
  217. Cython/Includes/posix/unistd.pxd +271 -0
  218. Cython/Includes/posix/wait.pxd +38 -0
  219. Cython/Plex/Actions.pxd +24 -0
  220. Cython/Plex/Actions.py +119 -0
  221. Cython/Plex/DFA.pxd +14 -0
  222. Cython/Plex/DFA.py +164 -0
  223. Cython/Plex/Errors.py +48 -0
  224. Cython/Plex/Lexicons.py +178 -0
  225. Cython/Plex/Machines.pxd +36 -0
  226. Cython/Plex/Machines.py +238 -0
  227. Cython/Plex/Regexps.py +539 -0
  228. Cython/Plex/Scanners.pxd +47 -0
  229. Cython/Plex/Scanners.py +360 -0
  230. Cython/Plex/Transitions.pxd +14 -0
  231. Cython/Plex/Transitions.py +239 -0
  232. Cython/Plex/__init__.py +34 -0
  233. Cython/Runtime/__init__.py +1 -0
  234. Cython/Runtime/refnanny.pyx +261 -0
  235. Cython/Shadow.py +656 -0
  236. Cython/Shadow.pyi +521 -0
  237. Cython/StringIOTree.py +170 -0
  238. Cython/Tempita/__init__.py +4 -0
  239. Cython/Tempita/_looper.py +154 -0
  240. Cython/Tempita/_tempita.py +1091 -0
  241. Cython/TestUtils.py +417 -0
  242. Cython/Tests/TestCodeWriter.py +128 -0
  243. Cython/Tests/TestCythonUtils.py +202 -0
  244. Cython/Tests/TestJediTyper.py +223 -0
  245. Cython/Tests/TestShadow.py +114 -0
  246. Cython/Tests/TestStringIOTree.py +67 -0
  247. Cython/Tests/TestTestUtils.py +90 -0
  248. Cython/Tests/__init__.py +1 -0
  249. Cython/Tests/xmlrunner.py +390 -0
  250. Cython/Utility/AsyncGen.c +1263 -0
  251. Cython/Utility/Buffer.c +875 -0
  252. Cython/Utility/Builtins.c +660 -0
  253. Cython/Utility/CConvert.pyx +134 -0
  254. Cython/Utility/CMath.c +95 -0
  255. Cython/Utility/CommonStructures.c +139 -0
  256. Cython/Utility/Complex.c +378 -0
  257. Cython/Utility/Coroutine.c +2413 -0
  258. Cython/Utility/CpdefEnums.pyx +108 -0
  259. Cython/Utility/CppConvert.pyx +279 -0
  260. Cython/Utility/CppSupport.cpp +133 -0
  261. Cython/Utility/CythonFunction.c +1851 -0
  262. Cython/Utility/Dataclasses.c +185 -0
  263. Cython/Utility/Dataclasses.py +112 -0
  264. Cython/Utility/Embed.c +125 -0
  265. Cython/Utility/Exceptions.c +1017 -0
  266. Cython/Utility/ExtensionTypes.c +797 -0
  267. Cython/Utility/FunctionArguments.c +573 -0
  268. Cython/Utility/ImportExport.c +912 -0
  269. Cython/Utility/MemoryView.pyx +1478 -0
  270. Cython/Utility/MemoryView_C.c +992 -0
  271. Cython/Utility/ModuleSetupCode.c +2501 -0
  272. Cython/Utility/NumpyImportArray.c +46 -0
  273. Cython/Utility/ObjectHandling.c +3054 -0
  274. Cython/Utility/Optimize.c +1533 -0
  275. Cython/Utility/Overflow.c +404 -0
  276. Cython/Utility/Printing.c +86 -0
  277. Cython/Utility/Profile.c +660 -0
  278. Cython/Utility/StringTools.c +1206 -0
  279. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  280. Cython/Utility/TestCythonScope.pyx +75 -0
  281. Cython/Utility/TestUtilityLoader.c +12 -0
  282. Cython/Utility/TypeConversion.c +1329 -0
  283. Cython/Utility/UFuncs.pyx +50 -0
  284. Cython/Utility/UFuncs_C.c +89 -0
  285. Cython/Utility/__init__.py +28 -0
  286. Cython/Utility/arrayarray.h +143 -0
  287. Cython/Utils.py +687 -0
  288. Cython/__init__.py +10 -0
  289. Cython/__init__.pyi +7 -0
  290. Cython/py.typed +0 -0
  291. Cython-3.1.0a1.dist-info/COPYING.txt +19 -0
  292. Cython-3.1.0a1.dist-info/LICENSE.txt +176 -0
  293. Cython-3.1.0a1.dist-info/METADATA +67 -0
  294. Cython-3.1.0a1.dist-info/RECORD +301 -0
  295. Cython-3.1.0a1.dist-info/WHEEL +5 -0
  296. Cython-3.1.0a1.dist-info/entry_points.txt +4 -0
  297. Cython-3.1.0a1.dist-info/top_level.txt +3 -0
  298. cython.py +29 -0
  299. pyximport/__init__.py +4 -0
  300. pyximport/pyxbuild.py +160 -0
  301. pyximport/pyximport.py +482 -0
@@ -0,0 +1,105 @@
1
+ # Longness only used for type promotion.
2
+ # Actual compile time size used for conversions.
3
+
4
+ # 7.18 Integer types <stdint.h>
5
+ cdef extern from "<stdint.h>" nogil:
6
+
7
+ # 7.18.1 Integer types
8
+ # 7.18.1.1 Exact-width integer types
9
+ ctypedef signed char int8_t
10
+ ctypedef signed short int16_t
11
+ ctypedef signed int int32_t
12
+ ctypedef signed long int64_t
13
+ ctypedef unsigned char uint8_t
14
+ ctypedef unsigned short uint16_t
15
+ ctypedef unsigned int uint32_t
16
+ ctypedef unsigned long long uint64_t
17
+ # 7.18.1.2 Minimum-width integer types
18
+ ctypedef signed char int_least8_t
19
+ ctypedef signed short int_least16_t
20
+ ctypedef signed int int_least32_t
21
+ ctypedef signed long int_least64_t
22
+ ctypedef unsigned char uint_least8_t
23
+ ctypedef unsigned short uint_least16_t
24
+ ctypedef unsigned int uint_least32_t
25
+ ctypedef unsigned long long uint_least64_t
26
+ # 7.18.1.3 Fastest minimum-width integer types
27
+ ctypedef signed char int_fast8_t
28
+ ctypedef signed short int_fast16_t
29
+ ctypedef signed int int_fast32_t
30
+ ctypedef signed long int_fast64_t
31
+ ctypedef unsigned char uint_fast8_t
32
+ ctypedef unsigned short uint_fast16_t
33
+ ctypedef unsigned int uint_fast32_t
34
+ ctypedef unsigned long long uint_fast64_t
35
+ # 7.18.1.4 Integer types capable of holding object pointers
36
+ ctypedef ssize_t intptr_t
37
+ ctypedef size_t uintptr_t
38
+ # 7.18.1.5 Greatest-width integer types
39
+ ctypedef signed long long intmax_t
40
+ ctypedef unsigned long long uintmax_t
41
+
42
+ # 7.18.2 Limits of specified-width integer types
43
+ # 7.18.2.1 Limits of exact-width integer types
44
+ int8_t INT8_MIN
45
+ int16_t INT16_MIN
46
+ int32_t INT32_MIN
47
+ int64_t INT64_MIN
48
+ int8_t INT8_MAX
49
+ int16_t INT16_MAX
50
+ int32_t INT32_MAX
51
+ int64_t INT64_MAX
52
+ uint8_t UINT8_MAX
53
+ uint16_t UINT16_MAX
54
+ uint32_t UINT32_MAX
55
+ uint64_t UINT64_MAX
56
+ #7.18.2.2 Limits of minimum-width integer types
57
+ int_least8_t INT_LEAST8_MIN
58
+ int_least16_t INT_LEAST16_MIN
59
+ int_least32_t INT_LEAST32_MIN
60
+ int_least64_t INT_LEAST64_MIN
61
+ int_least8_t INT_LEAST8_MAX
62
+ int_least16_t INT_LEAST16_MAX
63
+ int_least32_t INT_LEAST32_MAX
64
+ int_least64_t INT_LEAST64_MAX
65
+ uint_least8_t UINT_LEAST8_MAX
66
+ uint_least16_t UINT_LEAST16_MAX
67
+ uint_least32_t UINT_LEAST32_MAX
68
+ uint_least64_t UINT_LEAST64_MAX
69
+ #7.18.2.3 Limits of fastest minimum-width integer types
70
+ int_fast8_t INT_FAST8_MIN
71
+ int_fast16_t INT_FAST16_MIN
72
+ int_fast32_t INT_FAST32_MIN
73
+ int_fast64_t INT_FAST64_MIN
74
+ int_fast8_t INT_FAST8_MAX
75
+ int_fast16_t INT_FAST16_MAX
76
+ int_fast32_t INT_FAST32_MAX
77
+ int_fast64_t INT_FAST64_MAX
78
+ uint_fast8_t UINT_FAST8_MAX
79
+ uint_fast16_t UINT_FAST16_MAX
80
+ uint_fast32_t UINT_FAST32_MAX
81
+ uint_fast64_t UINT_FAST64_MAX
82
+ #7.18.2.4 Limits of integer types capable of holding object pointers
83
+ enum: INTPTR_MIN
84
+ enum: INTPTR_MAX
85
+ enum: UINTPTR_MAX
86
+ # 7.18.2.5 Limits of greatest-width integer types
87
+ enum: INTMAX_MAX
88
+ enum: INTMAX_MIN
89
+ enum: UINTMAX_MAX
90
+
91
+ # 7.18.3 Limits of other integer types
92
+ # ptrdiff_t
93
+ enum: PTRDIFF_MIN
94
+ enum: PTRDIFF_MAX
95
+ # sig_atomic_t
96
+ enum: SIG_ATOMIC_MIN
97
+ enum: SIG_ATOMIC_MAX
98
+ # size_t
99
+ size_t SIZE_MAX
100
+ # wchar_t
101
+ enum: WCHAR_MIN
102
+ enum: WCHAR_MAX
103
+ # wint_t
104
+ enum: WINT_MIN
105
+ enum: WINT_MAX
@@ -0,0 +1,80 @@
1
+ # 7.19 Input/output <stdio.h>
2
+
3
+
4
+ # deprecated cimports for backwards compatibility:
5
+ from libc.string cimport const_char, const_void
6
+
7
+
8
+ cdef extern from "<stdio.h>" nogil:
9
+
10
+ ctypedef struct FILE
11
+ cdef FILE *stdin
12
+ cdef FILE *stdout
13
+ cdef FILE *stderr
14
+
15
+ enum: FOPEN_MAX
16
+ enum: FILENAME_MAX
17
+ FILE *fopen (const char *filename, const char *opentype)
18
+ FILE *freopen (const char *filename, const char *opentype, FILE *stream)
19
+ FILE *fdopen (int fdescriptor, const char *opentype)
20
+ int fclose (FILE *stream)
21
+ int remove (const char *filename)
22
+ int rename (const char *oldname, const char *newname)
23
+ FILE *tmpfile ()
24
+
25
+ int remove (const char *pathname)
26
+ int rename (const char *oldpath, const char *newpath)
27
+
28
+ enum: _IOFBF
29
+ enum: _IOLBF
30
+ enum: _IONBF
31
+ int setvbuf (FILE *stream, char *buf, int mode, size_t size)
32
+ enum: BUFSIZ
33
+ void setbuf (FILE *stream, char *buf)
34
+
35
+ size_t fread (void *data, size_t size, size_t count, FILE *stream)
36
+ size_t fwrite (const void *data, size_t size, size_t count, FILE *stream)
37
+ int fflush (FILE *stream)
38
+
39
+ enum: EOF
40
+ void clearerr (FILE *stream)
41
+ int feof (FILE *stream)
42
+ int ferror (FILE *stream)
43
+
44
+ enum: SEEK_SET
45
+ enum: SEEK_CUR
46
+ enum: SEEK_END
47
+ int fseek (FILE *stream, long int offset, int whence)
48
+ void rewind (FILE *stream)
49
+ long int ftell (FILE *stream)
50
+
51
+ ctypedef struct fpos_t
52
+ ctypedef const fpos_t const_fpos_t "const fpos_t"
53
+ int fgetpos (FILE *stream, fpos_t *position)
54
+ int fsetpos (FILE *stream, const fpos_t *position)
55
+
56
+ int scanf (const char *template, ...)
57
+ int sscanf (const char *s, const char *template, ...)
58
+ int fscanf (FILE *stream, const char *template, ...)
59
+
60
+ int printf (const char *template, ...)
61
+ int sprintf (char *s, const char *template, ...)
62
+ int snprintf (char *s, size_t size, const char *template, ...)
63
+ int fprintf (FILE *stream, const char *template, ...)
64
+
65
+ void perror (const char *message)
66
+
67
+ char *gets (char *s)
68
+ char *fgets (char *s, int count, FILE *stream)
69
+ int getchar ()
70
+ int fgetc (FILE *stream)
71
+ int getc (FILE *stream)
72
+ int ungetc (int c, FILE *stream)
73
+
74
+ int puts (const char *s)
75
+ int fputs (const char *s, FILE *stream)
76
+ int putchar (int c)
77
+ int fputc (int c, FILE *stream)
78
+ int putc (int c, FILE *stream)
79
+
80
+ size_t getline(char **lineptr, size_t *n, FILE *stream)
@@ -0,0 +1,72 @@
1
+ # 7.20 General utilities <stdlib.h>
2
+
3
+ # deprecated cimports for backwards compatibility:
4
+ from libc.string cimport const_char, const_void
5
+
6
+
7
+ cdef extern from "<stdlib.h>" nogil:
8
+
9
+ # 7.20.1 Numeric conversion functions
10
+ int atoi (const char *string)
11
+ long atol (const char *string)
12
+ long long atoll (const char *string)
13
+ double atof (const char *string)
14
+ long strtol (const char *string, char **tailptr, int base)
15
+ unsigned long int strtoul (const char *string, char **tailptr, int base)
16
+ long long int strtoll (const char *string, char **tailptr, int base)
17
+ unsigned long long int strtoull (const char *string, char **tailptr, int base)
18
+ float strtof (const char *string, char **tailptr)
19
+ double strtod (const char *string, char **tailptr)
20
+ long double strtold (const char *string, char **tailptr)
21
+
22
+ # 7.20.2 Pseudo-random sequence generation functions
23
+ enum: RAND_MAX
24
+ int rand ()
25
+ void srand (unsigned int seed)
26
+
27
+ # 7.20.3 Memory management functions
28
+ void *calloc (size_t count, size_t eltsize)
29
+ void free (void *ptr)
30
+ void *malloc (size_t size)
31
+ void *realloc (void *ptr, size_t newsize)
32
+
33
+ # 7.20.4 Communication with the environment
34
+ enum: EXIT_FAILURE
35
+ enum: EXIT_SUCCESS
36
+ void exit (int status)
37
+ void _exit (int status)
38
+ int atexit (void (*function) ())
39
+ void abort ()
40
+ char *getenv (const char *name)
41
+ int system (const char *command)
42
+
43
+ #7.20.5 Searching and sorting utilities
44
+ void *bsearch (const void *key, const void *array,
45
+ size_t count, size_t size,
46
+ int (*compare)(const void *, const void *))
47
+ void qsort (void *array, size_t count, size_t size,
48
+ int (*compare)(const void *, const void *))
49
+
50
+ # 7.20.6 Integer arithmetic functions
51
+ int abs (int number)
52
+ long int labs (long int number)
53
+ long long int llabs (long long int number)
54
+ ctypedef struct div_t:
55
+ int quot
56
+ int rem
57
+ div_t div (int numerator, int denominator)
58
+ ctypedef struct ldiv_t:
59
+ long int quot
60
+ long int rem
61
+ ldiv_t ldiv (long int numerator, long int denominator)
62
+ ctypedef struct lldiv_t:
63
+ long long int quot
64
+ long long int rem
65
+ lldiv_t lldiv (long long int numerator, long long int denominator)
66
+
67
+
68
+ # 7.20.7 Multibyte/wide character conversion functions
69
+ # XXX TODO
70
+
71
+ # 7.20.8 Multibyte/wide string conversion functions
72
+ # XXX TODO
@@ -0,0 +1,50 @@
1
+ # 7.21 String handling <string.h>
2
+
3
+ cdef extern from *:
4
+ # deprecated backwards compatibility declarations
5
+ ctypedef const char const_char "const char"
6
+ ctypedef const signed char const_schar "const signed char"
7
+ ctypedef const unsigned char const_uchar "const unsigned char"
8
+ ctypedef const void const_void "const void"
9
+
10
+ cdef extern from "<string.h>" nogil:
11
+
12
+ void *memcpy (void *pto, const void *pfrom, size_t size)
13
+ void *memmove (void *pto, const void *pfrom, size_t size)
14
+ void *memset (void *block, int c, size_t size)
15
+ int memcmp (const void *a1, const void *a2, size_t size)
16
+ void *memchr (const void *block, int c, size_t size)
17
+
18
+ void *memchr (const void *block, int c, size_t size)
19
+ void *memrchr (const void *block, int c, size_t size)
20
+
21
+ size_t strlen (const char *s)
22
+ char *strcpy (char *pto, const char *pfrom)
23
+ char *strncpy (char *pto, const char *pfrom, size_t size)
24
+ char *strdup (const char *s)
25
+ char *strndup (const char *s, size_t size)
26
+ char *strcat (char *pto, const char *pfrom)
27
+ char *strncat (char *pto, const char *pfrom, size_t size)
28
+
29
+ int strcmp (const char *s1, const char *s2)
30
+ int strcasecmp (const char *s1, const char *s2)
31
+ int strncmp (const char *s1, const char *s2, size_t size)
32
+ int strncasecmp (const char *s1, const char *s2, size_t n)
33
+
34
+ int strcoll (const char *s1, const char *s2)
35
+ size_t strxfrm (char *pto, const char *pfrom, size_t size)
36
+
37
+ char *strerror (int errnum)
38
+
39
+ char *strchr (const char *string, int c)
40
+ char *strrchr (const char *string, int c)
41
+
42
+ char *strstr (const char *haystack, const char *needle)
43
+ char *strcasestr (const char *haystack, const char *needle)
44
+
45
+ size_t strcspn (const char *string, const char *stopset)
46
+ size_t strspn (const char *string, const char *set)
47
+ char * strpbrk (const char *string, const char *stopset)
48
+
49
+ char *strtok (char *newstring, const char *delimiters)
50
+ char *strsep (char **string_ptr, const char *delimiter)
@@ -0,0 +1,47 @@
1
+ # https://en.wikipedia.org/wiki/C_date_and_time_functions
2
+
3
+ from libc.stddef cimport wchar_t
4
+
5
+ cdef extern from "<time.h>" nogil:
6
+ ctypedef long clock_t
7
+ ctypedef long time_t
8
+
9
+ enum: CLOCKS_PER_SEC
10
+ clock_t clock() # CPU time
11
+ time_t time(time_t *) # wall clock time since Unix epoch
12
+
13
+ cdef struct tm:
14
+ int tm_sec
15
+ int tm_min
16
+ int tm_hour
17
+ int tm_mday
18
+ int tm_mon
19
+ int tm_year
20
+ int tm_wday
21
+ int tm_yday
22
+ int tm_isdst
23
+ # GNU specific extensions
24
+ #char *tm_zone
25
+ #long tm_gmtoff
26
+
27
+ int daylight # global state
28
+ long timezone
29
+ char *tzname[2]
30
+ void tzset()
31
+
32
+ char *asctime(const tm *)
33
+ char *asctime_r(const tm *, char *)
34
+ char *ctime(const time_t *)
35
+ char *ctime_r(const time_t *, char *)
36
+ double difftime(time_t, time_t)
37
+ tm *getdate(const char *)
38
+ tm *gmtime(const time_t *)
39
+ tm *gmtime_r(const time_t *, tm *)
40
+ tm *localtime(const time_t *)
41
+ tm *localtime_r(const time_t *, tm *)
42
+ time_t mktime(tm *)
43
+ size_t strftime(char *, size_t, const char *, const tm *)
44
+ size_t wcsftime(wchar_t *str, size_t cnt, const wchar_t *fmt, tm *time)
45
+
46
+ # POSIX not stdC
47
+ char *strptime(const char *, const char *, tm *)
@@ -0,0 +1,4 @@
1
+ cdef extern from *:
2
+ ctypedef bint bool
3
+ ctypedef void* nullptr_t
4
+ nullptr_t nullptr