4,494
edits
Miraheze>Adám Brudzewsky m (Text replacement - "</code>" to "</source>") |
m (Text replacement - "</source>" to "</syntaxhighlight>") Tags: Mobile edit Mobile web edit |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
A singleton is an array with [[bound]] 1. Equivalently, its [[shape]] consists entirely of 1s. It may have any [[rank]]. | A '''singleton''' is an [[Array model|array]] with [[bound]] 1. Equivalently, its [[shape]] consists entirely of 1s. It may have any [[rank]]. For example, all the following are singletons: | ||
* The [[scalar]] <syntaxhighlight lang=apl inline>42</syntaxhighlight> | |||
* The [[vector]] <syntaxhighlight lang=apl inline>,42</syntaxhighlight> | |||
* The [[matrix]] <syntaxhighlight lang=apl inline>⍪42</syntaxhighlight> | |||
* The three-[[dimension]]al array <syntaxhighlight lang=apl inline>1 1 1⍴42</syntaxhighlight> | |||
* The [[nested]] scalar <syntaxhighlight lang=apl inline>⊂4 2</syntaxhighlight> | |||
Whether an array <syntaxhighlight lang=apl inline>X</syntaxhighlight> is a singleton can be determined with <syntaxhighlight lang=apl inline>1=×/⍴X</syntaxhighlight> or, less efficiently, with <syntaxhighlight lang=apl inline>1=≢,X</syntaxhighlight>. | |||
Every scalar <syntaxhighlight lang=apl inline>X</syntaxhighlight> is a singleton, because <syntaxhighlight lang=apl inline>1=×/⍴X</syntaxhighlight>, or alternatively <syntaxhighlight lang=apl inline>1=≢,X</syntaxhighlight>. | |||
Singletons may be subject to [[singleton extension]]. | Singletons may be subject to [[singleton extension]]. | ||
Only [[simple]] [[Boolean]] singletons are valid representations of logical true and false for the purposes of [[control structure]]s. | |||
{{APL features}}[[Category:Kinds of array]] |