mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
f50ea642a7
Purpose: Added Fortran90 subroutine h5sget_select_bounds_f. Platforms tested: Mozilla
1874 lines
74 KiB
HTML
1874 lines
74 KiB
HTML
<html>
|
|
<head><title>
|
|
HDF5/H5S API Specification
|
|
</title>
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/styles_RM.lbi" -->
|
|
|
|
<!--
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Copyright by the Board of Trustees of the University of Illinois. *
|
|
* All rights reserved. *
|
|
* *
|
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
* terms governing use, modification, and redistribution, is contained in *
|
|
* the files COPYING and Copyright.html. COPYING can be found at the root *
|
|
* of the source code distribution tree; Copyright.html can be found at the *
|
|
* root level of an installed copy of the electronic HDF5 document set and *
|
|
* is linked from the top-level documents page. It can also be found at *
|
|
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
|
|
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
-->
|
|
|
|
<link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
|
|
<!-- #EndLibraryItem --></head>
|
|
|
|
<body bgcolor="#FFFFFF">
|
|
<!-- HEADER RIGHT " " -->
|
|
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br>
|
|
<!--
|
|
<a href="Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
And in this document, the
|
|
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
|
<br>
|
|
<a href="RM_H5.html">H5</a>
|
|
<a href="RM_H5A.html">H5A</a>
|
|
<a href="RM_H5D.html">H5D</a>
|
|
<a href="RM_H5E.html">H5E</a>
|
|
<a href="RM_H5F.html">H5F</a>
|
|
<a href="RM_H5G.html">H5G</a>
|
|
<a href="RM_H5I.html">H5I</a>
|
|
<a href="RM_H5P.html">H5P</a>
|
|
<br>
|
|
<a href="RM_H5R.html">H5R</a>
|
|
<a href="RM_H5S.html">H5S</a>
|
|
<a href="RM_H5T.html">H5T</a>
|
|
<a href="RM_H5Z.html">H5Z</a>
|
|
<a href="Tools.html">Tools</a>
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<hr><!-- #EndLibraryItem --><center>
|
|
<h1>H5S: Dataspace Interface</h1>
|
|
</center>
|
|
|
|
<h2>Dataspace Object API Functions</h2>
|
|
|
|
These functions create and manipulate the dataspace in which to store the
|
|
elements of a dataset.
|
|
|
|
|
|
<p>
|
|
<strong>The C Interfaces:</strong>
|
|
|
|
<table border=0>
|
|
<tr><td valign=top>
|
|
<li><a href="#Dataspace-Create">H5Screate</a>
|
|
<li><a href="#Dataspace-Copy">H5Scopy</a>
|
|
<li><a href="#Dataspace-Close">H5Sclose</a>
|
|
<li><a href="#Dataspace-CreateSimple">H5Screate_simple</a>
|
|
<li><a href="#Dataspace-IsSimple">H5Sis_simple</a>
|
|
<li><a href="#Dataspace-OffsetSimple">H5Soffset_simple</a>
|
|
<li><a href="#Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
|
|
<li><a href="#Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
|
|
|
|
</td><td> </td><td valign=top>
|
|
<li><a href="#Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
|
|
<li><a href="#Dataspace-ExtentType">H5Sget_simple_extent_type</a>
|
|
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
|
<li><a href="#Dataspace-ExtentClass">H5Sextent_class</a>
|
|
-->
|
|
<li><a href="#Dataspace-ExtentCopy">H5Sextent_copy</a>
|
|
<li><a href="#Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
|
|
<li><a href="#Dataspace-SetExtentNone">H5Sset_extent_none</a>
|
|
<li><a href="#Dataspace-GetSelectType">H5Sget_select_type</a>
|
|
<li><a href="#Dataspace-SelectNpoints">H5Sget_select_npoints</a>
|
|
<li><a href="#Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
|
|
<li><a href="#Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
|
|
</td><td> </td><td valign=top>
|
|
<li><a href="#Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
|
|
<li><a href="#Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
|
|
<li><a href="#Dataspace-SelectBounds">H5Sget_select_bounds</a>
|
|
<li><a href="#Dataspace-SelectElements">H5Sselect_elements</a>
|
|
<li><a href="#Dataspace-SelectAll">H5Sselect_all</a>
|
|
<li><a href="#Dataspace-SelectNone">H5Sselect_none</a>
|
|
<li><a href="#Dataspace-SelectValid">H5Sselect_valid</a>
|
|
<li><a href="#Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
|
|
<!--<li><a href="#Dataspace-CombineHyperslab">H5Scombine_hyperslab</a> -->
|
|
<!--<li><a href="#Dataspace-CombineSelect">H5Scombine_select</a> -->
|
|
<!--<li><a href="#Dataspace-SelectSelect">H5Sselect_select</a> -->
|
|
</td></tr>
|
|
</table>
|
|
<br>
|
|
|
|
<i>Alphabetical Listing</i>
|
|
|
|
<table border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<li><a href="#Dataspace-Close">H5Sclose</a>
|
|
<li><a href="#Dataspace-Copy">H5Scopy</a>
|
|
<li><a href="#Dataspace-Create">H5Screate</a>
|
|
<li><a href="#Dataspace-CreateSimple">H5Screate_simple</a>
|
|
<li><a href="#Dataspace-ExtentCopy">H5Sextent_copy</a>
|
|
<li><a href="#Dataspace-SelectBounds">H5Sget_select_bounds</a>
|
|
<li><a href="#Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
|
|
<li><a href="#Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
|
|
<li><a href="#Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
|
|
</td>
|
|
|
|
<td> </td>
|
|
|
|
<td valign="top">
|
|
<li><a href="#Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
|
|
<li><a href="#Dataspace-SelectNpoints">H5Sget_select_npoints</a>
|
|
<li><a href="#Dataspace-GetSelectType">H5Sget_select_type</a>
|
|
<li><a href="#Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
|
|
<li><a href="#Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
|
|
<li><a href="#Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
|
|
<li><a href="#Dataspace-ExtentType">H5Sget_simple_extent_type</a>
|
|
<li><a href="#Dataspace-IsSimple">H5Sis_simple</a>
|
|
<li><a href="#Dataspace-OffsetSimple">H5Soffset_simple</a>
|
|
</td>
|
|
|
|
<td> </td>
|
|
|
|
<td valign="top">
|
|
|
|
<li><a href="#Dataspace-SelectAll">H5Sselect_all</a>
|
|
<li><a href="#Dataspace-SelectElements">H5Sselect_elements</a>
|
|
<li><a href="#Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
|
|
<li><a href="#Dataspace-SelectNone">H5Sselect_none</a>
|
|
<li><a href="#Dataspace-SelectValid">H5Sselect_valid</a>
|
|
<li><a href="#Dataspace-SetExtentNone">H5Sset_extent_none</a>
|
|
<li><a href="#Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<strong>The FORTRAN90 Interfaces:</strong>
|
|
<br>
|
|
In general, each FORTRAN90 subroutine performs exactly the same task
|
|
as the corresponding C function.
|
|
<br>
|
|
|
|
<table border=0>
|
|
<tr><td valign=top>
|
|
<li><a href="#Dataspace-Create">h5screate_f</a>
|
|
<li><a href="#Dataspace-Copy">h5scopy_f</a>
|
|
<li><a href="#Dataspace-Close">h5sclose_f</a>
|
|
<li><a href="#Dataspace-CreateSimple">h5screate_simple_f</a>
|
|
<li><a href="#Dataspace-IsSimple">h5sis_simple_f</a>
|
|
<li><a href="#Dataspace-OffsetSimple">h5soffset_simple_f</a>
|
|
<li><a href="#Dataspace-ExtentDims">h5sget_simple_extent_dims_f</a>
|
|
<li><a href="#Dataspace-ExtentNdims">h5sget_simple_extent_ndims_f</a>
|
|
</td><td> </td><td valign=top>
|
|
<li><a href="#Dataspace-ExtentNpoints">h5sget_simple_extent_npoints_f</a>
|
|
<li><a href="#Dataspace-ExtentType">h5sget_simple_extent_type_f</a>
|
|
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
|
<li><a href="#Dataspace-ExtentClass">h5sextent_class_f</a> -->
|
|
<li><a href="#Dataspace-ExtentCopy">h5sextent_copy_f</a>
|
|
<li><a href="#Dataspace-SetExtentSimple">h5sset_extent_simple_f</a>
|
|
<li><a href="#Dataspace-SetExtentNone">h5sset_extent_none_f</a>
|
|
<li><a href="#Dataspace-GetSelectType">h5sget_select_type_f</a>
|
|
<li><a href="#Dataspace-SelectNpoints">h5sget_select_npoints_f</a>
|
|
<li><a href="#Dataspace-SelectHyperNBlocks">h5sget_select_hyper_nblocks_f</a>
|
|
<li><a href="#Dataspace-SelectHyperBlockList">h5sget_select_hyper_blocklist_f</a>
|
|
<!--<li><a href="#Dataspace-SelectBounds">h5sget_select_bounds_f</a> -->
|
|
</td><td> </td><td valign=top>
|
|
<li><a href="#Dataspace-SelectElemNPoints">h5sget_select_elem_npoints_f</a>
|
|
<li><a href="#Dataspace-SelectElemPointList">h5sget_select_elem_pointlist_f</a>
|
|
<li><a href="#Dataspace-SelectElements">h5sselect_elements_f</a>
|
|
<li><a href="#Dataspace-SelectAll">h5sselect_all_f</a>
|
|
<li><a href="#Dataspace-SelectNone">h5sselect_none_f</a>
|
|
<li><a href="#Dataspace-SelectValid">h5sselect_valid_f</a>
|
|
<li><a href="#Dataspace-SelectHyperslab">h5sselect_hyperslab_f</a>
|
|
<!--<li><a href="#Dataspace-CombineHyperslab">h5scombine_hyperslab_f</a> -->
|
|
<!--<li><a href="#Dataspace-CombineSelect">h5scombine_select_f</a> -->
|
|
<!--<li><a href="#Dataspace-SelectSelect">h5sselect_select_f</a> -->
|
|
</td></tr>
|
|
</table>
|
|
|
|
|
|
<!-- Unimplemented functions
|
|
<p>
|
|
The following H5S functions are included in the HDF5 specification,
|
|
but have not yet been implemented. They are described in the
|
|
<a href="Dataspaces.html">The Dataspace Interface (H5S)</a> section
|
|
of the <cite>HDF5 User's Guide.</cite>.
|
|
<table border=0>
|
|
<tr><td valign=top>
|
|
<ul>
|
|
<li>H5Scommit
|
|
<li>H5Sis_subspace
|
|
<li>H5Slock
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li>H5Sopen
|
|
<li>H5Sselect_op
|
|
<li>H5Sselect_order
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li>H5Ssubspace
|
|
<li>H5Ssubspace_name
|
|
<li>H5Ssubspace_location
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
-->
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sclose" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Releases and terminates access to a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sclose</code> releases a dataspace.
|
|
Further access through the dataspace identifier is illegal.
|
|
Failure to release a dataspace with this call will
|
|
result in resource leaks.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Identifier of dataspace to release.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sclose_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sclose_f(space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sclose_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Scopy" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Creates an exact copy of a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Scopy</code> creates a new dataspace which is an exact
|
|
copy of the dataspace identified by <code>space_id</code>.
|
|
The dataspace identifier returned from this function should be
|
|
released with <code>H5Sclose</code> or resource leaks will occur.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Identifier of dataspace to copy.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace identifier if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5scopy_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HID_T), INTENT(OUT) :: new_space_id ! Identifier of dataspace copy
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5scopy_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Screate" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-Create">H5Screate</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t</em> <code>H5Screate</code>(<em>H5S_class_t</em> <code>type</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Creates a new dataspace of a specified type.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Screate</code> creates a new dataspace of a particular
|
|
<code>type</code>.
|
|
The types currently supported are <code>H5S_SCALAR</code> and
|
|
<code>H5S_SIMPLE</code>;
|
|
others are planned to be added later.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>H5S_class_t</em> <code>type </code></td>
|
|
<td valign="top">The type of dataspace to be created.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace identifier if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5screate_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5screate_f(classtype, space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER, INTENT(IN) :: classtype ! The type of the dataspace
|
|
! to be created. Possible values
|
|
! are:
|
|
! H5S_SCALAR_F
|
|
! H5S_SIMPLE_F
|
|
INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5screate_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Screate_simple" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-CreateSimple">H5Screate_simple</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t</em> <code>H5Screate_simple</code>(<em>int</em> <code>rank</code>,
|
|
<em>const hsize_t *</em> <code>dims</code>,
|
|
<em>const hsize_t *</em> <code>maxdims</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Creates a new simple dataspace and opens it for access.
|
|
<dt><strong>Description:</strong>
|
|
|
|
<dd><code>H5Screate_simple</code> creates a new simple dataspace
|
|
and opens it for access.
|
|
<p>
|
|
<code>rank</code> is the number of dimensions used in the dataspace.
|
|
<p>
|
|
<code>dims</code> is an array specifying the size of each dimension
|
|
of the dataset while
|
|
<code>maxdims</code> is an array specifying the upper limit on
|
|
the size of each dimension.
|
|
<code>maxdims</code> may be the null pointer, in which case the
|
|
upper limit is the same as <code>dims</code>.
|
|
<p>
|
|
If an element of <code>maxdims</code> is
|
|
<code>H5S_UNLIMITED</code>, (<code>-1</code>),
|
|
the maximum size of the corresponding dimension is unlimited.
|
|
Otherwise, no element of <code>maxdims</code> should be
|
|
smaller than the corresponding element of <code>dims</code>.
|
|
<p>
|
|
The dataspace identifier returned from this function must be
|
|
released with <code>H5Sclose</code> or resource leaks will occur.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>int</em> <code>rank</code></td>
|
|
<td valign="top">Number of dimensions of dataspace.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em> <code>dims</code></td>
|
|
<td valign="top">An array of the size of each dimension.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em> <code>maxdims </code></td>
|
|
<td valign="top">An array of the maximum size of each dimension.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace identifier if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5screate_simple_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims)
|
|
IMPLICIT NONE
|
|
INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions
|
|
INTEGER(HSIZE_T), INTENT(IN) :: dims(*) ! Array with the dimension sizes
|
|
INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
INTEGER(HSIZE_T), OPTIONAL, INTENT(IN) :: maxdims(*)
|
|
! Array with the maximum
|
|
! dimension sizes
|
|
END SUBROUTINE h5screate_simple_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sextent_copy" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentCopy">H5Sextent_copy</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sextent_copy</code>(<em>hid_t</em> <code>dest_space_id</code>,
|
|
<em>hid_t</em> <code>source_space_id</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Copies the extent of a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sextent_copy</code> copies the extent from
|
|
<code>source_space_id</code> to <code>dest_space_id</code>.
|
|
This action may change the type of the dataspace.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>dest_space_id</code></td>
|
|
<td valign="top">IN: The identifier for the dataspace to which
|
|
the extent is copied.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>source_space_id </code></td>
|
|
<td valign="top">IN: The identifier for the dataspace from which
|
|
the extent is copied.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sextent_copy_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination
|
|
! dataspace
|
|
INTEGER(HID_T), INTENT(IN) :: source_space_id ! Identifier of source
|
|
! dataspace
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sextent_copy_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_bounds" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>,
|
|
<em>hssize_t *</em><code>start</code>,
|
|
<em>hssize_t *</em><code>end</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Gets the bounding box containing the current selection.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_bounds</code> retrieves the coordinates of
|
|
the bounding box containing the current selection and places
|
|
them into user-supplied buffers.
|
|
<p>
|
|
The <code>start</code> and <code>end</code> buffers must be large
|
|
enough to hold the dataspace rank number of coordinates.
|
|
<p>
|
|
The bounding box exactly contains the selection.
|
|
I.e., if a 2-dimensional element selection is currently
|
|
defined as containing the points (4,5), (6,8), and (10,7),
|
|
then the bounding box will be (4, 5), (10, 8).
|
|
<p>
|
|
The bounding box calculation includes the current offset of the
|
|
selection within the dataspace extent.
|
|
<p>
|
|
Calling this function on a <code>none</code> selection will
|
|
return <code>FAIL</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">IN: Identifier of dataspace to query.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hssize_t *</em><code>start</code></td>
|
|
<td valign="top">OUT: Starting coordinates of the bounding box.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hssize_t *</em><code>end</code></td>
|
|
<td valign="top">OUT: Ending coordinates of the bounding box,
|
|
i.e., the coordinates of the diagonally opposite corner.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_bounds_f(space_id, start, end, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id
|
|
! Dataspace identifier
|
|
INTEGER(HSSIZE_T), DIMENSION(*), INTENT(OUT) :: start
|
|
! Starting coordinates of the bounding box
|
|
INTEGER(HSSIZE_T), DIMENSION(*), INTENT(OUT) :: end
|
|
! Ending coordinates of the bounding box,
|
|
! i.e., the coordinates of the diagonally
|
|
! opposite corner
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_bounds_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_elem_npoints" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Gets the number of element points in the current selection.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_elem_npoints</code> returns
|
|
the number of element points in the current dataspace selection.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">IN: Identifier of dataspace to query.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of element points in the current dataspace selection if successful.
|
|
Otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_elem_npoints_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: num_points ! Number of points in
|
|
! the current elements selection
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_elem_npoints_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_elem_pointlist" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>,
|
|
<em>hsize_t </em><code>startpoint</code>,
|
|
<em>hsize_t </em><code>numpoints</code>,
|
|
<em>hsize_t *</em><code>buf</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Gets the list of element points currently selected.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_elem_pointlist</code> returns the list of
|
|
element points in the current dataspace selection. Starting with
|
|
the <code>startpoint</code>-th point in the list of points,
|
|
<code>numpoints</code> points are put into the user's buffer.
|
|
If the user's buffer fills up before <code>numpoints</code>
|
|
points are inserted, the buffer will contain only as many
|
|
points as fit.
|
|
<p>
|
|
The element point coordinates have the same dimensionality (rank)
|
|
as the dataspace they are located within. The list of element points
|
|
is formatted as follows:
|
|
<br>
|
|
<coordinate>, followed by
|
|
<br>
|
|
the next coordinate,
|
|
<br>
|
|
etc.
|
|
<br>
|
|
until all of the selected element points have been listed.
|
|
<p>
|
|
The points are returned in the order they will be iterated through
|
|
when the selection is read/written from/to disk.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">IN: Dataspace identifier of selection to query.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t </em><code>startpoint </code></td>
|
|
<td valign="top">IN: Element point to start with.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t </em><code>numpoints</code></td>
|
|
<td valign="top">IN: Number of element points to get.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t *</em><code>buf</code></td>
|
|
<td valign="top">OUT: List of element points selected.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_elem_pointlist_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, num_points, &
|
|
buf, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSIZE_T), INTENT(IN) :: startpoint ! Element point to start with
|
|
INTEGER, INTENT(OUT) :: num_points ! Number of points to get in
|
|
! the current element selection
|
|
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
|
|
! List of points selected
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_elem_pointlist_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_hyper_blocklist" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>,
|
|
<em>hsize_t </em><code>startblock</code>,
|
|
<em>hsize_t </em><code>numblocks</code>,
|
|
<em>hsize_t *</em><code>buf</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Gets the list of hyperslab blocks currently selected.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_hyper_blocklist</code> returns a list of
|
|
the hyperslab blocks currently selected. Starting with the
|
|
<code>startblock</code>-th block in the list of blocks,
|
|
<code>numblocks</code> blocks are put into the user's buffer.
|
|
If the user's buffer fills up before <code>numblocks</code>
|
|
blocks are inserted, the buffer will contain only as many
|
|
blocks as fit.
|
|
<p>
|
|
The block coordinates have the same dimensionality (rank)
|
|
as the dataspace they are located within. The list of blocks
|
|
is formatted as follows:
|
|
<br>
|
|
<"start" coordinate>, immediately followed by
|
|
<br>
|
|
<"opposite" corner coordinate>, followed by
|
|
<br>
|
|
the next "start" and "opposite" coordinates,
|
|
<br>
|
|
etc.
|
|
<br>
|
|
until all of the selected blocks have been listed.
|
|
<p>
|
|
No guarantee is implied as the order in which blocks are listed.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">IN: Dataspace identifier of selection to query.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t </em><code>startblock </code></td>
|
|
<td valign="top">IN: Hyperslab block to start with.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t </em><code>numblocks</code></td>
|
|
<td valign="top">IN: Number of hyperslab blocks to get.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t *</em><code>buf</code></td>
|
|
<td valign="top">OUT: List of hyperslab blocks selected.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_hyper_blocklist_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, num_blocks, &
|
|
buf, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSIZE_T), INTENT(IN) :: startblock ! Hyperslab block to start with
|
|
INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks to
|
|
! get in the current hyperslab
|
|
! selection
|
|
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
|
|
! List of hyperslab blocks selected
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_hyper_blocklist_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_hyper_nblocks" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Get number of hyperslab blocks.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_hyper_nblocks</code> returns the
|
|
number of hyperslab blocks in the current dataspace selection.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">IN: Identifier of dataspace to query.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of hyperslab blocks in
|
|
the current dataspace selection if successful.
|
|
Otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_hyper_nblocks_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks in
|
|
! the current hyperslab selection
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_hyper_nblocks_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_npoints" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectNpoints">H5Sget_select_npoints</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hssize_t</em> <code>H5Sget_select_npoints</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines the number of elements in a dataspace selection.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_npoints</code> determines the number of elements
|
|
in the current selection of a dataspace.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Dataspace identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of elements in the selection if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_npoints_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSSIZE_T), INTENT(OUT) :: npoints ! Number of elements in the
|
|
! selection
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sget_select_npoints_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_select_type" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-GetSelectType">H5Sget_select_type</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>H5S_sel_type</em> <code>H5Sget_select_type</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines the type of the dataspace selection.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_select_type</code> retrieves the
|
|
type of selection currently defined for the dataspace
|
|
<code>space_id</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Dataspace identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the dataspace selection type, a value of
|
|
the enumerated datatype <code>H5S_sel_type</code>,
|
|
if successful.
|
|
Valid return values are as follows:
|
|
<center>
|
|
<table width=90% border=0>
|
|
<tr><td valign=top>
|
|
<code>H5S_SEL_NONE</code>
|
|
</td><td valign=top>
|
|
No selection is defined.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SEL_POINTS</code>
|
|
</td><td valign=top>
|
|
A sequence of points is selected.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SEL_HYPERSLABS</code>
|
|
</td><td valign=top>
|
|
A hyperslab or compound hyperslab is selected.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SEL_ALL</code>
|
|
</td><td valign=top>
|
|
The entire dataset is selected.
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
Otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_select_type_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_select_type_f(space_id, type, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: type ! Selection type
|
|
! Valid values are:
|
|
! H5S_SEL_ERROR_F
|
|
! H5S_SEL_NONE_F
|
|
! H5S_SEL_POINTS_F
|
|
! H5S_SEL_HYPERSLABS_F
|
|
! H5S_SEL_ALL_F
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
END SUBROUTINE h5sget_select_type_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_simple_extent_dims" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>int</em> <code>H5Sget_simple_extent_dims</code>(<em>hid_t</em> <code>space_id</code>,
|
|
<em>hsize_t *</em><code>dims</code>,
|
|
<em>hsize_t *</em><code>maxdims</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Retrieves dataspace dimension size and maximum size.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_simple_extent_dims</code> returns the size and maximum sizes
|
|
of each dimension of a dataspace through the <code>dims</code>
|
|
and <code>maxdims</code> parameters.
|
|
<p>
|
|
Either or both of <code>dims</code> and <code>maxdims</code>
|
|
may be NULL.
|
|
<p>
|
|
If a value in the returned array <code>maxdims</code> is
|
|
<code>H5S_UNLIMITED</code> (</code>-1</code>),
|
|
the maximum size of that dimension is unlimited.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">IN: Identifier of the dataspace object to query</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t *</em><code>dims</code></td>
|
|
<td valign="top">OUT: Pointer to array to store the size of each dimension.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>hsize_t *</em><code>maxdims </code></td>
|
|
<td valign="top">OUT: Pointer to array to store the maximum size of each dimension.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of dimensions in the dataspace if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_dims_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
|
|
! Array to store dimension sizes
|
|
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims
|
|
! Array to store max dimension sizes
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! Dataspace rank on success
|
|
! and -1 on failure
|
|
END SUBROUTINE h5sget_simple_extent_dims_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_simple_extent_ndims" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>int</em> <code>H5Sget_simple_extent_ndims</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines the dimensionality of a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_simple_extent_ndims</code> determines the dimensionality (or rank)
|
|
of a dataspace.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Identifier of the dataspace</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of dimensions in the dataspace if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_ndims_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: rank ! Number of dimensions
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sget_simple_extent_ndims_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_simple_extent_npoints" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hssize_t</em> <code>H5Sget_simple_extent_npoints</code>(<em>hid_t </em><code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines the number of elements in a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_simple_extent_npoints</code> determines the number of elements
|
|
in a dataspace. For example, a simple 3-dimensional dataspace
|
|
with dimensions 2, 3, and 4 would have 24 elements.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">ID of the dataspace object to query</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the number of elements in the dataspace if successful;
|
|
otherwise returns 0.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_npoints_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSIZE_T), INTENT(OUT) :: npoints ! Number of elements in dataspace
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sget_simple_extent_npoints_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sget_simple_extent_type" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentType">H5Sget_simple_extent_type</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>H5S_class_t</em> <code>H5Sget_simple_extent_type</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determine the current class of a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sget_simple_extent_type</code> queries a dataspace to determine the
|
|
current class of a dataspace.
|
|
<p>
|
|
The function returns a class name, one of the following:
|
|
<code>H5S_SCALAR</code>,
|
|
<code>H5S_SIMPLE</code>, or
|
|
<code>H5S_NONE</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Dataspace identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace class name if successful;
|
|
otherwise H5S_NO_CLASS (-1).
|
|
<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_type_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: classtype ! Class type
|
|
! Possible values are:
|
|
! H5S_NO_CLASS_F
|
|
! H5S_SCALAR_F
|
|
! H5S_SIMPLE_F
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sget_simple_extent_type_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sis_simple" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>htri_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines whether a dataspace is a simple dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sis_simple</code> determines whether a dataspace is
|
|
a simple dataspace. [Currently, all dataspace objects are simple
|
|
dataspaces, complex dataspace support will be added in the future]
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">Identifier of the dataspace to query</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>When successful, returns a positive value, for <code>TRUE</code>,
|
|
or <code>0</code> (zero), for <code>FALSE</code>.
|
|
Otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sis_simple_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sis_simple_f(space_id, flag, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
LOGICAL, INTENT(OUT) :: flag ! Flag, indicates if dataspace
|
|
! is simple or not:
|
|
! TRUE or FALSE
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sis_simple_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Soffset_simple" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-OffsetSimple">H5Soffset_simple</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Soffset_simple</code>(<em>hid_t</em> <code>space_id</code>,
|
|
<em>const hssize_t *</em><code>offset</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Sets the offset of a simple dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Soffset_simple</code> sets the offset of a
|
|
simple dataspace <code>space_id</code>. The <code>offset</code>
|
|
array must be the same number of elements as the number of
|
|
dimensions for the dataspace. If the <code>offset</code>
|
|
array is set to <TT>NULL</TT>, the offset for the dataspace
|
|
is reset to 0.
|
|
<p>
|
|
This function allows the same shaped selection to be moved
|
|
to different locations within a dataspace without requiring it
|
|
to be redefined.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">IN: The identifier for the dataspace object to reset.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hssize_t *</em><code>offset </code></td>
|
|
<td valign="top">IN: The offset at which to position the selection.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5soffset_simple_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset
|
|
! The offset at which to position
|
|
! the selection
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5soffset_simple_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sselect_all" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectAll">H5Sselect_all</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sselect_all</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Selects the entire dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sselect_all</code> selects the entire extent
|
|
of the dataspace <code>space_id</code>.
|
|
<p>
|
|
More specifically, <code>H5Sselect_all</code> selects
|
|
the special <tt>5S_SELECT_ALL</tt> region for the dataspace
|
|
<code>space_id</code>. <tt>H5S_SELECT_ALL</tt> selects the
|
|
entire dataspace for any dataspace it is applied to.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">IN: The identifier for the dataspace in which the
|
|
selection is being made.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sselect_all_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sselect_all_f(space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sselect_all_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sselect_elements" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>,
|
|
<em>H5S_seloper_t</em> <code>op</code>,
|
|
<em>const size_t</em> <code>num_elements</code>,
|
|
<em>const hssize_t *</em><code>coord</code>[ ]
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Selects array elements to be included in the selection for a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sselect_elements</code> selects array elements to be
|
|
included in the selection for the <code>space_id</code> dataspace.
|
|
<p>
|
|
The number of elements selected is set in the
|
|
<code>num_elements</code> parameter.
|
|
<p>
|
|
The <code>coord</code> array is a two-dimensional array of
|
|
size <code><i>dataspace_rank</i></code> by <code>num_elements</code>
|
|
containing a list of of zero-based values specifying the
|
|
coordinates in the dataset of the selected elements.
|
|
The order of the element coordinates in the
|
|
<code>coord</code> array specifies the order in which
|
|
the array elements are iterated through when I/O is performed.
|
|
Duplicate coordinate locations are not checked for.
|
|
<p>
|
|
The selection operator <code>op</code> determines how the
|
|
new selection is to be combined with the previously existing
|
|
selection for the dataspace.
|
|
The following operators are supported:
|
|
<center>
|
|
<table width=90% border=0>
|
|
<tr><td valign=top>
|
|
<code>H5S_SELECT_SET</code>
|
|
</td><td valign=top>
|
|
Replaces the existing selection with the parameters from
|
|
this call.
|
|
Overlapping blocks are not supported with this operator.
|
|
<!-- </td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_OR</code>
|
|
</td><td valign=top>
|
|
--> Adds the new selection to the existing selection.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_APPEND</code>
|
|
</td><td valign=top>
|
|
Adds the new selection following the last element of the
|
|
existing selection.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_PREPEND </code>
|
|
</td><td valign=top>
|
|
Adds the new selection preceding the first element of the
|
|
existing selection.
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<!-- When operator <code>H5S_SELECT_OR</code>
|
|
is used to combine a new selection with an existing selection,
|
|
the selection ordering is reset to C array ordering.
|
|
-->
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">Identifier of the dataspace.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>H5S_seloper_t</em> <code>op</code></td>
|
|
<td valign="top">Operator specifying how the new selection is to be
|
|
combined with the existing selection for the dataspace.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const size_t</em> <code>num_elements </code></td>
|
|
<td valign="top">Number of elements to be selected.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hssize_t *</em><code>coord</code>[ ]</td>
|
|
<td valign="top">A 2-dimensional array of 0-based values specifying the
|
|
coordinates of the elements being selected.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sselect_elements_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sselect_elements_f(space_id, operator, num_elements, &
|
|
coord, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(IN) :: op ! Flag, valid values are:
|
|
! H5S_SELECT_SET_F
|
|
! H5S_SELECT_OR_F
|
|
INTEGER, INTENT(IN) :: num_elements ! Number of elements to be selected
|
|
INTEGER(HSSIZE_T), DIMENSION(*,*), INTENT(IN) :: coord
|
|
! Array with the coordinates
|
|
! of the selected elements:
|
|
! coord(num_elements, rank)</pre>
|
|
<!-- NEW PAGE -->
|
|
<pre>
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sselect_elements_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sselect_hyperslab" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sselect_hyperslab</code>(<em>hid_t</em> <code>space_id</code>,
|
|
<em>H5S_seloper_t</em> <code>op</code>,
|
|
<em>const hssize_t *</em><code>start</code>,
|
|
<em>const hsize_t *</em><code>stride</code>,
|
|
<em>const hsize_t *</em><code>count</code>,
|
|
<em>const hsize_t *</em><code>block</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Selects a hyperslab region to add to the current selected region.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sselect_hyperslab</code> selects a hyperslab region
|
|
to add to the current selected region for the dataspace
|
|
specified by <code>space_id</code>.
|
|
<p>
|
|
The <code>start</code>, <code>stride</code>, <code>count</code>,
|
|
and <code>block</code> arrays must be the same size as the rank
|
|
of the dataspace.
|
|
<p>
|
|
The selection operator <code>op</code> determines how the new
|
|
selection is to be combined with the already existing selection
|
|
for the dataspace.
|
|
The following operators are supported:
|
|
<center>
|
|
<table width=90% border=0>
|
|
<tr><td valign=top>
|
|
<code>H5S_SELECT_SET</code>
|
|
</td><td valign=top>
|
|
Replaces the existing selection with the parameters from this call.
|
|
Overlapping blocks are not supported with this operator.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_OR</code>
|
|
</td><td valign=top>
|
|
Adds the new selection to the existing selection.
|
|
|
|
(Binary OR)
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_AND</code>
|
|
</td><td valign=top>
|
|
Retains only the overlapping portions of the new selection and
|
|
the existing selection.
|
|
|
|
(Binary AND)
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_XOR</code>
|
|
</td><td valign=top>
|
|
Retains only the elements that are members of the new selection or
|
|
the existing selection, excluding elements that are members of
|
|
both selections.
|
|
|
|
(Binary exclusive-OR, XOR)
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_NOTB </code>
|
|
</td><td valign=top>
|
|
Retains only elements of the existing selection that are not in
|
|
the new selection.
|
|
</td></tr><tr><td valign=top>
|
|
<code>H5S_SELECT_NOTA</code>
|
|
</td><td valign=top>
|
|
Retains only elements of the new selection that are not in
|
|
the existing selection.
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
|
|
<p>
|
|
The <code>start</code> array determines the starting coordinates
|
|
of the hyperslab to select.
|
|
<p>
|
|
The <code>stride</code> array chooses array locations
|
|
from the dataspace with each value in the <code>stride</code>
|
|
array determining how many elements to move in each dimension.
|
|
Setting a value in the <code>stride</code> array to 1 moves to
|
|
each element in that dimension of the dataspace; setting a value
|
|
of <code>2</code> in alocation in the <code>stride</code> array
|
|
moves to every other element in that dimension of the dataspace.
|
|
In other words, the <code>stride</code> determines the
|
|
number of elements to move from the <code>start</code> location
|
|
in each dimension.
|
|
Stride values of <code>0</code> are not allowed.
|
|
If the <code>stride</code> parameter is <code>NULL</code>,
|
|
a contiguous hyperslab is selected (as if each value in the
|
|
<code>stride</code> array were set to all 1's).
|
|
<p>
|
|
The <code>count</code> array determines how many blocks to
|
|
select from the dataspace, in each dimension.
|
|
<p>
|
|
The <code>block</code> array determines
|
|
the size of the element block selected from the dataspace.
|
|
If the <code>block</code> parameter is set to <code>NULL</code>,
|
|
the block size defaults to a single element in each dimension
|
|
(as if the <code>block</code> array were set to all
|
|
<code>1</code>'s).
|
|
<p>
|
|
For example, in a 2-dimensional dataspace, setting
|
|
<code>start</code> to [1,1],
|
|
<code>stride</code> to [4,4],
|
|
<code>count</code> to [3,7], and
|
|
<code>block</code> to [2,2]
|
|
selects 21 2x2 blocks of array elements starting with
|
|
location (1,1) and selecting blocks at locations
|
|
(1,1), (5,1), (9,1), (1,5), (5,5), etc.
|
|
<p>
|
|
Regions selected with this function call default to C order
|
|
iteration when I/O is performed.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">IN: Identifier of dataspace selection to modify</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>H5S_seloper_t</em> <code>op</code></td>
|
|
<td valign="top">IN: Operation to perform on current selection.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hssize_t *</em><code>start</code></td>
|
|
<td valign="top">IN: Offset of start of hyperslab</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em><code>count</code></td>
|
|
<td valign="top">IN: Number of blocks included in hyperslab.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em><code>stride </code></td>
|
|
<td valign="top">IN: Hyperslab stride.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em><code>block</code></td>
|
|
<td valign="top">IN: Size of block in hyperslab.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sselect_hyperslab_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, &
|
|
hdferr, stride, block)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(IN) :: op ! Flag, valid values are:
|
|
! H5S_SELECT_SET_F
|
|
! H5S_SELECT_OR_F
|
|
INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: start
|
|
! Starting coordinates of hyperslab
|
|
INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
|
|
! Number of blocks to select
|
|
! from dataspace
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: stride
|
|
! Array of how many elements to
|
|
! move in each direction
|
|
INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: block
|
|
! Size of the element block
|
|
END SUBROUTINE h5sselect_hyperslab_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sselect_none" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectNone">H5Sselect_none</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sselect_none</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Resets the selection region to include no elements.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sselect_none</code> resets the selection region
|
|
for the dataspace <code>space_id</code> to include no elements.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">IN: The identifier for the dataspace in which the
|
|
selection is being reset.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sselect_none_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sselect_none_f(space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sselect_none_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sselect_valid" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Verifies that the selection is within the extent of the dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sselect_valid</code> verifies that the selection
|
|
for the dataspace <code>space_id</code> is within the extent
|
|
of the dataspace if the current offset for the dataspace is used.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">The identifier for the dataspace being queried.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a positive value, for <code>TRUE</code>,
|
|
if the selection is contained within the extent
|
|
or <code>0</code> (zero), for <code>FALSE</code>, if it is not.
|
|
Returns a negative value on error conditions
|
|
such as the selection or extent not being defined.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sselect_valid_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sselect_valid_f(space_id, flag, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
LOGICAL, INTENT(OUT) :: flag ! TRUE if the selection is
|
|
! contained within the extent,
|
|
! FALSE otherwise.
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sselect_valid_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sset_extent_none" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SetExtentNone">H5Sset_extent_none</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sset_extent_none</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Removes the extent from a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sset_extent_none</code> removes the extent from
|
|
a dataspace and sets the type to <tt>H5S_NO_CLASS</tt>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id </code></td>
|
|
<td valign="top">The identifier for the dataspace from which
|
|
the extent is to be removed.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sset_extent_none_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sset_extent_none_f(space_id, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sset_extent_none_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Sset_extent_simple" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Sset_extent_simple</code>(<em>hid_t</em> <code>space_id</code>,
|
|
<em>int</em> <code>rank</code>,
|
|
<em>const hsize_t *</em><code>current_size</code>,
|
|
<em>const hsize_t *</em><code>maximum_size</code>
|
|
)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Sets or resets the size of an existing dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sset_extent_simple</code> sets or resets the size of
|
|
an existing dataspace.
|
|
<p>
|
|
<code>rank</code> is the dimensionality, or number of
|
|
dimensions, of the dataspace.
|
|
<p>
|
|
<code>current_size</code> is an array of size <code>rank</code>
|
|
which contains the new size of each dimension in the dataspace.
|
|
<code>maximum_size</code> is an array of size <code>rank</code>
|
|
which contains the maximum size of each dimension in the
|
|
dataspace.
|
|
<p>
|
|
Any previous extent is removed from the dataspace, the dataspace
|
|
type is set to <code>H5S_SIMPLE</code>, and the extent is set as
|
|
specified.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>space_id</code></td>
|
|
<td valign="top">Dataspace identifier.</td>
|
|
<tr>
|
|
<td valign="top"><em>int</em> <code>rank</code></td>
|
|
<td valign="top">Rank, or dimensionality, of the dataspace.</td>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em><code>current_size </code></td>
|
|
<td valign="top">Array containing current size of dataspace.</td>
|
|
<tr>
|
|
<td valign="top"><em>const hsize_t *</em><code>maximum_size</code></td>
|
|
<td valign="top">Array containing maximum size of dataspace.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace identifier if successful;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong> h5sset_extent_simple_f
|
|
<dd>
|
|
<pre>
|
|
SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, &
|
|
maximum_size, hdferr)
|
|
IMPLICIT NONE
|
|
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
|
|
INTEGER, INTENT(IN) :: rank ! Dataspace rank
|
|
INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size
|
|
! Array with the new sizes
|
|
! of dimensions
|
|
INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) ::
|
|
! Array with the new maximum
|
|
! sizes of dimensions
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
|
! 0 on success and -1 on failure
|
|
END SUBROUTINE h5sset_extent_simple_f
|
|
</pre>
|
|
|
|
<!--<dt><strong>Non-C API(s):</strong>
|
|
<dd>
|
|
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
</dl>
|
|
|
|
|
|
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
|
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-ExtentClass">H5Sextent_class</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>H5S_class_t</em> <code>H5Sextent_class</code>(<em>hid_t</em> <code>space_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determine the current class of a dataspace.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Sextent_class</code> queries a dataspace to determine the
|
|
current class of a dataspace.
|
|
<p>
|
|
The function returns a class name, one of the following:
|
|
<code>H5S_SCALAR</code>,
|
|
<code>H5S_SIMPLE</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<dl>
|
|
<dt><em>hid_t</em> <code>space_id</code>
|
|
<dd>Dataspace identifier.
|
|
</dl>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a dataspace class name if successful;
|
|
otherwise H5S_NO_CLASS (-1).
|
|
<dt><strong>Non-C API(s):</strong>
|
|
<dd><a href="fortran/h5s_FORTRAN.html#h5sextent_class_f"
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
</dl>
|
|
|
|
-->
|
|
|
|
|
|
<!--<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-CombineHyperslab">H5Scombine_hyperslab</a>
|
|
|
|
|
|
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
|
<dd><a href="fortran/h5s_FORTRAN.html#h5scombine_hyperslab_f"
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
|
--> <!--
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
<!--</dl>
|
|
-->
|
|
|
|
|
|
<!--<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-CombineSelect">H5Scombine_select</a>
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
|
<dd><a href="fortran/h5s_FORTRAN.html#h5scombine_select_f"
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
|
--> <!--
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
<!--</dl>
|
|
-->
|
|
|
|
|
|
<!--<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Dataspace-SelectSelect">H5Sselect_select</a>
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
|
<dd><a href="fortran/h5s_FORTRAN.html#h5sselect_select_f"
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
|
--> <!--
|
|
<img src="Graphics/Java.gif">
|
|
<img src="Graphics/C++.gif">
|
|
-->
|
|
<!--</dl>
|
|
-->
|
|
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br>
|
|
<!--
|
|
<a href="Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
And in this document, the
|
|
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
|
<br>
|
|
<a href="RM_H5.html">H5</a>
|
|
<a href="RM_H5A.html">H5A</a>
|
|
<a href="RM_H5D.html">H5D</a>
|
|
<a href="RM_H5E.html">H5E</a>
|
|
<a href="RM_H5F.html">H5F</a>
|
|
<a href="RM_H5G.html">H5G</a>
|
|
<a href="RM_H5I.html">H5I</a>
|
|
<a href="RM_H5P.html">H5P</a>
|
|
<br>
|
|
<a href="RM_H5R.html">H5R</a>
|
|
<a href="RM_H5S.html">H5S</a>
|
|
<a href="RM_H5T.html">H5T</a>
|
|
<a href="RM_H5Z.html">H5Z</a>
|
|
<a href="Tools.html">Tools</a>
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
|
|
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
|
<br>
|
|
Describes HDF5 Release 1.7, the unreleased development branch; working toward HDF5 Release 1.8.0
|
|
</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
|
|
<!--
|
|
document.writeln("Last modified: 15 March 2004");
|
|
-->
|
|
</SCRIPT>
|
|
|
|
</body>
|
|
</html>
|