Next: Conformance Claim, Up: IEEE Std 1788-2015 [Contents]
In terms of a better integration into the GNU Octave language, several operations use a function name which is different from the name proposed in the standard document. The following table translates and lists the implemented function names of the IEEE standard for interval arithmetic.
The implementation provides several additional functions, but this section lists only functions that are mentioned in IEEE Std 1788-2015.
The operations textToInterval (S), numsToInterval (l, u), and setDec (x) are implemented by the class constructors @infsup/infsup for bare intervals and @infsupdec/infsupdec for decorated intervals.
Operation | Implementation | Tightness |
---|---|---|
Basic operations | ||
neg (x) | @infsup/uminus | tightest |
add (x, y) | @infsup/plus | tightest |
sub (x, y) | @infsup/minus | tightest |
mul (x, y) | @infsup/times | tightest |
div (x, y) | @infsup/rdivide | tightest |
recip (x) | 1 ./ x | tightest |
sqr (x) | x .^ 2 | tightest |
sqrt (x) | @infsup/realsqrt | tightest |
fma (x, y, z) | @infsup/fma | tightest |
Power functions | ||
pown (x, p) | @infsup/pown | tightest |
pow (x, y) | @infsup/pow | tightest |
exp (x) | @infsup/exp | tightest |
exp2 (x) | @infsup/pow2 | tightest |
exp10 (x) | @infsup/pow10 | tightest |
log (x) | @infsup/log | tightest |
log2 (x) | @infsup/log2 | tightest |
log10 (x) | @infsup/log10 | tightest |
Trigonometric / hyperbolic | ||
sin (x) | @infsup/sin | tightest |
cos (x) | @infsup/cos | tightest |
tan (x) | @infsup/tan | tightest |
asin (x) | @infsup/asin | tightest |
acos (x) | @infsup/acos | tightest |
atan (x) | @infsup/atan | tightest |
atan2 (y, x) | @infsup/atan2 | tightest |
sinh (x) | @infsup/sinh | tightest |
cosh (x) | @infsup/cosh | tightest |
tanh (x) | @infsup/tanh | tightest |
asinh (x) | @infsup/asinh | tightest |
acosh (x) | @infsup/acosh | tightest |
atanh (x) | @infsup/atanh | tightest |
Integer functions | ||
sign (x) | @infsup/sign | tightest |
ceil (x) | @infsup/ceil | tightest |
floor (x) | @infsup/floor | tightest |
trunc (x) | @infsup/fix | tightest |
roundTiesToEven (x) | @infsup/roundb | tightest |
roundTiesToAway (x) | @infsup/round | tightest |
Absmax functions | ||
abs (x) | @infsup/abs | tightest |
min (x, y) | @infsup/min | tightest |
max (x, y) | @infsup/max | tightest |
Operation | Implementation | Tightness |
---|---|---|
From unary functions | ||
sqrRev (c, x) | @infsup/sqrrev | tightest |
absRev (c, x) | @infsup/absrev | tightest |
pownRev (c, x, p) | @infsup/pownrev | valid (tightest for p ≥ -2) |
sinRev (c, x) | @infsup/sinrev | valid |
cosRev (c, x) | @infsup/cosrev | valid |
tanRev (c, x) | @infsup/tanrev | valid |
coshRev (c, x) | @infsup/coshrev | tightest |
From binary functions | ||
mulRev (b, c, x) | @infsup/mulrev | tightest |
powRev1 (b, c, x) | @infsup/powrev1 | valid |
powRev2 (a, c, x) | @infsup/powrev2 | valid |
atan2Rev1 (b, c, x) | @infsup/atan2rev1 | valid |
atan2Rev2 (a, c, x) | @infsup/atan2rev2 | valid |
Two-output division | ||
mulRevToPair (b, c) | @infsup/mulrev | tightest |
Cancellative addition and subtraction | ||
cancelMinus (x, y) | @infsup/cancelminus | tightest |
cancelPlus (x, y) | @infsup/cancelplus | tightest |
Operation | Implementation | Tightness |
---|---|---|
intersection (x, y) | @infsup/intersect | tightest |
convexHull (x, y) | @infsup/union | tightest |
Operation | Implementation | Rounding mode |
---|---|---|
inf (x) | @infsup/inf | |
sup (x) | @infsup/sup | |
mid (x) | @infsup/mid | to nearest, ties to even |
wid (x) | @infsup/wid | toward +∞ |
rad (x) | @infsup/rad | toward +∞ |
mag (x) | @infsup/mag | |
mig (x) | @infsup/mig |
Operation | Implementation | Description |
---|---|---|
isEmpty (x) | @infsup/isempty | x is the empty set |
isEntire (x) | @infsup/isentire | x is the whole line |
equal (a, b) | @infsup/eq | a equals b |
subset (a, b) | @infsup/subset | a is a subset of b |
less (a, b) | @infsup/le | a is weakly less than b |
precedes (a, b) | @infsup/precedes | a is left of but may touch b |
interior (a, b) | @infsup/interior | a is interior to b |
strictLess (a, b) | @infsup/lt | a is strictly less than b |
strictPrecedes (a, b) | @infsup/strictprecedes | a is strictly left of b |
disjoint (a, b) | @infsup/disjoint | a and b are disjoint |
Operation | Implementation | Tightness / Comments |
---|---|---|
Elementary functions | ||
rootn (x, q) | @infsup/nthroot | valid (tightest for q ≥ -2) |
expm1 (x) | @infsup/expm1 | tightest |
logp1 (x) | @infsup/log1p | tightest |
hypot (x, y) | @infsup/hypot | tightest |
rSqrt (x) | @infsup/rsqrt | tightest |
Boolean functions | ||
isCommonInterval (x) | @infsup/iscommoninterval | (=bound and non-empty) |
isSingleton (x) | @infsup/issingleton | (=single real) |
isMember (m, x) | @infsup/ismember | |
Extended comparison | ||
overlap (a, b) | @infsup/overlap |
See @infsup/newdec, @infsupdec/intervalpart, and @infsupdec/decorationpart. The operation setDec is implemented by @infsupdec/infsupdec.
For comparison of decorations with respect to the propagation order com > dac > def > trv > ill
use the numeric value returned by decorationpart (x, "uint8")
.
See mpfr_vector_sum_d and mpfr_vector_dot_d. The operations sumAbs
and sumSquare
can be computed with mpfr_vector_sum_d (rounding mode, abs (x))
and mpfr_vector_dot_d (rounding mode, x, x)
respectively.
The operation textToInterval
is implemented by the class constructors @infsup/infsup for bare intervals and @infsupdec/infsupdec for decorated intervals. Both are able to operate on interval literals provided as strings.
See intervaltotext.
See exacttointerval and @infsup/intervaltoexact.
See interval_bitpack and @infsup/bitunpack.
Next: Conformance Claim, Up: IEEE Std 1788-2015 [Contents]