24 #include "ppl-config.h"
33 throw std::domain_error(
"Exact result is not comparable to computable one.");
35 throw std::logic_error(
"Exact result is equal to computed one.");
37 throw std::logic_error(
"Exact result is less than computed one.");
39 throw std::logic_error(
"Exact result is less than or equal to "
42 throw std::logic_error(
"Exact result is greater than computed one.");
44 throw std::logic_error(
"Exact result is greater than or equal to "
47 throw std::logic_error(
"Exact result is less than or greater than "
50 throw std::logic_error(
"Exact result is less than, greater than or "
51 "equal to computed one.");
53 throw std::overflow_error(
"Minus infinity.");
56 throw std::overflow_error(
"Negative overflow.");
58 throw std::overflow_error(
"Unknown result due to intermediate negative overflow.");
60 throw std::overflow_error(
"Plus infinity.");
63 throw std::overflow_error(
"Positive overflow.");
65 throw std::overflow_error(
"Unknown result due to intermediate positive overflow.");
67 throw std::domain_error(
"Not-a-Number.");
69 throw std::domain_error(
"Invalid numeric string.");
71 throw std::domain_error(
"Division by zero.");
73 throw std::domain_error(
"Infinities addition.");
75 throw std::domain_error(
"Infinities division.");
77 throw std::domain_error(
"Remainder of division of infinity.");
79 throw std::domain_error(
"Multiplication of infinity and zero.");
81 throw std::domain_error(
"Subtraction of infinities.");
83 throw std::domain_error(
"Remainder of division by zero.");
85 throw std::domain_error(
"Square root of negative number.");
87 throw std::logic_error(
"Unexpected result.");
A positive integer overflow occurred (rounding down).
The computed result is exact.
Taking the square root of a negative number.
void throw_result_exception(Result r)
Unknown result due to intermediate positive overflow.
A positive integer overflow occurred (rounding up).
Computing a remainder modulo zero.
Result
Possible outcomes of a checked arithmetic computation.
Taking the modulus of an infinity.
The computed result is inexact and rounded down.
The exact result is not comparable.
Unknown result due to intermediate negative overflow.
The computed result is not representable.
Negative infinity result.
The computed result is inexact.
Converting from unknown string.
The computed result may be inexact and rounded up.
The entire library is confined to this namespace.
Adding two infinities having opposite signs.
The computed result may be inexact and rounded down.
Subtracting two infinities having the same sign.
Positive infinity result.
A negative integer overflow occurred (rounding down).
The computed result is inexact and rounded up.
The computed result may be inexact.
Multiplying an infinity by zero.
A negative integer overflow occurred (rounding up).