diff options
Diffstat (limited to 'doc/html/Tutor/examples/java/Compound.java')
-rw-r--r-- | doc/html/Tutor/examples/java/Compound.java | 540 |
1 files changed, 0 insertions, 540 deletions
diff --git a/doc/html/Tutor/examples/java/Compound.java b/doc/html/Tutor/examples/java/Compound.java deleted file mode 100644 index 219e1c1..0000000 --- a/doc/html/Tutor/examples/java/Compound.java +++ /dev/null @@ -1,540 +0,0 @@ -/****************************************************************** - * Compound.java (for HDF5 tutorial lesson 11) - * - * -- Creating a compound data type - * (a java conversion from compound.c) - * - ******************************************************************/ - -import ncsa.hdf.hdf5lib.*; -import ncsa.hdf.hdf5lib.exceptions.*; - -public class Compound -{ - public static void main (String []argv) - { - final String FILE = "SDScompound.h5"; - final String DATASETNAME = "ArrayOfStructures"; - final int LENGTH = 10; - final int RANK = 1; - - /* First structure and dataset */ - /* an array of LENGTH 'complex' numbers */ - byte[] data1 = new byte[LENGTH * 16]; - - int[] AR = new int[1]; - float[] BR = new float[1]; - double[] CR = new double[1]; - - byte [] ARec = new byte[4]; - byte [] BRec = new byte[4]; - byte [] CRec = new byte[8]; - - int s1_tid; /* File datatype identifier */ - - /* Second structure (subset of s1_t) and dataset*/ - byte[] data2 = new byte[LENGTH * 12]; - int s2_tid; /* Memory datatype handle */ - - /* Third "structure" ( will be used to read float field of s1) */ - int s3_tid; /* Memory datatype handle */ - float[] s3 = new float[LENGTH]; - - int i; - int file, dataset, space; /* Handles */ - int status; - long[] dim = new long[1]; /* Dataspace dimensions */ - dim[0] = LENGTH; - - /* - * Initialize the data - */ - for (i = 0; i < LENGTH; i++) - { - AR[0] = (int) i; - BR[0] = (float) i * i; - CR[0] = (double) 1. / (i + 1); - - ARec = HDFNativeData.intToByte (0, 1, AR); - BRec = HDFNativeData.floatToByte (0, 1, BR); - CRec = HDFNativeData.doubleToByte (0, 1, CR); - - System.arraycopy (ARec, 0, data1, (i * 16), 4); - System.arraycopy (BRec, 0, data1, (i * 16) + 4, 4); - System.arraycopy (CRec, 0, data1, (i * 16) + 8, 8); - } - - /* - * Create the data space. - */ - space = H5Screate_simple_wrap (RANK, dim, null); - - /* - * Create the file. - */ - file = H5Fcreate_wrap (FILE, HDF5Constants.H5F_ACC_TRUNC, - HDF5Constants.H5P_DEFAULT, - HDF5Constants.H5P_DEFAULT); - - /* - * Create the memory data type. - */ - s1_tid = H5Tcreate_wrap (HDF5Constants.H5T_COMPOUND, 16); - H5Tinsert_wrap (s1_tid, "a_name", 0, - H5.J2C (HDF5CDataTypes.JH5T_NATIVE_INT)); - H5Tinsert_wrap (s1_tid, "b_name", 4, - H5.J2C (HDF5CDataTypes.JH5T_NATIVE_FLOAT)); - H5Tinsert_wrap (s1_tid, "c_name", 8, - H5.J2C (HDF5CDataTypes.JH5T_NATIVE_DOUBLE)); - - /* - * Create the dataset. - */ - dataset = H5Dcreate_wrap (file, DATASETNAME, s1_tid, - space, HDF5Constants.H5P_DEFAULT); - - /* - * Wtite data to the dataset; - */ - status = H5Dwrite_wrap (dataset, s1_tid, - HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, - HDF5Constants.H5P_DEFAULT, data1); - - /* - * Release resources - */ - H5Tclose_wrap (s1_tid); - H5Sclose_wrap (space); - H5Dclose_wrap (dataset); - H5Fclose_wrap (file); - - /* - * Open the file and the dataset. - */ - file = H5Fopen_wrap (FILE, HDF5Constants.H5F_ACC_RDONLY, - HDF5Constants.H5P_DEFAULT); - - dataset = H5Dopen_wrap (file, DATASETNAME); - - /* - * Create a data type for s2 - */ - s2_tid = H5Tcreate_wrap (HDF5Constants.H5T_COMPOUND, 12); - H5Tinsert_wrap (s2_tid, "c_name", 0, - H5.J2C (HDF5CDataTypes.JH5T_NATIVE_DOUBLE)); - H5Tinsert_wrap (s2_tid, "a_name", 8, - H5.J2C (HDF5CDataTypes.JH5T_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_wrap (dataset, s2_tid, HDF5Constants.H5S_ALL, - HDF5Constants.H5S_ALL, - HDF5Constants.H5P_DEFAULT, data2); - - /* - * Display the fields. Convert from bytes into numbers. - */ - System.out.println ("\nField c : "); - for( i = 0; i < LENGTH; i++) { - System.arraycopy (data2, (i*12), CRec, 0, 8); - CR = HDFNativeData.byteToDouble(0, 1, CRec); - System.out.print (CR[0]+" "); - } - System.out.println (); - - System.out.println("\nField a :"); - for( i = 0; i < LENGTH; i++) { - System.arraycopy (data2, (i*12)+8, ARec, 0, 4); - AR = HDFNativeData.byteToInt(0, 1, ARec); - System.out.print (AR[0]+" "); - } - System.out.println (); - - /* - * Create a data type for s3. - */ - s3_tid = H5Tcreate_wrap (HDF5Constants.H5T_COMPOUND, 4); - - status = - H5Tinsert_wrap (s3_tid, "b_name", 0, - H5.J2C (HDF5CDataTypes.JH5T_NATIVE_FLOAT)); - - /* - * Read field b from s1 dataset. Field in the file is found by its name. - */ - status = H5Dread_wrap (dataset, s3_tid, HDF5Constants.H5S_ALL, - HDF5Constants.H5S_ALL, - HDF5Constants.H5P_DEFAULT, s3); - - /* - * Display the field. Data is read directly into array of 'float'. - */ - System.out.println (); - System.out.println ("Field b :"); - for( i = 0; i < LENGTH; i++) { - System.out.print (s3[i]+" "); - } - System.out.println (); - - /* - * Release resources - */ - H5Tclose_wrap (s2_tid); - H5Tclose_wrap (s3_tid); - H5Dclose_wrap (dataset); - H5Fclose_wrap (file); - } - - - // Help function for creating a new file - public static int H5Fcreate_wrap (String name, int flags, - int create_id, int access_id) - { - int file_id = -1; // file identifier - try - { - // Create a new file using default file properties. - file_id = H5.H5Fcreate (name, flags, create_id, access_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Fcreate_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Fcreate_wrap() with other Exception: " - + e.getMessage()); - } - return file_id; - } - - - // Help function for adding another member to the compound - // datatype datatype_id. - public static int H5Tinsert_wrap (int type_id, String name, - long offset, int field_id) - { - int status = -1; - try - { - // Adding another member to the compound datatype datatype_id. - status = H5.H5Tinsert (type_id, name, offset, field_id); - - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Tinsert_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Tinsert_wrap() with HDF5Exception: " - + e.getMessage()); - } - return status; - } - - - // Help function for creating the memory data type. - public static int H5Tcreate_wrap (int dclass, int size) - { - int datatype_id = -1; // memory data type identifier - try - { - // Create the memory data type. - datatype_id = H5.H5Tcreate (dclass, size); - - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Tcreate_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Tcreate_wrap() with other Exception: " - + e.getMessage()); - } - return datatype_id; - } - - - // Help function for opening an existing file - public static int H5Fopen_wrap (String name, int flags, int access_id) - { - int file_id = -1; // file identifier - try - { - // Create a new file using default file properties. - file_id = H5.H5Fopen (name, flags, access_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Fopen_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Fopen_wrap() with other Exception: " - + e.getMessage()); - } - return file_id; - } - - - // Help function for opening an existing dataset - public static int H5Dopen_wrap (int loc_id, String name) - { - int dataset_id = -1; // dataset identifier - - try - { - // Opening an existing dataset - dataset_id = H5.H5Dopen (loc_id, name); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Dopen_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Dopen_wrap() with other Exception: " - + e.getMessage()); - } - return dataset_id; - } - - - // Help function for creating a new simple dataspace and opening it - // for access - public static int H5Screate_simple_wrap (int rank, long dims[], - long maxdims[]) - { - int dataspace_id = -1; // dataspace identifier - - try - { - // Create the data space for the dataset. - dataspace_id = H5.H5Screate_simple (rank, dims, maxdims); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Screate_simple_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Screate_simple_wrap() with other Exception: " - + e.getMessage()); - } - return dataspace_id; - } - - - // Help function for creating a dataset - public static int H5Dcreate_wrap (int loc_id, String name, int type_id, - int space_id, int create_plist_id) - { - int dataset_id = -1; // dataset identifier - - try - { - // Create the dataset - dataset_id = H5.H5Dcreate (loc_id, name, type_id, space_id, - create_plist_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Dcreate_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Dcreate_wrap() with other Exception: " - + e.getMessage()); - } - return dataset_id; - } - - - // Help function for writing the dataset - public static int H5Dwrite_wrap (int dataset_id, int mem_type_id, - int mem_space_id, int file_space_id, - int xfer_plist_id, Object buf) - { - int status = -1; - - try - { - // Write the dataset. - status = H5.H5Dwrite (dataset_id, mem_type_id, mem_space_id, - file_space_id, xfer_plist_id, buf); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Dwrite_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Dwrite_wrap() with other exception: " - + e.getMessage()); - } - return status; - } - - - // Help function for reading the dataset - public static int H5Dread_wrap (int dataset_id, int mem_type_id, - int mem_space_id, int file_space_id, - int xfer_plist_id, Object obj) - { - int status = -1; - - try - { - // Read the dataset. - status = H5.H5Dread (dataset_id, mem_type_id, mem_space_id, - file_space_id, xfer_plist_id, obj); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Dread_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Dread_wrap() with other exception: " - + e.getMessage()); - } - return status; - } - - - - // Help function for terminating access to the data space. - public static int H5Sclose_wrap (int dataspace_id) - { - int status = -1; - - try - { - // Terminate access to the data space. - status = H5.H5Sclose (dataspace_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Sclose_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Sclose_wrap() with other exception: " - + e.getMessage()); - } - return status; - } - - - // Help function for releasing a datatype. - public static int H5Tclose_wrap (int type_id) - { - int status = -1; - - try - { - // Releasing a datatype. - status = H5.H5Tclose (type_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Tclose_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Tclose_wrap() with other exception: " - + e.getMessage()); - } - return status; - } - - - // Help function for ending access to the dataset and releasing - // resources used by it. - public static int H5Dclose_wrap (int dataset_id) - { - int status = -1; - - try - { - // End access to the dataset and release resources used by it. - status = H5.H5Dclose (dataset_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Dclose_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Dclose_wrap() with other exception: " - + e.getMessage()); - } - return status; - } - - - // Help function for terminating access to the file. - public static int H5Fclose_wrap (int file_id) - { - int status = -1; - - try - { - // Terminate access to the file. - status = H5.H5Fclose (file_id); - } - catch (HDF5Exception hdf5e) - { - System.out.println - ("Compound.H5Fclose_wrap() with HDF5Exception: " - + hdf5e.getMessage()); - } - catch (Exception e) - { - System.out.println - ("Compound.H5Fclose_wrap() with other exception: " - + e.getMessage()); - } - return status; - } -} |