Sets the precision of an atomic datatype


H5T_SET_PRECISION ( dtype_id, precision )


<pre><code class="language-c">herr_t H5Tset_precision( hid_t dtype_id, size_t precision )</code></pre>

<pre><code class="language-fortran">SUBROUTINE h5tset_precision_f(type_id, precision, hdferr) 
  INTEGER(HID_T), INTENT(IN) :: type_id    ! Datatype identifier 
  INTEGER(SIZE_T), INTENT(IN) :: precision ! Datatype precision
  INTEGER, INTENT(OUT) :: hdferr           ! Error code
END SUBROUTINE h5tset_precision_f</code></pre>

hid_t dtype_idIN: Identifier of datatype to set
size_t precision    IN: Number of bits of precision for datatype


H5T_SET_PRECISION sets the precision of an atomic datatype. The precision is the number of significant bits which, unless padding is present, is 8 times larger than the value returned by H5T_GET_SIZE .

If the precision is increased then the offset is decreased and then the size is increased to insure that significant bits do not "hang over" the edge of the datatype.

Changing the precision of an H5T_STRING automatically changes the size as well. The precision must be a multiple of 8.

When decreasing the precision of a floating point type, set the locations and sizes of the sign, mantissa, and exponent fields first.


Returns a non-negative value if successful; otherwise returns a negative value.


Coming Soon!