3,038
edits
m (2 revisions imported: Migrate from miraheze) |
(Prefix and Suffix vectors now have a page) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
In analogy to [[prefix]] testing, whether an array is a suffix may be tested using [[Take]] with a [[negate]]d left argument and [[Match]]. The only difference is the negation. | In analogy to [[prefix]] testing, whether an array is a suffix may be tested using [[Take]] with a [[negate]]d left argument and [[Match]]. The only difference is the negation. | ||
< | <syntaxhighlight lang=apl> | ||
isSuffix ← {((≢⍺)≤(≢⍵)) ∧ ⍺≡(-≢⍺)↑⍵} | isSuffix ← {((≢⍺)≤(≢⍵)) ∧ ⍺≡(-≢⍺)↑⍵} | ||
'fix' isSuffix 'suffix' | 'fix' isSuffix 'suffix' | ||
Line 8: | Line 8: | ||
'suff' isSuffix 'suffix' | 'suff' isSuffix 'suffix' | ||
0 | 0 | ||
</ | </syntaxhighlight> | ||
We can also use an < | We can also use an <syntaxhighlight lang=apl inline>isPrefix</syntaxhighlight> function directly by [[Reverse|reversing]] both its arguments. In the second definition below, this relation is written more succinctly in a [[tacit]] style using the [[Over]] operator. | ||
< | <syntaxhighlight lang=apl> | ||
isSuffix ← {(⊖⍺)isPrefix(⊖⍵)} | isSuffix ← {(⊖⍺)isPrefix(⊖⍵)} | ||
isSuffix ← isPrefix⍥⊖ | isSuffix ← isPrefix⍥⊖ | ||
</ | </syntaxhighlight> | ||
In [[leading axis theory]], the [[cell shape]] of each k-[[cell]] in an array is a suffix of that array's [[shape]], while the [[frame]] is a [[prefix]] of the shape. | In [[leading axis theory]], the [[cell shape]] of each k-[[cell]] in an array is a suffix of that array's [[shape]], while the [[frame]] is a [[prefix]] of the shape. | ||
[[Iverson notation]] included the notion of a suffix vector <math>\omega^j(n)</math> consisting of <math>n-j</math> zeros followed by <math>j</math> ones; such a vector could be used to produce a length-<math>j</math> suffix of a length-<math>n</math> vector using [[Compress]]. | [[Iverson notation]] and very early APLs included the notion of a [[suffix vector]] <math>\omega^j(n)</math> consisting of <math>n-j</math> zeros followed by <math>j</math> ones; such a vector could be used to produce a length-<math>j</math> suffix of a length-<math>n</math> vector using [[Compress]]. | ||
[[Category:Array relationships]] |