Previous: Function Names, Up: IEEE Std 1788-2015 [Contents]
The inverval package version 3.2.1 for GNU Octave is conforming to IEEE Std 1788-2015, IEEE Standard for Interval Arithmetic. It is conforming to the set-based flavor with IEEE 754 conformance for the infsup binary64 interval type and without compressed arithmetic. Additionally it provides no further flavors.
The implementation does not signal the occurrence of decoration values.
The implementation supports explicit interval types only.
The accuracy requirements of IEEE Std 1788-2015 are fulfilled. Most operations achieve tightest accuracy, some operations (especially reverse operations) do not. The tightness of each operation is documented in the function’s documentation string and can be displayed with the help
command.
When two different string boundaries for an interval both lie between the same two subsequent binary64 numbers, a PossiblyUndefined warning is created.
Tie-breaking uses the IEEE Std 754 default: round ties to even.
The binary64 boundaries are converted into hexadecimal-significand form as required by the standard. It is also possible to convert interval datums to exact interval literals in decimal form, see optional arguments of function intervaltotext for that purpose.
Yes, the interval overlapping function is implemented under the name @infsup/overlap.
No additional information is stored in a NaI.
The creation of a NaI is signaled with GNU Octave’s warning mechanism.
None.
The exceptions described by IEEE Std 1788-2015 raise a warning, which can be handled with GNU Octave’s warning mechanism. The warning may be customized to produce an error instead and interrupt computation. The implementation provides no additional exception handling.
The interval matrix multiplication (see @infsup/mtimes) offers two implementations, with either tightest or valid accuracy. The user may chose the desired version with an optional argument during the function call.
Any reasonable combination of the formats described in the standard document is supported.
Input and output is implemented with GNU Octave string variables in UTF-8 encoding. There is no discrimination between different locales. Character case is ignored during input. The syntax for interval literals is used as described by the standard document.
The general-purpose interval to string conversion produces the tightest decimal infsup form which has no more digits than are necessary to separate two binary64 numbers.
Interval constructors prevent the creation of invalid Level 3 interval datums.
Any non-interval input to Level 3 operations is implicitly converted into an interval and the operation silently continues on interval inputs.
If at least one input is a decorated interval, bare interval inputs are implicitly decorated as described by newDec
in the standard document. Implicit promotion from a bare interval to a decorated interval is signaled with GNU Octave’s warning mechanism.
If implicit conversion fails (e.g., illegal interval literals), bare interval operations produce empty intervals, whereas the decorated interval operations continue on NaI inputs.
The implementation provides the decorations com, dac, def, trv, and ill as described by the standard document.
Previous: Function Names, Up: IEEE Std 1788-2015 [Contents]