summaryrefslogtreecommitdiffstats
path: root/hl/c++/src
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2006-09-26 18:25:03 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2006-09-26 18:25:03 (GMT)
commit6aeb73dd44ed126dcb3f77b9ff4ff95c2403ea62 (patch)
tree2a600b3c00b8f554d0a09f4e29e5e0f831a8b356 /hl/c++/src
parentfdbdaf656bc91c4802dd4c58ceb622bb51f390a9 (diff)
downloadhdf5-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.cpp6
-rw-r--r--hl/c++/src/H5PacketTable.h9
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.