Skip to content

Commit

Permalink
Add note to H5Tset_fields about needing to set datatype precision fir…
Browse files Browse the repository at this point in the history
…st (HDFGroup#4059)

* Offset of a floating-point type also needs to be accounted for

* Clarify ordering of H5Tset_precision and H5Tset_fields
  • Loading branch information
jhendersonHDF authored and lrknox committed Mar 12, 2024
1 parent a3e6e65 commit 9f582f4
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/H5Tpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -2568,6 +2568,17 @@ H5_DLL herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign);
* Fields are not allowed to extend beyond the number of bits of
* precision, nor are they allowed to overlap with one another.
*
* \note The size and precision of, as well as any offset for, a floating-point
* datatype should generally be set appropriately before calling
* H5Tset_fields(). Otherwise, H5Tset_fields() may fail when checking that
* the values make sense for the datatype. However, if the precision of a
* floating-point datatype will be decreased during its creation with a call
* to H5Tset_precision(), then H5Tset_fields() should instead be called
* first to set appropriate values for \p spos, \p epos, \p esize, \p mpos
* and \p msize before reducing the precision of the datatype with
* H5Tset_precision(). This is of particular concern if another floating-point
* datatype was copied as a starting point.
*
* \since 1.0.0
*
*/
Expand Down

0 comments on commit 9f582f4

Please sign in to comment.