Set x to y with the specified exponent if that value is exact.
Synopsis
Description
If a floating‐point number equal to the specified y and having the specified exponent can be constructed, set that value into the specified x and return 0. Otherwise, or if y is NaN or infinity, leave the contents of x unchanged and return a non‐zero value. The behavior is undefined unless exponent satisfies the following conditions * for Decimal32 type: ‐101 <= exponent <= 90 * for Decimal64 type: ‐398 <= exponent <= 369 * for Decimal128 type: ‐6176 <= exponent <= 6111
Example: Decimal32 x; BSLS_ASSERT(0 == quantizeEqual(&x, 123e+3_d32, 2); BSLS_ASSERT(1230e+2_d32 == x); BSLS_ASSERT(0 != quantizeEqual(&x, 123e+3_d32, ‐2); BSLS_ASSERT(1230e+2_d32 == x);
Return Value
0 on success and a non‐zero value otherwise
Parameters
Name |
Description |
x |
receives the quantized value on success |
y |
value to quantize into |
exponent |
desired decimal exponent |
Created with MrDocs