aboutsummaryrefslogtreecommitdiff
path: root/dzref
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-21 19:13:22 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-21 19:24:35 -0400
commitb3ecbb5695a5a0a0637c924da0022abca940ffee (patch)
treebb6928abcb6d2019450ea48637ef1ceb856fe3c5 /dzref
parentbb7f6750d5be62bafff46dd94883189977b39d6a (diff)
Add Rank function as monadic =
Diffstat (limited to 'dzref')
-rwxr-xr-xdzref37
1 files changed, 19 insertions, 18 deletions
diff --git a/dzref b/dzref
index eabf24cf..4ce64b25 100755
--- a/dzref
+++ b/dzref
@@ -33,10 +33,10 @@ _depthOp_←{
_onAxes_←{
F←𝔽
(𝔾<≡)∘⊣◶{ # One axis
- ! 1≤≠≢𝕩
+ ! 1≤=𝕩
𝕨F𝕩
}‿{ # Multiple axes
- ! 1≥≠≢𝕨
+ ! 1≥=𝕨
! 𝕨≤○≠≢𝕩
R←{(⊑𝕨)F(1↓𝕨)⊸R˘𝕩}⍟{0<≠𝕨}
𝕨R𝕩
@@ -45,7 +45,7 @@ _onAxes_←{
Windows←{
! IsArray 𝕩
- ! 1≥≠≢𝕨
+ ! 1≥=𝕨
! 𝕨≤○≠≢𝕩
! ∧´Nat¨⥊𝕨
s←(≠𝕨)↑≢𝕩
@@ -69,8 +69,8 @@ Join←{
s←≢¨𝕩
d←≠⊑s
! ∧´⥊d=≠¨s
- ! d≥≠≢𝕩
- l←(≢𝕩){(𝕩⊑⟜≢a⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←≠≢a←𝕩
+ ! d≥=𝕩
+ l←(≢𝕩){(𝕩⊑⟜≢a⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←=a←𝕩
! (r↑¨s)≡C l
i←C{p←+´¨↑𝕩⋄(↕⊑⌽p)-𝕩/¯1↓p}¨l
>i<¨⊸⊏¨l/𝕩
@@ -79,20 +79,20 @@ Join←{
∾ ↩ Join ⊘ ∾
# Searching
-IndexOf←(1<⌈○(≠≢))◶⊐‿{
- c←1-˜≠≢𝕨
+IndexOf←(1<⌈○=)◶⊐‿{
+ c←1-˜=𝕨
! 0≤c
𝕨 (0<≠𝕨)◶⟨0⎉c∘⊢,((+´<˘)∧`)≢⎉c⎉c‿∞⟩ 𝕩
}
UniqueMask←{
- ! 1≤≠≢𝕩
+ ! 1≤=𝕩
u←0↑𝕩
{(≠u)>⊑u IndexOf 𝕩}◶{u↩u∾𝕩⋄1}‿0˘𝕩
}
Find←{
- r←≠s←≢𝕨
- ! r≤≠≢𝕩
- 𝕨 ≡⎉r s ↕⎉r 𝕩
+ r←=𝕨
+ ! r≤=𝕩
+ 𝕨 ≡⎉r (≢𝕨) ↕⎉r 𝕩
}
⊐ ← !∘0 ⊘ IndexOf
@@ -101,16 +101,16 @@ Find←{
ReorderAxes←{
𝕩↩<⍟(0=≡)𝕩
- ! 1≥≠≢𝕨
+ ! 1≥=𝕨
𝕨↩⥊𝕨
! 𝕨≤○≠≢𝕩
! ∧´Nat¨⥊𝕨
- r←(≠≢𝕩)-+´¬∊𝕨
+ r←(=𝕩)-+´¬∊𝕨
! ∧´𝕨<r
𝕨↩𝕨∾𝕨(¬∘∊˜/⊢)↕r
(𝕨⊸⊏⊑𝕩˜)¨↕⌊´¨𝕨⊔≢𝕩
}
-Transpose←(≠∘≢-1˜)⊸ReorderAxes⍟(0<≠∘≢)
+Transpose←(=-1˜)⊸ReorderAxes⍟(0<=)
⍉ ← Transpose ⊘ ReorderAxes
# Sorting
@@ -119,8 +119,8 @@ Cmp ← ∨○IsArray◶{ # No arrays
}‿{ # At least one array
e←𝕨-˜○(0∨´0=≢)𝕩
𝕨(e=0)◶e‿{
- c←𝕨×∘-○(IsArray+≠∘≢)𝕩
- s←≢𝕨 ⋄ t←≢𝕩 ⋄ r←s⌊○≠t
+ c←𝕨×∘-○(IsArray+=)𝕩
+ s←≢𝕨 ⋄ t←≢𝕩 ⋄ r←𝕨⌊○=𝕩
l←s{i←+´∧`𝕨=𝕩⋄m←1×´i↑𝕨⋄{c↩×-´𝕩⋄m↩m×⌊´𝕩}∘(⊑¨⟜𝕨‿𝕩)⍟(r⊸>)i⋄m}○(r↑⌽)t
a←⥊𝕨⋄b←⥊𝕩
Trav←(=⟜l)◶{Trav∘(1+𝕩)⍟(0⊸=)a Cmp○(𝕩⊸⊑)b}‿c
@@ -129,7 +129,7 @@ Cmp ← ∨○IsArray◶{ # No arrays
}
_bins←{
- c←1-˜≠≢𝕨
+ c←1-˜=𝕨
! 0≤c
LE←𝔽⎉c≤0˜
! (0<≠)◶⟨1,∧´·LE´˘2↕<˘⟩𝕨
@@ -147,7 +147,7 @@ ProgressiveIndexOf ← {𝕨⊐○(≍˘⟜OccurrenceCount𝕨⊸⊐)𝕩}
X←Raw←{≤4}
{
chrs←⟨
- "!∾↕⌽⍉⍋⍒⊐⊒∊⍷"
+ "!=∾↕⌽⍉⍋⍒⊐⊒∊⍷"
""
"⚇"
@@ -176,6 +176,7 @@ X←Raw←{≤4}
⍎"Type ← ⟨⟩⥊0⊸⥊"
'!' Mod "{𝕩 ⋄ ≤1}⍟¬"
+ '=' Mod "≠∘≢ ⊘ ="
Mod⟜⥊¨ "↕∾⌽⊐⍋⍒"