Take: Difference between revisions
Jump to navigation
Jump to search
Miraheze>Marshall (APL model) |
Miraheze>Marshall |
||
Line 75: | Line 75: | ||
=== APL model === | === APL model === | ||
The following [[dfn]] models Take as defined by [[Dyalog APL]] but with no axis specification or error checking. It is implemented by construction a [[nested]] | The following [[dfn]] models Take as defined by [[Dyalog APL]] but with no axis specification or error checking. It is implemented by construction a [[nested array]] of indices and using these to select from the right argument, with prototypes used for out-of-range indices. It explicitly includes [[scalar rank extension]] for the right argument and the SHARP APL extension; if these extensions are not wanted those lines can be removed. [[Scalar rank extension]] of the left argument is inherited from [[Iota]] and [[scalar function]] extension. | ||
<source class=apl> | <source class=apl> | ||
Line 93: | Line 93: | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
This definition could be converted to work in a [[flat]] APL with the [[Rank operator]] by using an [[odometer function]] like <code>⊢⊤(⍳×/)</code> in place of [[Iota]] and changing the two subsequent uses of [[Each]] to Rank 1. | This definition could be converted to work in a [[Flat array model|flat]] APL with the [[Rank operator]] by using an [[odometer function]] like <code>⊢⊤(⍳×/)</code> in place of [[Iota]] and changing the two subsequent uses of [[Each]] to Rank 1. | ||
== History == | == History == |