diff options
author | James Laird <jlaird@hdfgroup.org> | 2006-09-26 18:25:03 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2006-09-26 18:25:03 (GMT) |
commit | 6aeb73dd44ed126dcb3f77b9ff4ff95c2403ea62 (patch) | |
tree | 2a600b3c00b8f554d0a09f4e29e5e0f831a8b356 /hl/c++/src | |
parent | fdbdaf656bc91c4802dd4c58ceb622bb51f390a9 (diff) | |
download | hdf5-6aeb73dd44ed126dcb3f77b9ff4ff95c2403ea62.zip hdf5-6aeb73dd44ed126dcb3f77b9ff4ff95c2403ea62.tar.gz hdf5-6aeb73dd44ed126dcb3f77b9ff4ff95c2403ea62.tar.bz2 |
[svn-r12686] Added compression to Packet Tables. Now both C and C++ packet tables
have an extra parameter that sets the deflate filter.
Added tests, made examples use the new APIs.
Cleaned up include files a little and removed some casts that I hope are
superfluous. If anybody encounters strange errors in the packet table
tests where the chunk size is set to some extremely large value, please
let me know, but I was unable to reproduce this error on any system.
Tested on mir, heping, sol, juniper, VS 6.0. Looked for the chunk size
error on several other systems a month or two ago.
Diffstat (limited to 'hl/c++/src')
-rw-r--r-- | hl/c++/src/H5PacketTable.cpp | 6 | ||||
-rw-r--r-- | hl/c++/src/H5PacketTable.h | 9 |
2 files changed, 8 insertions, 7 deletions
diff --git a/hl/c++/src/H5PacketTable.cpp b/hl/c++/src/H5PacketTable.cpp index 6a16807..dc34995 100644 --- a/hl/c++/src/H5PacketTable.cpp +++ b/hl/c++/src/H5PacketTable.cpp @@ -124,9 +124,9 @@ * the packet table, the ID of the datatype of the set, and the size * of a memory chunk used in chunking. */ - FL_PacketTable::FL_PacketTable(hid_t fileID, char* name, hid_t dtypeID, int chunkSize) + FL_PacketTable::FL_PacketTable(hid_t fileID, char* name, hid_t dtypeID, hsize_t chunkSize, int compression) { - table_id = H5PTcreate_fl ( fileID, name, dtypeID, chunkSize); + table_id = H5PTcreate_fl ( fileID, name, dtypeID, chunkSize, compression); } /* "Open" Constructor @@ -220,7 +220,7 @@ * Takes the ID of the file the packet table will be created in, the name of * the packet table, and the size of a memory chunk used in chunking. */ - VL_PacketTable::VL_PacketTable(hid_t fileID, char* name, int chunkSize) + VL_PacketTable::VL_PacketTable(hid_t fileID, char* name, hsize_t chunkSize) { table_id = H5PTcreate_vl ( fileID, name, chunkSize); } diff --git a/hl/c++/src/H5PacketTable.h b/hl/c++/src/H5PacketTable.h index 3ba4e5e..cdfb3ee 100644 --- a/hl/c++/src/H5PacketTable.h +++ b/hl/c++/src/H5PacketTable.h @@ -103,10 +103,11 @@ public: /* Constructor * Creates a packet table in which to store fixed length packets. * Takes the ID of the file the packet table will be created in, the name of - * the packet table, the ID of the datatype of the set, and the size - * of a memory chunk used in chunking. + * the packet table, the ID of the datatype of the set, the size + * of a memory chunk used in chunking, and the desired compression level + * (0-9, or -1 for no compression). */ - FL_PacketTable(hid_t fileID, char* name, hid_t dtypeID, int chunkSize); + FL_PacketTable(hid_t fileID, char* name, hid_t dtypeID, hsize_t chunkSize, int compression = -1); /* "Open" Constructor * Opens an existing fixed-length packet table. @@ -169,7 +170,7 @@ public: * Takes the ID of the file the packet table will be created in, the name of * the packet table, and the size of a memory chunk used in chunking. */ - VL_PacketTable(hid_t fileID, char* name, int chunkSize); + VL_PacketTable(hid_t fileID, char* name, hsize_t chunkSize); /* "Open" Constructor * Opens an existing variable-length packet table. |