From da9346bd99300448aee4ba2afe7f9e40009f939a Mon Sep 17 00:00:00 2001 From: Barbara Jones Date: Thu, 8 Mar 2001 12:08:26 -0500 Subject: [svn-r3564] made some more changes to tutorial pages Purpose: [is this a bug fix? feature? ...] Description: [describe the bug, or describe the new feature, etc] Solution: [details about the changes, algorithm, etc...] [Please as detail as you can since your own explanation is better than others guessing it from the code.] Platforms tested: [machines you have tested the changed version. This is absolute important. Test it out on at least two or three different platforms such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and 64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.] --- doc/html/Tutor/compound.html | 155 +------------------------------------------ doc/html/Tutor/software.html | 15 +++-- 2 files changed, 11 insertions(+), 159 deletions(-) diff --git a/doc/html/Tutor/compound.html b/doc/html/Tutor/compound.html index d68d5a3..5db0ff1 100644 --- a/doc/html/Tutor/compound.html +++ b/doc/html/Tutor/compound.html @@ -29,7 +29,6 @@ width=78 height=27 alt="NCSA">

  • File Contents -Note: The FORTRAN API does not yet support compound datatypes.

    Creating Compound Datatypes

    @@ -69,159 +68,11 @@ the members.
    -
    -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -#include "hdf5.h"
    -
    -#define FILE          "SDScompound.h5"
    -#define DATASETNAME   "ArrayOfStructures"
    -#define LENGTH        10
    -#define RANK          1
    -
    -int
    -main(void)
    -{
    -
    -    /* First structure  and dataset*/
    -    typedef struct s1_t {
    -	int    a;
    -	float  b;
    -	double c; 
    -    } s1_t;
    -    s1_t       s1[LENGTH];
    -    hid_t      s1_tid;     /* File datatype identifier */
    -
    -    /* Second structure (subset of s1_t)  and dataset*/
    -    typedef struct s2_t {
    -	double c;
    -	int    a;
    -    } s2_t;
    -    s2_t       s2[LENGTH];
    -    hid_t      s2_tid;    /* Memory datatype handle */
    -
    -    /* Third "structure" ( will be used to read float field of s1) */
    -    hid_t      s3_tid;   /* Memory datatype handle */
    -    float      s3[LENGTH];
    -
    -    int        i;
    -    hid_t      file, dataset, space; /* Handles */
    -    herr_t     status;
    -    hsize_t    dim[] = {LENGTH};   /* Dataspace dimensions */
    -
    -
    -    /*
    -     * Initialize the data
    -     */
    -    for (i = 0; i < LENGTH; i++) {
    -        s1[i].a = i;
    -        s1[i].b = i*i;
    -        s1[i].c = 1./(i+1);
    -    }
    -
    -    /*
    -     * Create the data space.
    -     */
    -    space = H5Screate_simple(RANK, dim, NULL);
    -
    -    /*
    -     * Create the file.
    -     */
    -    file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
    -
    -    /*
    -     * Create the memory datatype. 
    -     */
    -    s1_tid = H5Tcreate (H5T_COMPOUND, sizeof(s1_t));
    -    H5Tinsert(s1_tid, "a_name", HOFFSET(s1_t, a), H5T_NATIVE_INT);
    -    H5Tinsert(s1_tid, "c_name", HOFFSET(s1_t, c), H5T_NATIVE_DOUBLE);
    -    H5Tinsert(s1_tid, "b_name", HOFFSET(s1_t, b), H5T_NATIVE_FLOAT);
    -
    -    /* 
    -     * Create the dataset.
    -     */
    -    dataset = H5Dcreate(file, DATASETNAME, s1_tid, space, H5P_DEFAULT);
    -
    -    /*
    -     * Wtite data to the dataset; 
    -     */
    -    status = H5Dwrite(dataset, s1_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, s1);
    -
    -    /*
    -     * Release resources
    -     */
    -    H5Tclose(s1_tid);
    -    H5Sclose(space);
    -    H5Dclose(dataset);
    -    H5Fclose(file);
    - 
    -    /*
    -     * Open the file and the dataset.
    -     */
    -    file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
    - 
    -    dataset = H5Dopen(file, DATASETNAME);
    -
    -    /* 
    -     * Create a datatype for s2
    -     */
    -    s2_tid = H5Tcreate(H5T_COMPOUND, sizeof(s2_t));
    -
    -    H5Tinsert(s2_tid, "c_name", HOFFSET(s2_t, c), H5T_NATIVE_DOUBLE);
    -    H5Tinsert(s2_tid, "a_name", HOFFSET(s2_t, a), H5T_NATIVE_INT);
    -
    -    /*
    -     * Read two fields c and a from s1 dataset. Fields in the file
    -     * are found by their names "c_name" and "a_name".
    -     */
    -    status = H5Dread(dataset, s2_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, s2);
    -
    -    /*
    -     * Display the fields
    -     */
    -    printf("\n");
    -    printf("Field c : \n");
    -    for( i = 0; i < LENGTH; i++) printf("%.4f ", s2[i].c);
    -    printf("\n");
    -
    -    printf("\n");
    -    printf("Field a : \n");
    -    for( i = 0; i < LENGTH; i++) printf("%d ", s2[i].a);
    -    printf("\n");
    -
    -    /* 
    -     * Create a datatype for s3.
    -     */
    -    s3_tid = H5Tcreate(H5T_COMPOUND, sizeof(float));
    -
    -    status = H5Tinsert(s3_tid, "b_name", 0, H5T_NATIVE_FLOAT);
    -
    -    /*
    -     * Read field b from s1 dataset. Field in the file is found by its name.
    -     */
    -    status = H5Dread(dataset, s3_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, s3);
    -
    -    /*
    -     * Display the field
    -     */
    -    printf("\n");
    -    printf("Field b : \n");
    -    for( i = 0; i < LENGTH; i++) printf("%.4f ", s3[i]);
    -    printf("\n");
    -
    -    /*
    -     * Release resources
    -     */
    -    H5Tclose(s2_tid);
    -    H5Tclose(s3_tid);
    -    H5Dclose(dataset);
    -    H5Fclose(file);
    -
    -    return 0;
    -}
    -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -
    The program outputs the following:
     
    diff --git a/doc/html/Tutor/software.html b/doc/html/Tutor/software.html
    index 03c0929..c1b94da 100644
    --- a/doc/html/Tutor/software.html
    +++ b/doc/html/Tutor/software.html
    @@ -42,12 +42,13 @@ For further information regarding HDF5, check the HDF5 home page:
     
            http://hdf.ncsa.uiuc.edu/HDF5/

    -

    FORTRAN90: -
    With HDF5-1.4-beta2, support for Fortran 90 is included as part of -the installation of the HDF5 library. Download the HDF5-1.4-beta2 source -code and compile it with the --enable-fortran flag. Read the instructions -in the -RELEASE +
    FORTRAN 90: +
    With HDF5-1.4.0, support for Fortran 90 is included as part of +the installation of the HDF5 library. The pre-compiled binaries include +the Fortran library. If you need to build from source, download the +HDF5-1.4.0 source code and compile it with the --enable-fortran flag. +Read the instructions in the +RELEASE.txt file for further details.

    @@ -75,7 +76,7 @@ are included with this tutorial: hdfhelp@@ncsa.uiuc.edu -

    Last Modified: January 10, 2001

    +
    Last Modified: March 8, 2001

    -- cgit v0.12