koffi 1.2.4 → 1.3.0-rc.1
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.
- package/README.md +7 -489
- package/benchmark/CMakeLists.txt +13 -9
- package/benchmark/raylib_node_raylib.js +67 -0
- package/build/qemu/1.3.0-rc.1/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_linux_arm32hf.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.3.0-rc.1/koffi_win32_x64.tar.gz +0 -0
- package/doc/Makefile +20 -0
- package/doc/_static/bench_linux.png +0 -0
- package/doc/_static/bench_windows.png +0 -0
- package/doc/_static/custom.css +22 -0
- package/doc/benchmarks.md +113 -0
- package/doc/benchmarks.xlsx +0 -0
- package/doc/conf.py +54 -0
- package/doc/contribute.md +115 -0
- package/doc/dist/doctrees/benchmarks.doctree +0 -0
- package/doc/dist/doctrees/contribute.doctree +0 -0
- package/doc/dist/doctrees/environment.pickle +0 -0
- package/doc/dist/doctrees/functions.doctree +0 -0
- package/doc/dist/doctrees/index.doctree +0 -0
- package/doc/dist/doctrees/memory.doctree +0 -0
- package/doc/dist/doctrees/platforms.doctree +0 -0
- package/doc/dist/doctrees/start.doctree +0 -0
- package/doc/dist/doctrees/types.doctree +0 -0
- package/doc/dist/html/.buildinfo +4 -0
- package/doc/dist/html/_sources/benchmarks.md.txt +113 -0
- package/doc/dist/html/_sources/contribute.md.txt +115 -0
- package/doc/dist/html/_sources/functions.md.txt +224 -0
- package/doc/dist/html/_sources/index.rst.txt +33 -0
- package/doc/dist/html/_sources/memory.md.txt +29 -0
- package/doc/dist/html/_sources/platforms.md.txt +17 -0
- package/doc/dist/html/_sources/start.md.txt +89 -0
- package/doc/dist/html/_sources/types.md.txt +514 -0
- package/doc/dist/html/_static/_sphinx_javascript_frameworks_compat.js +134 -0
- package/doc/dist/html/_static/basic.css +932 -0
- package/doc/dist/html/_static/bench_linux.png +0 -0
- package/doc/dist/html/_static/bench_windows.png +0 -0
- package/doc/dist/html/_static/custom.css +22 -0
- package/doc/dist/html/_static/debug.css +69 -0
- package/doc/dist/html/_static/doctools.js +264 -0
- package/doc/dist/html/_static/documentation_options.js +14 -0
- package/doc/dist/html/_static/file.png +0 -0
- package/doc/dist/html/_static/jquery-3.6.0.js +10881 -0
- package/doc/dist/html/_static/jquery.js +2 -0
- package/doc/dist/html/_static/language_data.js +199 -0
- package/doc/dist/html/_static/minus.png +0 -0
- package/doc/dist/html/_static/plus.png +0 -0
- package/doc/dist/html/_static/pygments.css +252 -0
- package/doc/dist/html/_static/scripts/furo-extensions.js +0 -0
- package/doc/dist/html/_static/scripts/furo.js +3 -0
- package/doc/dist/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- package/doc/dist/html/_static/scripts/furo.js.map +1 -0
- package/doc/dist/html/_static/searchtools.js +531 -0
- package/doc/dist/html/_static/skeleton.css +296 -0
- package/doc/dist/html/_static/styles/furo-extensions.css +2 -0
- package/doc/dist/html/_static/styles/furo-extensions.css.map +1 -0
- package/doc/dist/html/_static/styles/furo.css +2 -0
- package/doc/dist/html/_static/styles/furo.css.map +1 -0
- package/doc/dist/html/_static/underscore-1.13.1.js +2042 -0
- package/doc/dist/html/_static/underscore.js +6 -0
- package/doc/dist/html/benchmarks.html +547 -0
- package/doc/dist/html/contribute.html +382 -0
- package/doc/dist/html/functions.html +530 -0
- package/doc/dist/html/genindex.html +249 -0
- package/doc/dist/html/index.html +342 -0
- package/doc/dist/html/memory.html +337 -0
- package/doc/dist/html/objects.inv +0 -0
- package/doc/dist/html/platforms.html +332 -0
- package/doc/dist/html/search.html +257 -0
- package/doc/dist/html/searchindex.js +1 -0
- package/doc/dist/html/start.html +367 -0
- package/doc/dist/html/types.html +1001 -0
- package/doc/functions.md +224 -0
- package/doc/index.rst +33 -0
- package/doc/make.bat +35 -0
- package/doc/memory.md +29 -0
- package/doc/platforms.md +17 -0
- package/doc/start.md +89 -0
- package/doc/types.md +514 -0
- package/package.json +5 -2
- package/qemu/qemu.js +41 -27
- package/qemu/registry/machines.json +59 -79
- package/qemu/registry/sha256sum.txt +4 -4
- package/src/abi_arm32.cc +20 -48
- package/src/abi_arm64.cc +18 -46
- package/src/abi_arm64_fwd.S +5 -0
- package/src/abi_riscv64.cc +19 -47
- package/src/abi_x64_sysv.cc +18 -46
- package/src/abi_x64_win.cc +19 -47
- package/src/abi_x86.cc +21 -49
- package/src/call.cc +505 -242
- package/src/call.hh +14 -7
- package/src/ffi.cc +47 -26
- package/src/ffi.hh +1 -1
- package/src/parser.cc +2 -20
- package/src/util.cc +50 -11
- package/src/util.hh +2 -0
- package/test/misc.c +31 -0
- package/test/sync.js +41 -4
- package/benchmark/atoi_cc.cc +0 -59
- package/build/qemu/1.2.4/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_arm.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_riscv64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_x64.tar.gz +0 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html class="no-js" lang="en">
|
|
3
|
+
<head><meta charset="utf-8"/>
|
|
4
|
+
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
|
5
|
+
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search" />
|
|
6
|
+
|
|
7
|
+
<meta name="generator" content="sphinx-5.0.1, furo 2022.06.04.1"/><title>Index - Koffi</title>
|
|
8
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=40978830699223671f4072448e654b5958f38b89" />
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<style>
|
|
17
|
+
body {
|
|
18
|
+
--color-code-background: #f8f8f8;
|
|
19
|
+
--color-code-foreground: black;
|
|
20
|
+
--color-brand-primary: #FF6600;
|
|
21
|
+
--color-brand-content: #FF6600;
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
@media not print {
|
|
25
|
+
body[data-theme="dark"] {
|
|
26
|
+
--color-code-background: #202020;
|
|
27
|
+
--color-code-foreground: #d0d0d0;
|
|
28
|
+
--color-brand-primary: #FF6600;
|
|
29
|
+
--color-brand-content: #FF6600;
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
@media (prefers-color-scheme: dark) {
|
|
33
|
+
body:not([data-theme="light"]) {
|
|
34
|
+
--color-code-background: #202020;
|
|
35
|
+
--color-code-foreground: #d0d0d0;
|
|
36
|
+
--color-brand-primary: #FF6600;
|
|
37
|
+
--color-brand-content: #FF6600;
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</style></head>
|
|
43
|
+
<body>
|
|
44
|
+
|
|
45
|
+
<script>
|
|
46
|
+
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
|
51
|
+
<symbol id="svg-toc" viewBox="0 0 24 24">
|
|
52
|
+
<title>Contents</title>
|
|
53
|
+
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
|
54
|
+
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
|
55
|
+
</svg>
|
|
56
|
+
</symbol>
|
|
57
|
+
<symbol id="svg-menu" viewBox="0 0 24 24">
|
|
58
|
+
<title>Menu</title>
|
|
59
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
60
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
|
61
|
+
<line x1="3" y1="12" x2="21" y2="12"></line>
|
|
62
|
+
<line x1="3" y1="6" x2="21" y2="6"></line>
|
|
63
|
+
<line x1="3" y1="18" x2="21" y2="18"></line>
|
|
64
|
+
</svg>
|
|
65
|
+
</symbol>
|
|
66
|
+
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
|
67
|
+
<title>Expand</title>
|
|
68
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
69
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
|
70
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
71
|
+
</svg>
|
|
72
|
+
</symbol>
|
|
73
|
+
<symbol id="svg-sun" viewBox="0 0 24 24">
|
|
74
|
+
<title>Light mode</title>
|
|
75
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
76
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
|
77
|
+
<circle cx="12" cy="12" r="5"></circle>
|
|
78
|
+
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
79
|
+
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
80
|
+
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
81
|
+
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
82
|
+
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
83
|
+
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
84
|
+
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
85
|
+
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
86
|
+
</svg>
|
|
87
|
+
</symbol>
|
|
88
|
+
<symbol id="svg-moon" viewBox="0 0 24 24">
|
|
89
|
+
<title>Dark mode</title>
|
|
90
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
91
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
|
92
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
93
|
+
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
|
94
|
+
</svg>
|
|
95
|
+
</symbol>
|
|
96
|
+
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
|
97
|
+
<title>Auto light/dark mode</title>
|
|
98
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
99
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
|
100
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
101
|
+
<circle cx="12" cy="12" r="9" />
|
|
102
|
+
<path d="M13 12h5" />
|
|
103
|
+
<path d="M13 15h4" />
|
|
104
|
+
<path d="M13 18h1" />
|
|
105
|
+
<path d="M13 9h4" />
|
|
106
|
+
<path d="M13 6h1" />
|
|
107
|
+
</svg>
|
|
108
|
+
</symbol>
|
|
109
|
+
</svg>
|
|
110
|
+
|
|
111
|
+
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
|
112
|
+
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
|
113
|
+
<label class="overlay sidebar-overlay" for="__navigation">
|
|
114
|
+
<div class="visually-hidden">Hide navigation sidebar</div>
|
|
115
|
+
</label>
|
|
116
|
+
<label class="overlay toc-overlay" for="__toc">
|
|
117
|
+
<div class="visually-hidden">Hide table of contents sidebar</div>
|
|
118
|
+
</label>
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
<div class="page">
|
|
123
|
+
<header class="mobile-header">
|
|
124
|
+
<div class="header-left">
|
|
125
|
+
<label class="nav-overlay-icon" for="__navigation">
|
|
126
|
+
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
|
127
|
+
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
|
128
|
+
</label>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="header-center">
|
|
131
|
+
<a href="index"><div class="brand">Koffi</div></a>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="header-right">
|
|
134
|
+
<div class="theme-toggle-container theme-toggle-header">
|
|
135
|
+
<button class="theme-toggle">
|
|
136
|
+
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
|
137
|
+
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
|
138
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
139
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
140
|
+
</button>
|
|
141
|
+
</div>
|
|
142
|
+
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
|
|
143
|
+
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
|
144
|
+
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
|
145
|
+
</label>
|
|
146
|
+
</div>
|
|
147
|
+
</header>
|
|
148
|
+
<aside class="sidebar-drawer">
|
|
149
|
+
<div class="sidebar-container">
|
|
150
|
+
|
|
151
|
+
<div class="sidebar-sticky"><a class="sidebar-brand" href="index">
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<span class="sidebar-brand-text">Koffi</span>
|
|
155
|
+
|
|
156
|
+
</a><form class="sidebar-search-container" method="get" action="search" role="search">
|
|
157
|
+
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
|
|
158
|
+
<input type="hidden" name="check_keywords" value="yes">
|
|
159
|
+
<input type="hidden" name="area" value="default">
|
|
160
|
+
</form>
|
|
161
|
+
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
|
162
|
+
<ul>
|
|
163
|
+
<li class="toctree-l1"><a class="reference internal" href="platforms">Supported platforms</a></li>
|
|
164
|
+
<li class="toctree-l1"><a class="reference internal" href="start">Quick start</a></li>
|
|
165
|
+
<li class="toctree-l1"><a class="reference internal" href="types">Data types</a></li>
|
|
166
|
+
<li class="toctree-l1"><a class="reference internal" href="functions">Function calls</a></li>
|
|
167
|
+
<li class="toctree-l1"><a class="reference internal" href="memory">Memory usage</a></li>
|
|
168
|
+
<li class="toctree-l1"><a class="reference internal" href="benchmarks">Benchmarks</a></li>
|
|
169
|
+
<li class="toctree-l1"><a class="reference internal" href="contribute">Contributing</a></li>
|
|
170
|
+
</ul>
|
|
171
|
+
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
</div>
|
|
178
|
+
</aside>
|
|
179
|
+
<div class="main">
|
|
180
|
+
<div class="content">
|
|
181
|
+
<div class="article-container">
|
|
182
|
+
<a href="#" class="back-to-top muted-link">
|
|
183
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
184
|
+
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
|
185
|
+
</svg>
|
|
186
|
+
<span>Back to top</span>
|
|
187
|
+
</a>
|
|
188
|
+
<div class="content-icon-container">
|
|
189
|
+
<div class="theme-toggle-container theme-toggle-content">
|
|
190
|
+
<button class="theme-toggle">
|
|
191
|
+
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
|
192
|
+
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
|
193
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
194
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
195
|
+
</button>
|
|
196
|
+
</div>
|
|
197
|
+
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
|
|
198
|
+
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
|
199
|
+
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
|
200
|
+
</label>
|
|
201
|
+
</div>
|
|
202
|
+
<article role="main">
|
|
203
|
+
|
|
204
|
+
<section class="genindex-section">
|
|
205
|
+
<h1 id="index">Index</h1>
|
|
206
|
+
<div class="genindex-jumpbox"></div>
|
|
207
|
+
</section>
|
|
208
|
+
|
|
209
|
+
</article>
|
|
210
|
+
</div>
|
|
211
|
+
<footer>
|
|
212
|
+
|
|
213
|
+
<div class="related-pages">
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
</div>
|
|
217
|
+
<div class="bottom-of-page">
|
|
218
|
+
<div class="left-details">
|
|
219
|
+
<div class="copyright">
|
|
220
|
+
Copyright © 2022, Niels Martignène
|
|
221
|
+
</div>
|
|
222
|
+
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
|
|
223
|
+
|
|
224
|
+
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
|
225
|
+
|
|
226
|
+
</div>
|
|
227
|
+
<div class="right-details">
|
|
228
|
+
<div class="icons">
|
|
229
|
+
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
</footer>
|
|
235
|
+
</div>
|
|
236
|
+
<aside class="toc-drawer no-toc">
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
</aside>
|
|
241
|
+
</div>
|
|
242
|
+
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
243
|
+
<script src="_static/jquery.js"></script>
|
|
244
|
+
<script src="_static/underscore.js"></script>
|
|
245
|
+
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
246
|
+
<script src="_static/doctools.js"></script>
|
|
247
|
+
<script src="_static/scripts/furo.js"></script>
|
|
248
|
+
</body>
|
|
249
|
+
</html>
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html class="no-js" lang="en">
|
|
3
|
+
<head><meta charset="utf-8"/>
|
|
4
|
+
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
|
5
|
+
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
|
|
6
|
+
<link rel="index" title="Index" href="genindex" /><link rel="search" title="Search" href="search" /><link rel="next" title="Supported platforms" href="platforms" />
|
|
7
|
+
|
|
8
|
+
<meta name="generator" content="sphinx-5.0.1, furo 2022.06.04.1"/>
|
|
9
|
+
<title>Koffi</title>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=40978830699223671f4072448e654b5958f38b89" />
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
|
13
|
+
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
<style>
|
|
19
|
+
body {
|
|
20
|
+
--color-code-background: #f8f8f8;
|
|
21
|
+
--color-code-foreground: black;
|
|
22
|
+
--color-brand-primary: #FF6600;
|
|
23
|
+
--color-brand-content: #FF6600;
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
@media not print {
|
|
27
|
+
body[data-theme="dark"] {
|
|
28
|
+
--color-code-background: #202020;
|
|
29
|
+
--color-code-foreground: #d0d0d0;
|
|
30
|
+
--color-brand-primary: #FF6600;
|
|
31
|
+
--color-brand-content: #FF6600;
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
@media (prefers-color-scheme: dark) {
|
|
35
|
+
body:not([data-theme="light"]) {
|
|
36
|
+
--color-code-background: #202020;
|
|
37
|
+
--color-code-foreground: #d0d0d0;
|
|
38
|
+
--color-brand-primary: #FF6600;
|
|
39
|
+
--color-brand-content: #FF6600;
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
</style></head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
<script>
|
|
48
|
+
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
|
53
|
+
<symbol id="svg-toc" viewBox="0 0 24 24">
|
|
54
|
+
<title>Contents</title>
|
|
55
|
+
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
|
56
|
+
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
|
57
|
+
</svg>
|
|
58
|
+
</symbol>
|
|
59
|
+
<symbol id="svg-menu" viewBox="0 0 24 24">
|
|
60
|
+
<title>Menu</title>
|
|
61
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
62
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
|
63
|
+
<line x1="3" y1="12" x2="21" y2="12"></line>
|
|
64
|
+
<line x1="3" y1="6" x2="21" y2="6"></line>
|
|
65
|
+
<line x1="3" y1="18" x2="21" y2="18"></line>
|
|
66
|
+
</svg>
|
|
67
|
+
</symbol>
|
|
68
|
+
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
|
69
|
+
<title>Expand</title>
|
|
70
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
71
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
|
72
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
73
|
+
</svg>
|
|
74
|
+
</symbol>
|
|
75
|
+
<symbol id="svg-sun" viewBox="0 0 24 24">
|
|
76
|
+
<title>Light mode</title>
|
|
77
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
78
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
|
79
|
+
<circle cx="12" cy="12" r="5"></circle>
|
|
80
|
+
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
81
|
+
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
82
|
+
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
83
|
+
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
84
|
+
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
85
|
+
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
86
|
+
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
87
|
+
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
88
|
+
</svg>
|
|
89
|
+
</symbol>
|
|
90
|
+
<symbol id="svg-moon" viewBox="0 0 24 24">
|
|
91
|
+
<title>Dark mode</title>
|
|
92
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
93
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
|
94
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
95
|
+
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
|
96
|
+
</svg>
|
|
97
|
+
</symbol>
|
|
98
|
+
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
|
99
|
+
<title>Auto light/dark mode</title>
|
|
100
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
101
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
|
102
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
103
|
+
<circle cx="12" cy="12" r="9" />
|
|
104
|
+
<path d="M13 12h5" />
|
|
105
|
+
<path d="M13 15h4" />
|
|
106
|
+
<path d="M13 18h1" />
|
|
107
|
+
<path d="M13 9h4" />
|
|
108
|
+
<path d="M13 6h1" />
|
|
109
|
+
</svg>
|
|
110
|
+
</symbol>
|
|
111
|
+
</svg>
|
|
112
|
+
|
|
113
|
+
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
|
114
|
+
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
|
115
|
+
<label class="overlay sidebar-overlay" for="__navigation">
|
|
116
|
+
<div class="visually-hidden">Hide navigation sidebar</div>
|
|
117
|
+
</label>
|
|
118
|
+
<label class="overlay toc-overlay" for="__toc">
|
|
119
|
+
<div class="visually-hidden">Hide table of contents sidebar</div>
|
|
120
|
+
</label>
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
<div class="page">
|
|
125
|
+
<header class="mobile-header">
|
|
126
|
+
<div class="header-left">
|
|
127
|
+
<label class="nav-overlay-icon" for="__navigation">
|
|
128
|
+
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
|
129
|
+
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
|
130
|
+
</label>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="header-center">
|
|
133
|
+
<a href="#"><div class="brand">Koffi</div></a>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="header-right">
|
|
136
|
+
<div class="theme-toggle-container theme-toggle-header">
|
|
137
|
+
<button class="theme-toggle">
|
|
138
|
+
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
|
139
|
+
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
|
140
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
141
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
142
|
+
</button>
|
|
143
|
+
</div>
|
|
144
|
+
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
|
145
|
+
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
|
146
|
+
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
|
147
|
+
</label>
|
|
148
|
+
</div>
|
|
149
|
+
</header>
|
|
150
|
+
<aside class="sidebar-drawer">
|
|
151
|
+
<div class="sidebar-container">
|
|
152
|
+
|
|
153
|
+
<div class="sidebar-sticky"><a class="sidebar-brand" href="#">
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
<span class="sidebar-brand-text">Koffi</span>
|
|
157
|
+
|
|
158
|
+
</a><form class="sidebar-search-container" method="get" action="search" role="search">
|
|
159
|
+
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
|
|
160
|
+
<input type="hidden" name="check_keywords" value="yes">
|
|
161
|
+
<input type="hidden" name="area" value="default">
|
|
162
|
+
</form>
|
|
163
|
+
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
|
164
|
+
<ul>
|
|
165
|
+
<li class="toctree-l1"><a class="reference internal" href="platforms">Supported platforms</a></li>
|
|
166
|
+
<li class="toctree-l1"><a class="reference internal" href="start">Quick start</a></li>
|
|
167
|
+
<li class="toctree-l1"><a class="reference internal" href="types">Data types</a></li>
|
|
168
|
+
<li class="toctree-l1"><a class="reference internal" href="functions">Function calls</a></li>
|
|
169
|
+
<li class="toctree-l1"><a class="reference internal" href="memory">Memory usage</a></li>
|
|
170
|
+
<li class="toctree-l1"><a class="reference internal" href="benchmarks">Benchmarks</a></li>
|
|
171
|
+
<li class="toctree-l1"><a class="reference internal" href="contribute">Contributing</a></li>
|
|
172
|
+
</ul>
|
|
173
|
+
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
</div>
|
|
180
|
+
</aside>
|
|
181
|
+
<div class="main">
|
|
182
|
+
<div class="content">
|
|
183
|
+
<div class="article-container">
|
|
184
|
+
<a href="#" class="back-to-top muted-link">
|
|
185
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
186
|
+
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
|
187
|
+
</svg>
|
|
188
|
+
<span>Back to top</span>
|
|
189
|
+
</a>
|
|
190
|
+
<div class="content-icon-container">
|
|
191
|
+
<div class="theme-toggle-container theme-toggle-content">
|
|
192
|
+
<button class="theme-toggle">
|
|
193
|
+
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
|
194
|
+
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
|
195
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
196
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
197
|
+
</button>
|
|
198
|
+
</div>
|
|
199
|
+
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
|
200
|
+
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
|
201
|
+
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
|
202
|
+
</label>
|
|
203
|
+
</div>
|
|
204
|
+
<article role="main">
|
|
205
|
+
<section id="koffi">
|
|
206
|
+
<h1>Koffi<a class="headerlink" href="#koffi" title="Permalink to this heading">#</a></h1>
|
|
207
|
+
<section id="overview">
|
|
208
|
+
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this heading">#</a></h2>
|
|
209
|
+
<p>Koffi is a <strong>fast and easy-to-use C FFI module for Node.js</strong>, featuring:</p>
|
|
210
|
+
<ul class="simple">
|
|
211
|
+
<li><p>Low-overhead and fast performance (see <a class="reference internal" href="benchmarks#benchmarks"><span class="std std-ref">Benchmarks</span></a>)</p></li>
|
|
212
|
+
<li><p>Support for primitive and aggregate data types (structs and fixed-size arrays), both by reference (pointer) and by value</p></li>
|
|
213
|
+
<li><p>Javascript functions can be used as C callbacks (since 1.2.0)</p></li>
|
|
214
|
+
<li><p>Well-tested code base for <a class="reference internal" href="platforms#supported-platforms"><span class="std std-ref">popular OS/architecture combinations</span></a></p></li>
|
|
215
|
+
</ul>
|
|
216
|
+
</section>
|
|
217
|
+
<section id="table-of-contents">
|
|
218
|
+
<h2>Table of contents<a class="headerlink" href="#table-of-contents" title="Permalink to this heading">#</a></h2>
|
|
219
|
+
<div class="toctree-wrapper compound">
|
|
220
|
+
<ul>
|
|
221
|
+
<li class="toctree-l1"><a class="reference internal" href="platforms">Supported platforms</a></li>
|
|
222
|
+
<li class="toctree-l1"><a class="reference internal" href="start">Quick start</a><ul>
|
|
223
|
+
<li class="toctree-l2"><a class="reference internal" href="start#small-linux-example">Small Linux example</a></li>
|
|
224
|
+
<li class="toctree-l2"><a class="reference internal" href="start#small-windows-example">Small Windows example</a></li>
|
|
225
|
+
</ul>
|
|
226
|
+
</li>
|
|
227
|
+
<li class="toctree-l1"><a class="reference internal" href="types">Data types</a><ul>
|
|
228
|
+
<li class="toctree-l2"><a class="reference internal" href="types#primitive-types">Primitive types</a></li>
|
|
229
|
+
<li class="toctree-l2"><a class="reference internal" href="types#struct-types">Struct types</a></li>
|
|
230
|
+
<li class="toctree-l2"><a class="reference internal" href="types#pointer-types">Pointer types</a></li>
|
|
231
|
+
<li class="toctree-l2"><a class="reference internal" href="types#fixed-size-c-arrays">Fixed-size C arrays</a></li>
|
|
232
|
+
<li class="toctree-l2"><a class="reference internal" href="types#type-introspection">Type introspection</a></li>
|
|
233
|
+
</ul>
|
|
234
|
+
</li>
|
|
235
|
+
<li class="toctree-l1"><a class="reference internal" href="functions">Function calls</a><ul>
|
|
236
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#function-definitions">Function definitions</a></li>
|
|
237
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#synchronous-calls">Synchronous calls</a></li>
|
|
238
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#asynchronous-calls">Asynchronous calls</a></li>
|
|
239
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#variadic-functions">Variadic functions</a></li>
|
|
240
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#output-parameters">Output parameters</a></li>
|
|
241
|
+
<li class="toctree-l2"><a class="reference internal" href="functions#javascript-callbacks">Javascript callbacks</a></li>
|
|
242
|
+
</ul>
|
|
243
|
+
</li>
|
|
244
|
+
<li class="toctree-l1"><a class="reference internal" href="memory">Memory usage</a><ul>
|
|
245
|
+
<li class="toctree-l2"><a class="reference internal" href="memory#how-it-works">How it works</a></li>
|
|
246
|
+
<li class="toctree-l2"><a class="reference internal" href="memory#default-settings">Default settings</a></li>
|
|
247
|
+
</ul>
|
|
248
|
+
</li>
|
|
249
|
+
<li class="toctree-l1"><a class="reference internal" href="benchmarks">Benchmarks</a><ul>
|
|
250
|
+
<li class="toctree-l2"><a class="reference internal" href="benchmarks#rand-results">rand results</a></li>
|
|
251
|
+
<li class="toctree-l2"><a class="reference internal" href="benchmarks#atoi-results">atoi results</a></li>
|
|
252
|
+
<li class="toctree-l2"><a class="reference internal" href="benchmarks#raylib-results">Raylib results</a></li>
|
|
253
|
+
<li class="toctree-l2"><a class="reference internal" href="benchmarks#running-benchmarks">Running benchmarks</a></li>
|
|
254
|
+
</ul>
|
|
255
|
+
</li>
|
|
256
|
+
<li class="toctree-l1"><a class="reference internal" href="contribute">Contributing</a><ul>
|
|
257
|
+
<li class="toctree-l2"><a class="reference internal" href="contribute#bugs-and-feature-requests">Bugs and feature requests</a></li>
|
|
258
|
+
<li class="toctree-l2"><a class="reference internal" href="contribute#build-from-source">Build from source</a></li>
|
|
259
|
+
<li class="toctree-l2"><a class="reference internal" href="contribute#running-tests">Running tests</a></li>
|
|
260
|
+
<li class="toctree-l2"><a class="reference internal" href="contribute#todo-list">Todo list</a></li>
|
|
261
|
+
</ul>
|
|
262
|
+
</li>
|
|
263
|
+
</ul>
|
|
264
|
+
</div>
|
|
265
|
+
</section>
|
|
266
|
+
<section id="license">
|
|
267
|
+
<h2>License<a class="headerlink" href="#license" title="Permalink to this heading">#</a></h2>
|
|
268
|
+
<p>This program is free software: you can redistribute it and/or modify it under the terms of the <strong>GNU Affero General Public License</strong> as published by the Free Software Foundation, either <strong>version 3 of the License</strong>, or (at your option) any later version.</p>
|
|
269
|
+
<p>Find more information here: <a class="reference external" href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a></p>
|
|
270
|
+
</section>
|
|
271
|
+
</section>
|
|
272
|
+
|
|
273
|
+
</article>
|
|
274
|
+
</div>
|
|
275
|
+
<footer>
|
|
276
|
+
|
|
277
|
+
<div class="related-pages">
|
|
278
|
+
<a class="next-page" href="platforms">
|
|
279
|
+
<div class="page-info">
|
|
280
|
+
<div class="context">
|
|
281
|
+
<span>Next</span>
|
|
282
|
+
</div>
|
|
283
|
+
<div class="title">Supported platforms</div>
|
|
284
|
+
</div>
|
|
285
|
+
<svg><use href="#svg-arrow-right"></use></svg>
|
|
286
|
+
</a>
|
|
287
|
+
|
|
288
|
+
</div>
|
|
289
|
+
<div class="bottom-of-page">
|
|
290
|
+
<div class="left-details">
|
|
291
|
+
<div class="copyright">
|
|
292
|
+
Copyright © 2022, Niels Martignène
|
|
293
|
+
</div>
|
|
294
|
+
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
|
|
295
|
+
|
|
296
|
+
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
|
297
|
+
|
|
298
|
+
</div>
|
|
299
|
+
<div class="right-details">
|
|
300
|
+
<div class="icons">
|
|
301
|
+
|
|
302
|
+
</div>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
</footer>
|
|
307
|
+
</div>
|
|
308
|
+
<aside class="toc-drawer">
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
<div class="toc-sticky toc-scroll">
|
|
312
|
+
<div class="toc-title-container">
|
|
313
|
+
<span class="toc-title">
|
|
314
|
+
Contents
|
|
315
|
+
</span>
|
|
316
|
+
</div>
|
|
317
|
+
<div class="toc-tree-container">
|
|
318
|
+
<div class="toc-tree">
|
|
319
|
+
<ul>
|
|
320
|
+
<li><a class="reference internal" href="#">Koffi</a><ul>
|
|
321
|
+
<li><a class="reference internal" href="#overview">Overview</a></li>
|
|
322
|
+
<li><a class="reference internal" href="#table-of-contents">Table of contents</a></li>
|
|
323
|
+
<li><a class="reference internal" href="#license">License</a></li>
|
|
324
|
+
</ul>
|
|
325
|
+
</li>
|
|
326
|
+
</ul>
|
|
327
|
+
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
</div>
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
</aside>
|
|
334
|
+
</div>
|
|
335
|
+
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
336
|
+
<script src="_static/jquery.js"></script>
|
|
337
|
+
<script src="_static/underscore.js"></script>
|
|
338
|
+
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
339
|
+
<script src="_static/doctools.js"></script>
|
|
340
|
+
<script src="_static/scripts/furo.js"></script>
|
|
341
|
+
</body>
|
|
342
|
+
</html>
|