Skip to content

Commit

Permalink
build based on 70d522b
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Jan 11, 2023
1 parent c8168ad commit 3fa7080
Show file tree
Hide file tree
Showing 118 changed files with 949 additions and 947 deletions.
230 changes: 115 additions & 115 deletions dev/base/arrays/index.html

Large diffs are not rendered by default.

308 changes: 154 additions & 154 deletions dev/base/base/index.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions dev/base/c/index.html

Large diffs are not rendered by default.

300 changes: 150 additions & 150 deletions dev/base/collections/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/base/constants/index.html

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions dev/base/file/index.html

Large diffs are not rendered by default.

92 changes: 46 additions & 46 deletions dev/base/io-network/index.html

Large diffs are not rendered by default.

40 changes: 20 additions & 20 deletions dev/base/iterators/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/base/libc/index.html

Large diffs are not rendered by default.

250 changes: 125 additions & 125 deletions dev/base/math/index.html

Large diffs are not rendered by default.

34 changes: 17 additions & 17 deletions dev/base/multi-threading/index.html

Large diffs are not rendered by default.

98 changes: 49 additions & 49 deletions dev/base/numbers/index.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions dev/base/parallel/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/base/punctuation/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/base/simd-types/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@

triple(c::m128) = add(add(c,c),c)

code_native(triple,(m128,))</code></pre><p>然而,因为无法依靠自动向量化,以后将主要通过使用基于 <code>llvmcall</code> 的库来提供 SIMD 支持。</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../stacktraces/">« 堆栈跟踪</a><a class="docs-footer-nextpage" href="../../stdlib/Artifacts/">Artifacts »</a><div class="flexbox-break"></div><p class="footer-message">📢📢📢 JuliaCN 2022 冬季见面会 报告<a href="https://cn.julialang.org/meetup-website/2022/">征集</a></p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">设置</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">选择主题</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>本文档在<span class="colophon-date" title="2022 十月 10 周一 04:55">2022 十月 10 周一</span><a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a>使用1.8.2版本的Julia生成。</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
code_native(triple,(m128,))</code></pre><p>然而,因为无法依靠自动向量化,以后将主要通过使用基于 <code>llvmcall</code> 的库来提供 SIMD 支持。</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../stacktraces/">« 堆栈跟踪</a><a class="docs-footer-nextpage" href="../../stdlib/Artifacts/">Artifacts »</a><div class="flexbox-break"></div><p class="footer-message">📢📢📢 JuliaCN 2022 冬季见面会 报告<a href="https://cn.julialang.org/meetup-website/2022/">征集</a></p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">设置</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">选择主题</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>本文档在<span class="colophon-date" title="2023 一月 11 周三 10:46">2023 一月 11 周三</span><a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a>使用1.8.5版本的Julia生成。</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
32 changes: 16 additions & 16 deletions dev/base/sort/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/base/stacktraces/index.html

Large diffs are not rendered by default.

170 changes: 85 additions & 85 deletions dev/base/strings/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/devdocs/ast/index.html

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions dev/devdocs/backtraces/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/devdocs/boundscheck/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
end
return r
end</code></pre><p>使用自定义的类数组类型 <code>MyArray</code>,我们有:</p><pre><code class="language-julia">@inline getindex(A::MyArray, i::Real) = (@boundscheck checkbounds(A,i); A.data[to_index(i)])</code></pre><p><code>getindex</code><code>sum</code> 包裹时,对 <code>checkbounds(A,i)</code> 的调用会被忽略。如果存在多层包裹,最多只有一个 <code>@boundscheck</code> 被忽略。这个规则用来防止将来代码被改变时潜在的多余忽略。</p><h2 id="Propagating-inbounds"><a class="docs-heading-anchor" href="#Propagating-inbounds">Propagating inbounds</a><a id="Propagating-inbounds-1"></a><a class="docs-heading-anchor-permalink" href="#Propagating-inbounds" title="Permalink"></a></h2><p>There may be certain scenarios where for code-organization reasons you want more than one layer between the <code>@inbounds</code> and <code>@boundscheck</code> declarations. For instance, the default <code>getindex</code> methods have the chain <code>getindex(A::AbstractArray, i::Real)</code> calls <code>getindex(IndexStyle(A), A, i)</code> calls <code>_getindex(::IndexLinear, A, i)</code>.</p><p>To override the &quot;one layer of inlining&quot; rule, a function may be marked with <a href="../../base/base/#Base.@propagate_inbounds"><code>Base.@propagate_inbounds</code></a> to propagate an inbounds context (or out of bounds context) through one additional layer of inlining.</p><h2 id="The-bounds-checking-call-hierarchy"><a class="docs-heading-anchor" href="#The-bounds-checking-call-hierarchy">The bounds checking call hierarchy</a><a id="The-bounds-checking-call-hierarchy-1"></a><a class="docs-heading-anchor-permalink" href="#The-bounds-checking-call-hierarchy" title="Permalink"></a></h2><p>The overall hierarchy is:</p><ul><li><p><code>checkbounds(A, I...)</code> which calls</p><ul><li><p><code>checkbounds(Bool, A, I...)</code> which calls</p><ul><li><p><code>checkbounds_indices(Bool, axes(A), I)</code> which recursively calls</p><ul><li><code>checkindex</code> for each dimension</li></ul></li></ul></li></ul></li></ul><p>Here <code>A</code> is the array, and <code>I</code> contains the &quot;requested&quot; indices. <code>axes(A)</code> returns a tuple of &quot;permitted&quot; indices of <code>A</code>.</p><p><code>checkbounds(A, I...)</code> throws an error if the indices are invalid, whereas <code>checkbounds(Bool, A, I...)</code> returns <code>false</code> in that circumstance. <code>checkbounds_indices</code> discards any information about the array other than its <code>axes</code> tuple, and performs a pure indices-vs-indices comparison: this allows relatively few compiled methods to serve a huge variety of array types. Indices are specified as tuples, and are usually compared in a 1-1 fashion with individual dimensions handled by calling another important function, <code>checkindex</code>: typically,</p><pre><code class="language-julia">checkbounds_indices(Bool, (IA1, IA...), (I1, I...)) = checkindex(Bool, IA1, I1) &amp;
checkbounds_indices(Bool, IA, I)</code></pre><p>so <code>checkindex</code> checks a single dimension. All of these functions, including the unexported <code>checkbounds_indices</code> have docstrings accessible with <code>?</code> .</p><p>If you have to customize bounds checking for a specific array type, you should specialize <code>checkbounds(Bool, A, I...)</code>. However, in most cases you should be able to rely on <code>checkbounds_indices</code> as long as you supply useful <code>axes</code> for your array type.</p><p>If you have novel index types, first consider specializing <code>checkindex</code>, which handles a single index for a particular dimension of an array. If you have a custom multidimensional index type (similar to <code>CartesianIndex</code>), then you may have to consider specializing <code>checkbounds_indices</code>.</p><p>Note this hierarchy has been designed to reduce the likelihood of method ambiguities. We try to make <code>checkbounds</code> the place to specialize on array type, and try to avoid specializations on index types; conversely, <code>checkindex</code> is intended to be specialized only on index type (especially, the last argument).</p><h2 id="Emit-bounds-checks"><a class="docs-heading-anchor" href="#Emit-bounds-checks">Emit bounds checks</a><a id="Emit-bounds-checks-1"></a><a class="docs-heading-anchor-permalink" href="#Emit-bounds-checks" title="Permalink"></a></h2><p>Julia can be launched with <code>--check-bounds={yes|no|auto}</code> to emit bounds checks always, never, or respect @inbounds declarations.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../stdio/">« printf() and stdio in the Julia runtime</a><a class="docs-footer-nextpage" href="../locks/">Proper maintenance and care of multi-threading locks »</a><div class="flexbox-break"></div><p class="footer-message">📢📢📢 JuliaCN 2022 冬季见面会 报告<a href="https://cn.julialang.org/meetup-website/2022/">征集</a></p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">设置</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">选择主题</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>本文档在<span class="colophon-date" title="2022 十月 10 周一 04:55">2022 十月 10 周一</span><a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a>使用1.8.2版本的Julia生成。</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
checkbounds_indices(Bool, IA, I)</code></pre><p>so <code>checkindex</code> checks a single dimension. All of these functions, including the unexported <code>checkbounds_indices</code> have docstrings accessible with <code>?</code> .</p><p>If you have to customize bounds checking for a specific array type, you should specialize <code>checkbounds(Bool, A, I...)</code>. However, in most cases you should be able to rely on <code>checkbounds_indices</code> as long as you supply useful <code>axes</code> for your array type.</p><p>If you have novel index types, first consider specializing <code>checkindex</code>, which handles a single index for a particular dimension of an array. If you have a custom multidimensional index type (similar to <code>CartesianIndex</code>), then you may have to consider specializing <code>checkbounds_indices</code>.</p><p>Note this hierarchy has been designed to reduce the likelihood of method ambiguities. We try to make <code>checkbounds</code> the place to specialize on array type, and try to avoid specializations on index types; conversely, <code>checkindex</code> is intended to be specialized only on index type (especially, the last argument).</p><h2 id="Emit-bounds-checks"><a class="docs-heading-anchor" href="#Emit-bounds-checks">Emit bounds checks</a><a id="Emit-bounds-checks-1"></a><a class="docs-heading-anchor-permalink" href="#Emit-bounds-checks" title="Permalink"></a></h2><p>Julia can be launched with <code>--check-bounds={yes|no|auto}</code> to emit bounds checks always, never, or respect @inbounds declarations.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../stdio/">« printf() and stdio in the Julia runtime</a><a class="docs-footer-nextpage" href="../locks/">Proper maintenance and care of multi-threading locks »</a><div class="flexbox-break"></div><p class="footer-message">📢📢📢 JuliaCN 2022 冬季见面会 报告<a href="https://cn.julialang.org/meetup-website/2022/">征集</a></p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">设置</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">选择主题</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>本文档在<span class="colophon-date" title="2023 一月 11 周三 10:46">2023 一月 11 周三</span><a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a>使用1.8.5版本的Julia生成。</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/devdocs/callconv/index.html

Large diffs are not rendered by default.

0 comments on commit 3fa7080

Please sign in to comment.