H5Tset_size(
hid_t dtype_id,
size_tsize
)
H5Tset_size sets the total size in bytes,
size, for a datatype.
The parameter size must have a positive value,
unless it is passed as H5T_VARIABLE and
the datatype is a string datatype.
Numeric datatypes:
If the datatype is atomic and the size is decreased so that
significant bits of the datatype extend beyond the edge of the
new size, then the offset property of the datatype
is decreased toward zero.
If the offset becomes zero and the significant
bits of the datatype still hang over the edge of the new size, then
the number of significant bits is decreased.
String or character datatypes:
The size set for a string datatype should include space
for the null-terminator character, otherwise it will not be stored on
(or retrieved from) disk.
Adjusting the size of a string automatically sets the
precision to 8*size.
Variable-length string datatypes:
If dtype_id is a variable-length string,
size must normally be set to H5T_VARIABLE.
See “Creating
variable-length string datatypes”.
Compound datatypes: This function may be used to increase or decrease the size of a compound datatype, but the function will fail if the new size is too small to accommodate all member fields.
Ineligible datatypes:
This function cannot be used with
enumerated datatypes (H5T_ENUM),
array datatypes (H5T_ARRAY),
variable-length array datatypes (H5T_VLEN),
or reference datatypes (H5T_REFERENCE).
hid_t dtype_id |
IN: Identifier of datatype for which the size is being changed |
size_t size |
IN: New datatype size in bytes
or H5T_VARIABLE
|
SUBROUTINE h5tset_size_f(type_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5tset_size_f