Interval package: Difference between revisions

Jump to navigation Jump to search
2,249 bytes added ,  28 March 2015
→‎Error handling: Added documentation of warning ids
m (→‎Related work: Fixed libieeep1788 name)
(→‎Error handling: Added documentation of warning ids)
Line 289: Line 289:
</syntaxhighlight>
</syntaxhighlight>
}}
}}
There are some situations where the interval package cannot decide whether an error occurred or not and issues a warning. The user may choose to ignore these warnings or handle them as errors, see <code>help warning</code> for instructions.
{| class="wikitable" style="margin: auto"
!Warning ID
!Reason
!Possible consequences
|-
| interval:PossiblyUndefined
|style="vertical-align:top" | Interval construction with boundaries in decimal format, and the constructor can't decide whether the lower boundary is smaller than the upper boundary. Both boundaries are very close and lie between subsequent binary64 numbers.
|style="vertical-align:top" | The constructed interval is a valid and tight enclosure of both numbers. If the lower boundary was actually greater than the upper boundary, this illegal interval is not considered an error.
|-
| interval:ImplicitPromote
|style="vertical-align:top" | An interval operation has been evaluated on both, a bare and a decorated interval. The bare interval has been converted into a decorated interval in order to produce a decorated result. Note: This warning does not occur if a bare interval literal string gets promoted into a decorated interval, e. g., <code>infsupdec (1, 2) + "[3, 4]"</code> does not produce this warning whereas <code>infsupdec (1, 2) + infsup (3, 4)</code> does.
|style="vertical-align:top" | The implicit conversion applies the best possible decoration for the bare interval. If the bare interval has been produced from an interval arithmetic computation, this branch of computation is not covered by the decoration information and the final decoration could be considered wrong. For example, <code>infsupdec (1, 2) + infsup (0, 1) ^ 0</code> would ignore that 0<sup>0</sup> is undefined.
|-
| interval:FixedDecoration
|style="vertical-align:top" | During interval construction the desired decoration of the interval has been changed. An unbound interval cannot carry the ''common'' decoration. An empty interval must carry the ''trivial'' decoration.
|style="vertical-align:top" | The interval's decoration is degraded as necessary. The input for the interval constructor could be considered illegal, e. g. [0, Inf]_com is no valid decorated interval literal.
|}


=== Decorations ===
=== Decorations ===
240

edits

Navigation menu