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