This repository has been archived by the owner on Dec 20, 2023. It is now read-only.
TLV reader: Improve floating-point support #675
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For some reason the Get(float&) signature was declared in the .h file
but was never defined. Define it as well. Disallow reading a 64-bit
floating point number to float, to avoid silent truncation / loss of
precision.
It is undefined behaviour to use unions for type-punning in C++. Use
raw memcpy calls instead, which is defined by the C++ standard
(std::bit_cast is not available).
Compilers will generally be able to optimize this memcpy away, unless
a freestanding implementation (with possibly non-standard memcpy) is
used.
This is a backport from an analogous commit to CHIP:
project-chip/connectedhomeip#8531