Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
nessan committed Jul 26, 2024
1 parent a34263f commit 1db72e7
Show file tree
Hide file tree
Showing 16 changed files with 56 additions and 137 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0f37c3a0
d02e2c60
81 changes: 19 additions & 62 deletions content/bit_assert/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion content/matrix/access.html
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ <h1 class="title d-none d-lg-block"><code>bit::matrix</code> — Element Access<
<section id="see-also" class="level3">
<h3 class="anchored" data-anchor-id="see-also">See Also</h3>
<p><a href="../../content/vector/reference.html"><code>vector::reference</code></a><br>
<a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></p>
[<code>bit_assert</code>]</p>


</section>
Expand Down
10 changes: 1 addition & 9 deletions content/matrix/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1160,21 +1160,13 @@ <h3 class="anchored" data-anchor-id="debugging">Debugging</h3>
</thead>
<tbody>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_DEBUG</code></a></td>
<td><a href="../../content/bit_assert/index.html"><code>BIT_DEBUG</code></a></td>
<td>This compile-time flag enables extra safety checks.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_NDEBUG</code></a></td>
<td>This compile-time flag turns off most safety checks.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_debug_assert</code></a></td>
<td>These assertions are only checked if the <code>BIT_DEBUG</code> flag is set at compile time.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></td>
<td>These assertions are checked unless the <code>BIT_NDEBUG</code> flag is set at compile time.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a></td>
<td>Use this form for checks that must always be performed.</td>
Expand Down
2 changes: 1 addition & 1 deletion content/matrix/invert.html
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ <h1 class="title d-none d-lg-block"><code>bit::matrix</code> — Bit-Matrix Inve
</div>
</div>
<div class="callout-body-container callout-body">
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_assert</code></a> macro checks that pre-condition. Setting the <code>BIT_NDEBUG</code> flag at compile time turns off that check.</p>
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a> macro checks that pre-condition.</p>
</div>
</div>
<p><span class="bt">Example</span></p>
Expand Down
2 changes: 1 addition & 1 deletion content/matrix/pow.html
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ <h1 class="title d-none d-lg-block"><code>bit::matrix</code> — Powers of a Bit
</div>
</div>
<div class="callout-body-container callout-body">
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_assert</code></a> macro checks that pre-condition. Setting the <code>BIT_NDEBUG</code> flag at compile time turns off that check.</p>
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a> macro checks that pre-condition.</p>
</div>
</div>
<p><span class="bt">Example</span></p>
Expand Down
2 changes: 1 addition & 1 deletion content/matrix/swap.html
Original file line number Diff line number Diff line change
Expand Up @@ -596,7 +596,7 @@ <h1 class="title d-none d-lg-block"><code>bit::matrix</code> — Swap Two Rows/C
</div>
</div>
<div class="callout-body-container callout-body">
<p>Generally, these methods do <em>not</em> check whether the indices are in bounds. If they aren’t, the behavior is undefined (but bound to be wrong!) All of them will perform range checking if you set the <code>BIT_DEBUG</code> at compile time. See <a href="../../content/bit_assert/index.html"><code>bit_assert</code></a>.</p>
<p>Generally, these methods do <em>not</em> check whether the indices are in bounds. If they aren’t, the behavior is undefined (but bound to be wrong!) All of them will perform range checking if you set the <code>BIT_DEBUG</code> at compile time. See [<code>bit_assert</code>].</p>
</div>
</div>
<p><span class="bt">Example</span></p>
Expand Down
4 changes: 1 addition & 3 deletions content/notes/design.html
Original file line number Diff line number Diff line change
Expand Up @@ -761,9 +761,7 @@ <h2 class="anchored" data-anchor-id="assertions">Assertions</h2>
</div>
</div>
<p>The most commonly used form in the library is <code>bit_debug_assert(...)</code>. This form expands to nothing <em>unless</em> the programmer sets the <code>BIT_DEBUG</code> flag at compile time. That is typically done automatically <em>only</em> for debug software builds and is <em>never</em> done for release/optimized builds.</p>
<p>There are a couple of other versions of our assert macros.</p>
<p>The <code>bit_assert(...)</code> macro is always on unless the programmer sets the <code>BIT_NDEBUG</code> flag at compile time. Typically, we employ this form if the assertion check is relatively cheap compared to the work done in the function call. For example, the bit-matrix inversion function uses this form of assertion to check that the input bit-matrix is square. That check cost is negligible compared to the typical cost of inverting a bit-matrix, but to extract every ounce of efficiency, you can set the <code>BIT_NDEBUG</code> flag during compile time.</p>
<p>Finally, some checks must always be performed. The <code>bit_always_assert(...)</code> form handles those cases.</p>
<p>There is also a version <code>bit_always_assert(...)</code> for checks that should always be carried out no matter what flags are passed to the compiler. Typically these are for assertions where the cost of the check is cheap compared to the cost of the work done in the method.</p>


</section>
Expand Down
2 changes: 1 addition & 1 deletion content/notes/gf2.html
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ <h2 class="anchored" data-anchor-id="some-things-are-simpler">Some things are si
<section id="gaussian-elimination-in-ff" class="level2">
<h2 class="anchored" data-anchor-id="gaussian-elimination-in-ff">Gaussian Elimination in <span class="math inline">\(\FF\)</span></h2>
<p>Suppose that <span class="math inline">\(A\)</span> is an <span class="math inline">\(n \times n\)</span> matrix over <span class="math inline">\(\FF\)</span> and <span class="math inline">\(b\)</span> is a compatibly sized bit-vector where we are interested in finding an <span class="math inline">\(x\)</span> satisfying <span class="math inline">\(A \cdot x = b\)</span>. Then the pseudocode for Gaussian elimination looks like:</p>
<div id="alg-ge" class="pseudocode-container quarto-float" data-pseudocode-number="1" data-caption-prefix="Algorithm" data-no-end="false" data-line-number="true" data-indent-size="1.2em" data-comment-delimiter="//" data-line-number-punc=":">
<div id="alg-ge" class="pseudocode-container quarto-float" data-comment-delimiter="//" data-pseudocode-number="1" data-indent-size="1.2em" data-line-number="true" data-no-end="false" data-line-number-punc=":" data-caption-prefix="Algorithm">
<div class="pseudocode">
\begin{algorithm} \caption{Gaussian Elimination in $F_2$} \begin{algorithmic} \Procedure{Solve}{$A, b, n$} \For {$j = 0$ \To $n - 1$} \State $s = j$ \While {$A(s,j) = 0$} \State $s = s + 1$ \EndWhile \If {$s &gt; n$} \Continue \EndIf \If {$ s \ne j$} \State swap rows $s$ and $j$ in the matrix $A$ \State swap elements $s$ and $j$ in the vector $b$ \EndIf \For {$i = j+1$ \To $n$} \If {$A(i,j) == 1$} \State replace row $i$ in $A$ with the sum of rows $i$ and $j$ \State replace element $i$ in $b$ with the sum of elements $i$ and $j$ \EndIf \EndFor \EndFor \EndProcedure \end{algorithmic} \end{algorithm}
</div>
Expand Down
2 changes: 1 addition & 1 deletion content/polynomial/access.html
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ <h1 class="title d-none d-lg-block"><code>bit::polynomial</code> — Coefficient
<h3 class="anchored" data-anchor-id="see-also">See Also</h3>
<p><a href="../../content/polynomial/reference.html"><code>polynomial::reference</code></a><br>
<a href="../../content/polynomial/size.html"><code>polynomial::size</code></a><br>
<a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></p>
[<code>bit_assert</code>]</p>


</section>
Expand Down
2 changes: 1 addition & 1 deletion content/polynomial/evaluation.html
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ <h2 class="anchored" data-anchor-id="matrix-arguments">Matrix Arguments</h2>
</div>
</div>
<div class="callout-body-container callout-body">
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_assert</code></a> macro checks that pre-condition. Setting the <code>BIT_NDEBUG</code> flag at compile time turns off that check.</p>
<p>The input matrix must be square, and the <a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a> macro checks that pre-condition.</p>
</div>
</div>
<p><span class="bt">Example</span></p>
Expand Down
12 changes: 2 additions & 10 deletions content/polynomial/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,7 @@ <h3 class="anchored" data-anchor-id="other-instance-methods">Other Instance Meth
</section>
<section id="debugging" class="level3">
<h3 class="anchored" data-anchor-id="debugging">Debugging</h3>
<p>You can set some compile-time flags that enable extra safety checks. You might set these flags in <code>DEBUG</code> builds where performance is not the critical concern.</p>
<p>You can set a compile-time flag to enable extra safety checks. These checks can have a severe performance penalty so typically are only turned on for development.</p>
<div class="table-responsive">
<table class="table-bordered table-striped table-hover caption-top table">
<colgroup>
Expand All @@ -1010,21 +1010,13 @@ <h3 class="anchored" data-anchor-id="debugging">Debugging</h3>
</thead>
<tbody>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_DEBUG</code></a></td>
<td><a href="../../content/bit_assert/index.html"><code>BIT_DEBUG</code></a></td>
<td>This compile-time flag enables extra safety checks.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_NDEBUG</code></a></td>
<td>This compile-time flag turns off most safety checks.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_debug_assert</code></a></td>
<td>These assertions are <strong>only</strong> checked if you set the <code>BIT_DEBUG</code> flag at compile time.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></td>
<td>These assertions are checked <strong>unless</strong> you set the <code>BIT_NDEBUG</code> flag at compile time.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a></td>
<td>These assertions are always checked.</td>
Expand Down
2 changes: 1 addition & 1 deletion content/vector/access.html
Original file line number Diff line number Diff line change
Expand Up @@ -672,7 +672,7 @@ <h1 class="title d-none d-lg-block"><code>bit::vector</code> — Element Access<
<h3 class="anchored" data-anchor-id="see-also">See Also</h3>
<p><a href="../../content/vector/reference.html"><code>vector::reference</code></a><br>
<a href="../../content/vector/size.html"><code>vector::size</code></a><br>
<a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></p>
[<code>bit_assert</code>]</p>


</section>
Expand Down
12 changes: 2 additions & 10 deletions content/vector/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1210,7 +1210,7 @@ <h3 class="anchored" data-anchor-id="other-instance-methods">Other Instance Meth
</section>
<section id="debugging" class="level3">
<h3 class="anchored" data-anchor-id="debugging">Debugging</h3>
<p>You can set some compile-time flags that enable range checking and so on. You might set these flags in <code>DEBUG</code> builds where performance is not the critical concern.</p>
<p>You can set a compile-time flag <a href="../../content/bit_assert/index.html"><code>BIT_DEBUG</code></a> to enable range checking and other assertions. These checks can have a substantial performance impact so typically are only used during development.</p>
<div class="table-responsive">
<table class="table-bordered table-striped table-hover caption-top table">
<colgroup>
Expand All @@ -1225,21 +1225,13 @@ <h3 class="anchored" data-anchor-id="debugging">Debugging</h3>
</thead>
<tbody>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_DEBUG</code></a></td>
<td><a href="../../content/bit_assert/index.html"><code>BIT_DEBUG</code></a></td>
<td>This compile-time flag enables extra safety checks.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html#compiler-flags"><code>BIT_NDEBUG</code></a></td>
<td>This compile-time flag turns off most safety checks.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_debug_assert</code></a></td>
<td>These assertions are <strong>only</strong> checked if you set the <code>BIT_DEBUG</code> flag at compile time.</td>
</tr>
<tr class="even">
<td><a href="../../content/bit_assert/index.html"><code>bit_assert</code></a></td>
<td>These assertions are checked <strong>unless</strong> you set the <code>BIT_NDEBUG</code> flag at compile time.</td>
</tr>
<tr class="odd">
<td><a href="../../content/bit_assert/index.html"><code>bit_always_assert</code></a></td>
<td>These assertions are always checked.</td>
Expand Down
Loading

0 comments on commit 1db72e7

Please sign in to comment.