Vertica::VNumeric Class Reference
Representation of NUMERIC, fixed point data types in Vertica.
Inheritance diagram for Vertica::VNumeric:
Collaboration diagram for Vertica::VNumeric:
| Public Member Functions | |
|---|---|
| VNumeric (uint64 *words, int32 precision, int32 scale) | |
| Create a VNumeric with the provided storage location, precision and scale. | |
| VNumeric (const VNumeric &other) | |
| void | accumulate (const VNumeric *from) |
| Adds another VNumeric to this VNumeric. | |
| void | add (const VNumeric *a, const VNumeric *b) |
| int | compare (const VNumeric *from) const |
| Compares this (signed) VNumeric to another. | |
| int | compareUnsigned (const VNumeric *from) const |
| Compares this (unsigned) VNumeric to another. | |
| void | copy (const VNumeric *from) |
| Copy data from another VNumeric. | |
| bool | copy (ifloat value, bool round=true) |
| Copy data from a floating-point number. | |
| void | div (const VNumeric *a, const VNumeric *b) |
| bool | equal (const VNumeric *from) const |
| Indicates whether some other VNumeric is equal to this one. | |
| int32 | getPrecision () const |
| int32 | getScale () const |
| void | incr () |
| void | invertSign () |
| Inverts the sign of this VNumeric (equivalent to multiplying this VNumeric by -1) | |
| bool | isNeg () const |
| Indicates if this VNumeric is negative. | |
| bool | isNull () const |
| Indicates if this VNumeric is the SQL NULL value. | |
| bool | isZero () const |
| Indicates if this VNumeric is zero. | |
| void | mul (const VNumeric *a, const VNumeric *b) |
| VNumeric & | operator*= (const VNumeric &other) |
| VNumeric & | operator+= (const VNumeric &other) |
| VNumeric & | operator-= (const VNumeric &other) |
| VNumeric & | operator/= (const VNumeric &other) |
| bool | operator (const VNumeric &other) const |
| bool | operator>= (const VNumeric &other) const |
| VNumeric & | operator>>= (unsigned shift) |
| void | setNull () |
| Sets this VNumeric to the SQL NULL value. | |
| void | setZero () |
| Sets this VNumeric to zero. | |
| void | shiftLeft (unsigned bitsToShift) |
| void | shiftRight (unsigned bitsToShift) |
| void | sub (const VNumeric *a, const VNumeric *b) |
| ifloat | toFloat () const |
| Convert the VNumeric value into floating-point. | |
| size_t | toString (char *outBuf, int olen) const |
Detailed Description
Representation of NUMERIC, fixed point data types in Vertica.
Constructor & Destructor Documentation
Vertica::VNumeric::VNumeric(uint64 * words, int32 precision, int32 scale)
inline Create a VNumeric with the provided storage location, precision and scale.
Note It is the callers responsibility to allocate enough memory for the words parameter
Member Function Documentation
int Vertica::VNumeric::compare(const VNumeric * from) const
inline Compares this (signed) VNumeric to another.
Returns -1 if this < other, 0 if equal, 1 if this > other
Note SQL NULL compares less than anything else; two SQL NULLs are considered equal
int Vertica::VNumeric::compareUnsigned(const VNumeric * from) const
inline Compares this (unsigned) VNumeric to another.
Returns -1 if this < other, 0 if equal, 1 if this > other
Note SQL NULL compares less than anything else; two SQL NULLs are considered equal
void Vertica::VNumeric::copy(const VNumeric * from)
inline Copy data from another VNumeric.
Parameters
from: The source VNumeric
bool Vertica::VNumeric::copy(ifloat value, bool round = true)
inline Copy data from a floating-point number.
Parameters
value: The source floating-point numberround: Truncates if false; otherwise the numeric result is rounded
Returns false if conversion failed (precision lost or overflow, etc); true otherwise
ifloat Vertica::VNumeric::toFloat() const
inline Convert the VNumeric value into floating-point.
Returns the value in 80-bit floating-point