Scalar function

From APL Wiki
Revision as of 10:48, 16 October 2019 by Miraheze>Marshall (Created page with "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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 languages scalar functions recursively descend into nested arrays until they can be applied to simple scalars; in 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 ~ with non-scalar dyad Without, and similarly scalar Roll and non-scalar Deal are both written ?.

Standard scalar functions

Most APLs use a set of scalar functions that was worked out fairly early in APL's development. These are listed in this section.

Monadic functions

+ Conjugate
- Negate
× Signum or Direction
÷ Reciprocal
Floor
Ceiling
* Exponential
Natural Logarithm
| Magnitude
! Factorial
Pi Times
~ Not
Type

Dyadic functions

+ Plus
- Minus
× Times
÷ Divide
Minimum
Maximum
* Power function
Logarithm
Residue
! Binomial coefficient or combination function
Circle function
Logical And
Logical Or
Nand
Nor
< Less than
Less than or equal to
= Equal to
Greater than or equal to
> Greather than
Not equal to