From db8ff96dc0e357162f3b2c0b14efc9159e19d162 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Thu, 3 Apr 2003 08:48:58 -0500 Subject: [svn-r6577] Purpose: Code cleanup (sorta) Description: The H5Pset_szip API call was forcing users to pass in their parameters in the same way as the internal representation of the filter parameters used by the library (as an array of unsigned values). Solution: Changed to pass in separate parameters in a more user-friendly format. Platforms tested: FreeBSD 4.8 (sleipnir) IRIX64 6.5 (modi4) w/parallel Misc. update: --- src/H5Pdcpl.c | 27 ++++++++++++++++----------- src/H5Ppublic.h | 3 ++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/H5Pdcpl.c b/src/H5Pdcpl.c index 33e0c8c..b1939ef 100644 --- a/src/H5Pdcpl.c +++ b/src/H5Pdcpl.c @@ -760,34 +760,39 @@ done: * * Return: Non-negative on success/Negative on failure * - * Programmer: Robb Matzke - * Wednesday, April 15, 1998 + * Programmer: Kent Yang + * Tuesday, April 1, 2003 * * Modifications: * - * Raymond Lu - * Tuesday, October 2, 2001 - * Changed the way to check parameter and set property for - * generic property list. - * *------------------------------------------------------------------------- */ herr_t -H5Pset_szip(hid_t plist_id, const unsigned cd_values[]) +H5Pset_szip(hid_t plist_id, + int options_mask, + int bits_per_pixel, + int pixels_per_block, + int pixels_per_scanline) { H5O_pline_t pline; H5P_genplist_t *plist; /* Property list pointer */ + unsigned cd_values[4]; /* Filter parameters */ herr_t ret_value=SUCCEED; /* return value */ FUNC_ENTER_API(H5Pset_szip, FAIL); -/* H5TRACE2("e","i*Iu",plist_id,cd_values); - H5TRACE2("e","i*Iu",plist_id,cd_values); -*/ + H5TRACE5("e","iIsIsIsIs",plist_id,options_mask,bits_per_pixel, + pixels_per_block,pixels_per_scanline); /* Get the plist structure */ if(NULL == (plist = H5P_object_verify(plist_id,H5P_DATASET_CREATE))) HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID"); + /* Set the parameters for the filter */ + cd_values[0]=options_mask; + cd_values[1]=bits_per_pixel; + cd_values[2]=pixels_per_block; + cd_values[3]=pixels_per_scanline; + /* Add the filter */ if(H5P_get(plist, H5D_CRT_DATA_PIPELINE_NAME, &pline) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get pipeline"); diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h index de98643..6e30e8a 100644 --- a/src/H5Ppublic.h +++ b/src/H5Ppublic.h @@ -220,7 +220,8 @@ H5_DLL H5Z_filter_t H5Pget_filter(hid_t plist_id, int filter, unsigned cd_values[]/*out*/, size_t namelen, char name[]); H5_DLL herr_t H5Pset_deflate(hid_t plist_id, unsigned aggression); -H5_DLL herr_t H5Pset_szip(hid_t plist_id,const unsigned cd_values[]); +H5_DLL herr_t H5Pset_szip(hid_t plist_id, int options_mask, int bits_per_pixel, + int pixels_per_block, int pixels_per_scanline); H5_DLL herr_t H5Pset_shuffle(hid_t plist_id, unsigned bytespertype); H5_DLL herr_t H5Pset_fletcher32(hid_t plist_id); H5_DLL herr_t H5Pset_edc_check(hid_t plist_id, H5Z_EDC_t check); -- cgit v0.12