[#BloombergLP-balber-BerUtil_FloatingPointImpUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balber.adoc[balber]::BerUtil_FloatingPointImpUtil :relfileprefix: ../../ :mrdocs: This component‐private utility `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER encoding and decoding operations for floating point number values. Within the definition of this `struct`: == Synopsis Declared in `<balber_berutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct BerUtil_FloatingPointImpUtil; ---- == Description * *the specification*: > Refers to the August 2015 revision of the ITU‐T Recommendation X.690 * *the floating point specification*: > Refers to the 2008 revision of the IEE 754 Standard for > Floating‐Point Arithemtic. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/IntegerUtil.adoc[`IntegerUtil`] | `IntegerUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for integer values. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/LengthUtil.adoc[`LengthUtil`] | `LengthUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for length quantities. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/getDecimal64Value.adoc[`getDecimal64Value`] | Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the interpretation of those bytes as the contents octets of an encoded 64‐bit decimal value. Return 0 if successful, and a non‐zero value otherwise. The behavior is undefined unless length is non‐negative. The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes read contain a valid representation of the contents octets of an encoded 64‐bit decimal value. See the package‐level documentation of {`balber`} for the definition of the format used to encode 64‐bit decimal values. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/getDoubleValue.adoc[`getDoubleValue`] | Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the interpretation of those bytes as the contents octets of a BER‐encoded real value according to the specification. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes read contain a valid representation of the contents octets of a real value according to the specification. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/getFloatValue.adoc[`getFloatValue`] | Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the interpretation of those bytes as the contents octets of a BER‐encoded real value according to the specification. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes read contain a valid representation of the contents octets of a real value according to the specification. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/putDecimal64Value.adoc[`putDecimal64Value`] | Write the length and contents octets of the encoding of the BER encoding of the specified `value` to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. See the package‐level documentation of {`balber`} for the definition of the format used to encode 64‐bit decimal values. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/putDoubleValue.adoc[`putDoubleValue`] | Write the length and contents octets of the BER encoding of the specified real `value` (as defined in the specification) to the output sequence of the specified `streamBuf`. Optionally specify `options`, which will indicate whether `‐0.0` will be preserved or encoded as `+0.0`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. | xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil/putFloatValue.adoc[`putFloatValue`] | Write the length and contents octets of the BER encoding of the specified real `value` (as defined in the specification) to the output sequence of the specified `streamBuf`. Optionally specify `options`, which will indicate whether `‐0.0f` will be preserved or encoded as `+0.0f`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#