diff options
Diffstat (limited to 'functions.c')
-rw-r--r-- | functions.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/functions.c b/functions.c index ed0fb36..2425798 100644 --- a/functions.c +++ b/functions.c @@ -369,6 +369,13 @@ fnSame(Array *right) Array * fnUniqueMask(Array *right) { + if(right->rank == 0){ + Array *res = allocarray(AtypeInt, 1, 1); + res->shape[0] = 1; + res->intdata[0] = 1; + return res; + } + return rundfn(L"(⍳≢⍵)≤⊃∘⍸¨↓≡⌾⍨⌷∘⍵¨⍳≢⍵", nil, nil, nil, right); } @@ -620,6 +627,9 @@ fnEnlist(Array *right) Array * fnUnique(Array *right) { + if(right->rank == 0) + return fnRavel(right); + return rundfn(L"(≠⍵)⌿⍵", nil, nil, nil, right); } |