Difference between revisions of "Scalar function"
Miraheze>Adám Brudzewsky 
Miraheze>Adám Brudzewsky 

Line 65:  Line 65:  
 [[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>  
    
}  }  
{{APL programming language}}  {{APL programming language}} 
Revision as of 11:29, 31 October 2019
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 nonscalar dyad Without, and similarly scalar Roll and nonscalar 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 function  Glyph  Dyadic function 

Conjugate  + 
Plus 
Negate   
Minus 
Signum or Direction  × 
Times 
Reciprocal  ÷ 
Divide 
Floor  ⌊ 
Minimum 
Ceiling  ⌈ 
Maximum 
Exponential  * 
Power function 
Natural Logarithm  ⍟ 
Logarithm 
Magnitude or Absolute value   
Residue 
Pi Times  ○ 
Circle function 
Factorial  ! 
Binomial coefficient or combination function 
Roll  ? 

Not  ~ 

∧ 
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 
Additional scalar functions
Very few additional scalar functions have been added later:
Monadic function  Glyph  Dyadic function 

Square root  √ 
Nth root 
Type  ∊ or ⊤ 