piecewise
Denotes a piecewise expression.
Syntax

piecewise([expr1, cond1[, expr2, cond2[, ...]]])

for each
k
: exprk
is an expression condk
is a boolean

Description
If expr1
, expr2
, ..., is a sequence of expressions and cond1
, cond2
, ... a list of booleans, then piecewise([expr1, cond1[, expr2, cond2[, ...]]])
returns the value of the first exprk
with its corresponding condk
equal to true
, or the null object if all condk
are false
. The conditions are evaluated in order, and only if a condition evaluates to true
is its corresponding expression evaluated. Furthermore, as soon as this expression has been evaluated, it is returned; consequently, the remaining conditions and expressions will not be evaluated.
The constant otherwise
(with value true
) can be used for improved readability.
Examples
myabs ≔ x ↦ piecewise(x, x ≥ 0, −x, otherwise); mysinc ≔ x ↦ piecewise(sin(x)/x, x ≠ 0, 1, otherwise); f ≔ x ↦ piecewise(−1, x ≤ −π/2, sin(x), x < π/2, 1, otherwise);