Next: , Up: IEEE Std 1788-2015   [Contents]


A.1 Function Names

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.

A.1.1 Interval constants

See empty and entire.

A.1.2 Constructors

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.

A.1.3 Required functions

OperationImplementationTightness
Basic operations
neg (x)@infsup/uminustightest
add (x, y)@infsup/plustightest
sub (x, y)@infsup/minustightest
mul (x, y)@infsup/timestightest
div (x, y)@infsup/rdividetightest
recip (x)1 ./ xtightest
sqr (x)x .^ 2tightest
sqrt (x)@infsup/realsqrttightest
fma (x, y, z)@infsup/fmatightest
Power functions
pown (x, p)@infsup/powntightest
pow (x, y)@infsup/powtightest
exp (x)@infsup/exptightest
exp2 (x)@infsup/pow2tightest
exp10 (x)@infsup/pow10tightest
log (x)@infsup/logtightest
log2 (x)@infsup/log2tightest
log10 (x)@infsup/log10tightest
Trigonometric / hyperbolic
sin (x)@infsup/sintightest
cos (x)@infsup/costightest
tan (x)@infsup/tantightest
asin (x)@infsup/asintightest
acos (x)@infsup/acostightest
atan (x)@infsup/atantightest
atan2 (y, x)@infsup/atan2tightest
sinh (x)@infsup/sinhtightest
cosh (x)@infsup/coshtightest
tanh (x)@infsup/tanhtightest
asinh (x)@infsup/asinhtightest
acosh (x)@infsup/acoshtightest
atanh (x)@infsup/atanhtightest
Integer functions
sign (x)@infsup/signtightest
ceil (x)@infsup/ceiltightest
floor (x)@infsup/floortightest
trunc (x)@infsup/fixtightest
roundTiesToEven (x)@infsup/roundbtightest
roundTiesToAway (x)@infsup/roundtightest
Absmax functions
abs (x)@infsup/abstightest
min (x, y)@infsup/mintightest
max (x, y)@infsup/maxtightest

Table A.1: Required forward elementary functions

OperationImplementationTightness
From unary functions
sqrRev (c, x)@infsup/sqrrevtightest
absRev (c, x)@infsup/absrevtightest
pownRev (c, x, p)@infsup/pownrevvalid (tightest for p ≥ -2)
sinRev (c, x)@infsup/sinrevvalid
cosRev (c, x)@infsup/cosrevvalid
tanRev (c, x)@infsup/tanrevvalid
coshRev (c, x)@infsup/coshrevtightest
From binary functions
mulRev (b, c, x)@infsup/mulrevtightest
powRev1 (b, c, x)@infsup/powrev1valid
powRev2 (a, c, x)@infsup/powrev2valid
atan2Rev1 (b, c, x)@infsup/atan2rev1valid
atan2Rev2 (a, c, x)@infsup/atan2rev2valid
Two-output division
mulRevToPair (b, c)@infsup/mulrevtightest
Cancellative addition
and subtraction
cancelMinus (x, y)@infsup/cancelminustightest
cancelPlus (x, y)@infsup/cancelplustightest

Table A.2: Required reverse functions

OperationImplementationTightness
intersection (x, y)@infsup/intersecttightest
convexHull (x, y)@infsup/uniontightest

Table A.3: Required set operations

OperationImplementationRounding mode
inf (x)@infsup/inf
sup (x)@infsup/sup
mid (x)@infsup/midto nearest, ties to even
wid (x)@infsup/widtoward +∞
rad (x)@infsup/radtoward +∞
mag (x)@infsup/mag
mig (x)@infsup/mig

Table A.4: Required numeric functions of intervals

OperationImplementationDescription
isEmpty (x)@infsup/isemptyx is the empty set
isEntire (x)@infsup/isentirex is the whole line
equal (a, b)@infsup/eqa equals b
subset (a, b)@infsup/subseta is a subset of b
less (a, b)@infsup/lea is weakly less than b
precedes (a, b)@infsup/precedesa is left of but may touch b
interior (a, b)@infsup/interiora is interior to b
strictLess (a, b)@infsup/lta is strictly less than b
strictPrecedes (a, b)@infsup/strictprecedesa is strictly left of b
disjoint (a, b)@infsup/disjointa and b are disjoint

Table A.5: Required boolean functions of intervals

A.1.4 Recommended functions

OperationImplementationTightness / Comments
Elementary functions
rootn (x, q)@infsup/nthrootvalid (tightest for q ≥ -2)
expm1 (x)@infsup/expm1tightest
logp1 (x)@infsup/log1ptightest
hypot (x, y)@infsup/hypottightest
rSqrt (x)@infsup/rsqrttightest
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

Table A.6: Recommended functions

A.1.5 Operations on/with decorations

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").

A.1.6 Reduction operations

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.

A.1.7 Input

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.

A.1.8 Output

See intervaltotext.

A.1.9 Exact text representation

See exacttointerval and @infsup/intervaltoexact.

A.1.10 Interchange representation and encoding

See interval_bitpack and @infsup/bitunpack.


Next: , Up: IEEE Std 1788-2015   [Contents]