![]() SourcePro® C++ 13.2 |
SourcePro® C++ API Reference Guide |
Product Documentation: SourcePro C++ Documentation Home |
Base class for the family of Rogue Wave decimal classes. More...
#include <rw/tools/decbase.h>
Public Types | |
| enum | Op { assign, add, sub, mult, div, powop, pow10op, conversion } |
| enum | RoundingMethod { PLAIN, UP, DOWN, BANKERS, TRUNCATE } |
| enum | State { normal, nullstate, NaNstate, ctorError, missingstate, SNaNstate, infinitystate } |
Public Member Functions | |
| void | swap (RWDecimalBase &rhs) |
The base class for the different RWDecimal classes. This class provides the definition of enums used in the derived classes and in the related classes RWDecimalInexactErr and RWDecimalOverflowErr.
| enum RWDecimalBase::Op |
An enumeration defining the operation that caused the error handler to be called.
| Enumerator | |
|---|---|
| assign |
|
| add |
|
| sub |
|
| mult |
|
| div |
|
| powop |
|
| pow10op |
|
| conversion |
|
Rounding methods used by RWDecimalPortable::round()
The following table shows the results of the different rounding methods.
| Method | 1.25 | 1.35 | 1.251 |
| PLAIN | 1.2 | 1.3 | 1.2 |
| UP | 1.3 | 1.4 | 1.3 |
| DOWN | 1.2 | 1.3 | 1.2 |
| TRUNCATE | 1.2 | 1.3 | 1.2 |
| BANKERS | 1.2 | 1.4 | 1.3 |
| Enumerator | |
|---|---|
| PLAIN |
Round up on a tie. |
| UP |
Always round up. |
| DOWN |
Always round down. |
| BANKERS |
On a tie, round so that last digit is even. |
| TRUNCATE |
Same as DOWN. |
| enum RWDecimalBase::State |
An enumeration defining the state of the object.
Any operation on nullstate returns the other operand.
Any operation on NaN provides a NaN result.
Any operation on ctorError or missingstate returns a result with the State ctorError or missingstate respectively.
Operations on infinitystate are as follows:
| Operation | Result |
| \(n \div \pm Infinity\) | 0 |
| \(\pm Infinity \times \pm Infinity\) | \(\pm Infinity\) |
| \(Infinity + Infinity\) | \(Infinity\) |
| \(Infinity - Infinity\) | NaN |
| \(\pm Infinity \div \pm Infinity\) | NaN |
| \(\pm Infinity \times 0\) | NaN |
SNaNstate does not generate signals, unless converted to a double or long double and used in double arithmetic.
|
inline |
Swaps the data owned by self with the data owned by rhs.
|
Copyright © 2015 Rogue Wave Software, Inc. All Rights Reserved. |