aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-12-27 18:35:57 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-12-27 18:35:57 -0500
commite0d8a61bdc1cc15238bc1aa30510c7ee2db4feb8 (patch)
tree9ba31b902b5fc564231e471c39ddc2b1e2f4d2e5 /src
parent6a1ccd4bd4b053d494cb9acfc8116550e3de8bec (diff)
Validate right operand result for rank and depth operators
Diffstat (limited to 'src')
-rw-r--r--src/r.bqn9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/r.bqn b/src/r.bqn
index d387af4e..a333b97c 100644
--- a/src/r.bqn
+++ b/src/r.bqn
@@ -356,7 +356,14 @@ Range←{
IsArray◶I‿M 𝕩
}
-_ranks ← {⟨2⟩⊘⟨1,0⟩((⊣-1+|)˜⟜≠⊑¨<∘⊢)⥊∘𝔽}
+ValidateRanks←{
+ "⎉ or ⚇: 𝔽 result must have rank at most 1" ! 1≥=𝕩
+ 𝕩↩⥊𝕩
+ "⎉ or ⚇: 𝔽 result must have 1 to 3 elements" ! (1⊸≤∧≤⟜3)≠𝕩
+ "⎉ or ⚇: 𝔽 result must consist of integers" ! ∧´Int⌜𝕩
+ 𝕩
+}
+_ranks ← {⟨2⟩⊘⟨1,0⟩ ((⊣-1+|)˜⟜≠⊑¨<∘⊢) ValidateRanks∘𝔽}
_depthOp_←{
neg←0>n←𝕨𝔾_ranks𝕩 ⋄ F←𝔽
_d←{