diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-09-30 14:27:10 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-09-30 14:27:10 (GMT) |
commit | b2d661b508a7fc7a2592c13bc6bdc175551f075d (patch) | |
tree | 13baeb0d83a7c2a4c6299993c182b1227c2f6114 /hl/examples/ex_table_04.c | |
parent | 29ab58b58dce556639ea3154e262895773a8a8df (diff) | |
download | hdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.zip hdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.tar.gz hdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.tar.bz2 |
Clang-format of source files
Diffstat (limited to 'hl/examples/ex_table_04.c')
-rw-r--r-- | hl/examples/ex_table_04.c | 246 |
1 files changed, 111 insertions, 135 deletions
diff --git a/hl/examples/ex_table_04.c b/hl/examples/ex_table_04.c index 203114c..9cb9137 100644 --- a/hl/examples/ex_table_04.c +++ b/hl/examples/ex_table_04.c @@ -23,141 +23,117 @@ *------------------------------------------------------------------------- */ -#define NFIELDS (hsize_t) 5 -#define NRECORDS (hsize_t) 8 -#define NRECORDS_ADD (hsize_t) 3 -#define TABLE_NAME "table" +#define NFIELDS (hsize_t)5 +#define NRECORDS (hsize_t)8 +#define NRECORDS_ADD (hsize_t)3 +#define TABLE_NAME "table" -int main( void ) +int +main(void) { - typedef struct Particle - { - char name[16]; - int lati; - int longi; - float pressure; - double temperature; - } Particle; - - /* Define a subset of Particle, with latitude and longitude fields */ - typedef struct Position - { - int lati; - int longi; - } Position; - - /* Define a subset of Particle, with name and pressure fields */ - typedef struct NamePressure - { - char name[16]; - float pressure; - } NamePressure; - - Particle dst_buf[NRECORDS]; - /* Calculate the size and the offsets of our struct members in memory */ - size_t dst_size = sizeof( Particle ); - size_t dst_offset[NFIELDS] = { HOFFSET( Particle, name ), - HOFFSET( Particle, lati ), - HOFFSET( Particle, longi ), - HOFFSET( Particle, pressure ), - HOFFSET( Particle, temperature )}; - size_t dst_sizes[NFIELDS] = { sizeof( dst_buf[0].name), - sizeof( dst_buf[0].lati), - sizeof( dst_buf[0].longi), - sizeof( dst_buf[0].pressure), - sizeof( dst_buf[0].temperature)}; - size_t field_offset_pos[2] = { HOFFSET( Position, lati ), - HOFFSET( Position, longi )}; - const char *field_names[NFIELDS] = /* Define field information */ - { "Name","Latitude", "Longitude", "Pressure", "Temperature" }; - hid_t field_type[NFIELDS]; - hid_t string_type; - hid_t file_id; - hsize_t chunk_size = 10; - Particle fill_data[1] = - { {"no data",-1,-1, -99.0f, -99.0} }; /* Fill value particle */ - hsize_t start; /* Record to start reading/writing */ - hsize_t nrecords; /* Number of records to read/write */ - int compress = 0; - int i; - Particle *p_data = NULL; /* Initially no data */ - float pressure_in [NRECORDS_ADD] = /* Define new values for the field "Pressure" */ - { 0.0f,1.0f,2.0f}; - Position position_in[NRECORDS_ADD] = {/* Define new values for "Latitude,Longitude" */ - {0,0}, - {10,10}, - {20,20}}; - NamePressure namepre_in[NRECORDS_ADD] =/* Define new values for "Name,Pressure" */ - { {"zero",0.0f}, - {"one", 1.0f}, - {"two", 2.0f}, - }; - size_t field_sizes_pos[2]= - { - sizeof(position_in[0].longi), - sizeof(position_in[0].lati) - }; - size_t field_sizes_pre[1]= - { - sizeof(namepre_in[0].pressure) - }; - - /* Initialize the field field_type */ - string_type = H5Tcopy( H5T_C_S1 ); - H5Tset_size( string_type, 16 ); - field_type[0] = string_type; - field_type[1] = H5T_NATIVE_INT; - field_type[2] = H5T_NATIVE_INT; - field_type[3] = H5T_NATIVE_FLOAT; - field_type[4] = H5T_NATIVE_DOUBLE; - - /* Create a new file using default properties. */ - file_id = H5Fcreate( "ex_table_04.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); - - /* Make the table */ - H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, - dst_size,field_names, dst_offset, field_type, - chunk_size, fill_data, compress, p_data ); - - /* Write the pressure field starting at record 2 */ - start = 2; - nrecords = NRECORDS_ADD; - H5TBwrite_fields_name( file_id, TABLE_NAME, "Pressure", start, nrecords, - sizeof( float ), 0, field_sizes_pre, pressure_in ); - - /* Write the new longitude and latitude information starting at record 2 */ - start = 2; - nrecords = NRECORDS_ADD; - H5TBwrite_fields_name( file_id, TABLE_NAME, "Latitude,Longitude", start, nrecords, - sizeof( Position ), field_offset_pos, field_sizes_pos, position_in ); - - /* read the table */ - H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); - - /* print it by rows */ - for (i=0; i<NRECORDS; i++) { - printf ("%-5s %-5d %-5d %-5f %-5f", - dst_buf[i].name, - dst_buf[i].lati, - dst_buf[i].longi, - dst_buf[i].pressure, - dst_buf[i].temperature); - printf ("\n"); - } - -/*------------------------------------------------------------------------- - * end - *------------------------------------------------------------------------- - */ - - /* close type */ - H5Tclose( string_type ); - - /* close the file */ - H5Fclose( file_id ); - - return 0; - - + typedef struct Particle { + char name[16]; + int lati; + int longi; + float pressure; + double temperature; + } Particle; + + /* Define a subset of Particle, with latitude and longitude fields */ + typedef struct Position { + int lati; + int longi; + } Position; + + /* Define a subset of Particle, with name and pressure fields */ + typedef struct NamePressure { + char name[16]; + float pressure; + } NamePressure; + + Particle dst_buf[NRECORDS]; + /* Calculate the size and the offsets of our struct members in memory */ + size_t dst_size = sizeof(Particle); + size_t dst_offset[NFIELDS] = {HOFFSET(Particle, name), HOFFSET(Particle, lati), HOFFSET(Particle, longi), + HOFFSET(Particle, pressure), HOFFSET(Particle, temperature)}; + size_t dst_sizes[NFIELDS] = {sizeof(dst_buf[0].name), sizeof(dst_buf[0].lati), sizeof(dst_buf[0].longi), + sizeof(dst_buf[0].pressure), sizeof(dst_buf[0].temperature)}; + size_t field_offset_pos[2] = {HOFFSET(Position, lati), HOFFSET(Position, longi)}; + const char *field_names[NFIELDS] = /* Define field information */ + {"Name", "Latitude", "Longitude", "Pressure", "Temperature"}; + hid_t field_type[NFIELDS]; + hid_t string_type; + hid_t file_id; + hsize_t chunk_size = 10; + Particle fill_data[1] = {{"no data", -1, -1, -99.0f, -99.0}}; /* Fill value particle */ + hsize_t start; /* Record to start reading/writing */ + hsize_t nrecords; /* Number of records to read/write */ + int compress = 0; + int i; + Particle *p_data = NULL; /* Initially no data */ + float pressure_in[NRECORDS_ADD] = /* Define new values for the field "Pressure" */ + {0.0f, 1.0f, 2.0f}; + Position position_in[NRECORDS_ADD] = {/* Define new values for "Latitude,Longitude" */ + {0, 0}, + {10, 10}, + {20, 20}}; + NamePressure namepre_in[NRECORDS_ADD] = /* Define new values for "Name,Pressure" */ + { + {"zero", 0.0f}, + {"one", 1.0f}, + {"two", 2.0f}, + }; + size_t field_sizes_pos[2] = {sizeof(position_in[0].longi), sizeof(position_in[0].lati)}; + size_t field_sizes_pre[1] = {sizeof(namepre_in[0].pressure)}; + + /* Initialize the field field_type */ + string_type = H5Tcopy(H5T_C_S1); + H5Tset_size(string_type, 16); + field_type[0] = string_type; + field_type[1] = H5T_NATIVE_INT; + field_type[2] = H5T_NATIVE_INT; + field_type[3] = H5T_NATIVE_FLOAT; + field_type[4] = H5T_NATIVE_DOUBLE; + + /* Create a new file using default properties. */ + file_id = H5Fcreate("ex_table_04.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + /* Make the table */ + H5TBmake_table("Table Title", file_id, TABLE_NAME, NFIELDS, NRECORDS, dst_size, field_names, dst_offset, + field_type, chunk_size, fill_data, compress, p_data); + + /* Write the pressure field starting at record 2 */ + start = 2; + nrecords = NRECORDS_ADD; + H5TBwrite_fields_name(file_id, TABLE_NAME, "Pressure", start, nrecords, sizeof(float), 0, field_sizes_pre, + pressure_in); + + /* Write the new longitude and latitude information starting at record 2 */ + start = 2; + nrecords = NRECORDS_ADD; + H5TBwrite_fields_name(file_id, TABLE_NAME, "Latitude,Longitude", start, nrecords, sizeof(Position), + field_offset_pos, field_sizes_pos, position_in); + + /* read the table */ + H5TBread_table(file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf); + + /* print it by rows */ + for (i = 0; i < NRECORDS; i++) { + printf("%-5s %-5d %-5d %-5f %-5f", dst_buf[i].name, dst_buf[i].lati, dst_buf[i].longi, + dst_buf[i].pressure, dst_buf[i].temperature); + printf("\n"); + } + + /*------------------------------------------------------------------------- + * end + *------------------------------------------------------------------------- + */ + + /* close type */ + H5Tclose(string_type); + + /* close the file */ + H5Fclose(file_id); + + return 0; } - |