Scalar function: Difference between revisions

Jump to navigation Jump to search
580 bytes added ,  10:29, 4 May 2020
no edit summary
Miraheze>Adám Brudzewsky
No edit summary
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
A scalar function is one of a class of primitive functions that apply to arguments one [[element]] at a time. Dyadic scalar functions pair elements of their arguments based on [[conformability]] rules, and thus are subject to [[scalar extension]]. In [[Nested array model|nested]] array languages scalar functions recursively descend into nested arrays until they can be applied to [[simple scalars]]; in [[Flat array model|flat]] array languages they usually do not apply inside [[boxes]].
A '''scalar function''' is one of a class of [[primitive function]]s that apply to [[argument]]s one [[element]] at a time. [[Dyadic]] scalar functions pair elements of their arguments based on [[conformability]] rules, and thus are subject to [[scalar extension]]. In [[Nested array model|nested]] array languages, scalar functions [[pervasion|pervade]] any [[nested array]]s by [[recursion|recursively]] descending into them until reaching [[simple scalars]]; in [[Flat array model|flat]] array languages they usually do not apply inside [[boxes]].


Only a particular [[valence]] of a function is labelled "scalar". The scalar monad [[Not]] usually shares the glyph <source lang=apl inline>~</source> with non-scalar dyad [[Without]], and similarly scalar [[Roll]] and non-scalar [[Deal]] are both written <source lang=apl inline>?</source>.
Only a particular [[valence]] of a function is labelled "scalar". The scalar monad [[Not]] usually shares the glyph <source lang=apl inline>~</source> with non-scalar dyad [[Without]], and similarly scalar [[Roll]] and non-scalar [[Deal]] are both written <source lang=apl inline>?</source>.
Line 52: Line 52:
| || <source lang=apl inline>≥</source> || [[Greater than or equal to]]
| || <source lang=apl inline>≥</source> || [[Greater than or equal to]]
|-
|-
| || <source lang=apl inline>></source> || [[Greather than]]
| || <source lang=apl inline>></source> || [[Greater than]]
|-
|-
| || <source lang=apl inline>≠</source> || [[Not equal to]]
| || <source lang=apl inline>≠</source> || [[Not equal to]]
Line 59: Line 59:
== Additional scalar functions ==
== Additional scalar functions ==


Very few additional scalar functions have been added later:
Very few additional scalar functions have been added later in various dialects:
{| class=wikitable
{| class=wikitable
! Monadic function !! Glyph !! Dyadic function
! Monadic function !! Glyph !! Dyadic function
|-
|-
| [[Square root]] || <source lang=apl inline>√</source> || [[Nth root]]
| [[Square Root]] || <source lang=apl inline>√</source> || [[Nth Root]]
|-
|-
| [[Type]] || <source lang=apl inline>∊</source> ||
| [[Type]] || <source lang=apl inline>∊</source> or <source lang=apl inline>⊤</source> ||
|-
| || <source lang=apl inline>∧</source> || [[Lowest Common Multiple]] (LCM)
|-
| || <source lang=apl inline>∨</source> || [[Greatest Common Divisor]] (GCD)
|-
|-
|}
|}
== External links ==
* [https://www.sacrideo.us/apl-a-day-7-scalar-functions/ Scalar Functions] (part of [https://www.sacrideo.us/tag/apl-a-day/ APL a Day])
* [https://forums.dyalog.com/viewtopic.php?f=30&t=1621 Scalar functions] by [[Roger Hui]]


{{APL programming language}}
{{APL features}}[[Category:Kinds of functions]][[Category:Scalar functions| ]]

Navigation menu