diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-08-03 13:37:35 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-08-03 13:37:35 -0400 |
| commit | 7025dfed3ef57840286d81a19cac517bcd62f321 (patch) | |
| tree | 661792acf1ea8469af473684cf1f9aa0420c9009 | |
| parent | 66d0374a232c7fb7c3d443b081ae231ea249511a (diff) | |
Non-recursive iterative Indices by scanning backwards for nonzeros
| -rw-r--r-- | impl.bqn | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -71,9 +71,11 @@ Indices←{ l←≠𝕩 { ! 1×´Nat¨𝕩 - es ← +`𝕩 ⋄ e←0 ⋄ Ei←{e↩𝕩⊑es} - Ei i←0 - {j←𝕩⋄U←{U⍟(j=Ei)1+𝕩}⋄{i↩U𝕩}⍟(𝕩=e)i}¨↕(l-1)⊑es + k←l-1 + N ← ((⊢+-×0=𝕩⊑˜⊢)`k⊸-⌜↕l)⊑˜k-⊢ # Next nonzero + E ← ⊑⟜(+`𝕩) + ei←E i←N 0 + {{ei↩E i↩N𝕩+1⋄i}⍟(𝕩=ei)i}¨↕E k }⍟(0<l)𝕩 } |
