diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-12-12 10:47:10 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-12-12 10:47:10 -0500 |
| commit | 971264ecf253a7907d24ed3af49db57f56dfe372 (patch) | |
| tree | a5a2c9edaf14fe12ad60f03364a951f35797f79f /docs/doc | |
| parent | abfa39c6fc52e9d58e0c205977af2073eaf05c10 (diff) | |
Use /⁼ instead of /⁼∧ where appropriate
Diffstat (limited to 'docs/doc')
| -rw-r--r-- | docs/doc/replicate.html | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/doc/replicate.html b/docs/doc/replicate.html index 77fcb44e..13dda8d5 100644 --- a/docs/doc/replicate.html +++ b/docs/doc/replicate.html @@ -221,13 +221,13 @@ ⟨ 3 2 1 ⟩ </pre> <p>Finding how many times each index appears in a list of indices is often a useful thing to do, and there are a few ways to do it:</p> -<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=K8udy5ggKOKGlTUpID3ijJwgMuKAvzLigL804oC/MeKAvzLigL8wICAjIEluZWZmaWNpZW50CgriiaDCqOKKlCAy4oC/MuKAvzTigL8x4oC/MuKAvzAKCi/igbziiKcgMuKAvzLigL804oC/MeKAvzLigL8w">↗️</a><pre> <span class='Function'>+</span><span class='Modifier'>˝˘</span> <span class='Paren'>(</span><span class='Function'>↕</span><span class='Number'>5</span><span class='Paren'>)</span> <span class='Function'>=</span><span class='Modifier'>⌜</span> <span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span> <span class='Comment'># Inefficient +<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=K8udy5ggKOKGlTUpID3ijJwgMuKAvzLigL804oC/MeKAvzLigL8wICAjIEluZWZmaWNpZW50CgriiaDCqOKKlCAy4oC/MuKAvzTigL8x4oC/MuKAvzAKCi/igbwgMuKAvzLigL804oC/MeKAvzLigL8w">↗️</a><pre> <span class='Function'>+</span><span class='Modifier'>˝˘</span> <span class='Paren'>(</span><span class='Function'>↕</span><span class='Number'>5</span><span class='Paren'>)</span> <span class='Function'>=</span><span class='Modifier'>⌜</span> <span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span> <span class='Comment'># Inefficient </span>⟨ 1 1 3 0 1 ⟩ <span class='Function'>≠</span><span class='Modifier'>¨</span><span class='Function'>⊔</span> <span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span> ⟨ 1 1 3 0 1 ⟩ - <span class='Function'>/</span><span class='Modifier'>⁼</span><span class='Function'>∧</span> <span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span> + <span class='Function'>/</span><span class='Modifier'>⁼</span> <span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span> ⟨ 1 1 3 0 1 ⟩ </pre> -<p>For <code><span class='Function'>/</span><span class='Modifier'>⁼</span></code> to work, the argument has to be sorted: otherwise it won't be a valid result of <code><span class='Function'>/</span></code>. But sorting with <code><span class='Function'>∧</span></code> is no problem, and <code><span class='Function'>/</span><span class='Modifier'>⁼</span><span class='Function'>∧</span></code> will probably be faster than <code><span class='Function'>≠</span><span class='Modifier'>¨</span><span class='Function'>⊔</span></code> in the absence of special handling for either combination.</p> +<p>The last of these is an extension defined in the language specification. As we said, the result of Indices is always sorted, so properly there's no argument that could return <code><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>4</span><span class='Ligature'>‿</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>0</span></code>. But the index-counting function is very useful, so <code><span class='Function'>/</span><span class='Modifier'>⁼</span></code> is defined to implicitly sort its argument (which is still required to be a list of natural numbers). Since <code><span class='Function'>/</span><span class='Modifier'>⁼</span></code> is implemented as a single operation, it's the best way to perform this counting task.</p> |
