Mesh: Difference between revisions
Jump to navigation
Jump to search
(Add modern equivalents) |
(Add modern equivalent) |
||
Line 2: | Line 2: | ||
|<math>\backslash{}a,u,b\backslash</math> | |<math>\backslash{}a,u,b\backslash</math> | ||
|} | |} | ||
In [[Iverson notation]], '''Mesh''' (<math>\backslash{}a,u,b\backslash</math>) is a three-argument operation which merges two equal-[[rank]] arguments according to a [[Boolean]] [[vector]]. The relationship between [[Mask]] and Mesh is similar to that between [[Compress]] and [[Expand]]. A related function also named Mesh is implemented in [[NARS2000]] as a case of [[Compose]]: <source lang=apl inline>L(a∘\)R</source> combines <source lang=apl inline>L</source> and <source lang=apl inline>R</source> using an integer (not Boolean) control vector. | In [[Iverson notation]], '''Mesh''' (<math>\backslash{}a,u,b\backslash</math>) is a three-argument operation which merges two equal-[[rank]] arguments according to a [[Boolean]] [[vector]]. The relationship between [[Mask]] and Mesh is similar to that between [[Compress]] and [[Expand]]. A related function also named Mesh is implemented in [[NARS2000]] as a case of [[Compose]]: <source lang=apl inline>L(a∘\)R</source> combines <source lang=apl inline>L</source> and <source lang=apl inline>R</source> using an integer (not Boolean) control vector. In other modern APLs, the equivalent is <source lang=apl inline>u⊃¨((~u)\a),¨(u\b)</source> with [[index origin]] 0. | ||
== In Iverson notation == | == In Iverson notation == |