From 121513fcd8af18bac47a7a47924909d09c0dee2d Mon Sep 17 00:00:00 2001 From: Robert Underwood Date: Fri, 9 Aug 2019 15:34:42 -0500 Subject: [PATCH] libpressio version 0.6.4 Bug Fixes: - Previously the sz plugin had two keys for szMode, the duplicate key has been deleted. - Previously the sz plugin had two keys for pw_relBoundRatio, the duplicate key has been deleted. - Previously a pointer was passed where a value was required. In both cases this has been corrected. - Test cases were updated to use no longer use the removed "sz:mode" and instead use the "sz:error_bound_mode" instead. --- CMakeLists.txt | 2 +- src/plugins/compressors/sz_plugin.cc | 4 +--- src/pressio_option.cc | 2 +- src/pressio_options.cc | 4 ++-- test/metrics.c | 2 +- test/sz_basic.c | 2 +- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 588b655..699527a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR) -project(libpressio VERSION "0.6.3" LANGUAGES CXX C) +project(libpressio VERSION "0.6.4" LANGUAGES CXX C) enable_testing() set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/src/plugins/compressors/sz_plugin.cc b/src/plugins/compressors/sz_plugin.cc index d6ff9fd..3cddd2a 100644 --- a/src/plugins/compressors/sz_plugin.cc +++ b/src/plugins/compressors/sz_plugin.cc @@ -25,7 +25,6 @@ class sz_plugin: public libpressio_compressor_plugin { struct pressio_options* options = pressio_options_new(); pressio_options_set_type(options, "sz:config_file", pressio_option_charptr_type); pressio_options_set_type(options, "sz:config_struct", pressio_option_userptr_type); - pressio_options_set_integer(options, "sz:mode", confparams_cpr->szMode); pressio_options_set_uinteger(options, "sz:max_quant_intervals", confparams_cpr->max_quant_intervals); pressio_options_set_uinteger(options, "sz:quantization_intervals ", confparams_cpr->quantization_intervals); pressio_options_set_uinteger(options, "sz:max_range_radius", confparams_cpr->maxRangeRadius); @@ -39,7 +38,7 @@ class sz_plugin: public libpressio_compressor_plugin { pressio_options_set_double(options, "sz:abs_err_bound", confparams_cpr->absErrBound); pressio_options_set_double(options, "sz:rel_err_bound", confparams_cpr->relBoundRatio); pressio_options_set_double(options, "sz:psnr_err_bound", confparams_cpr->psnr); - pressio_options_set_double(options, "sz:rel_err_bound", confparams_cpr->pw_relBoundRatio); + pressio_options_set_double(options, "sz:pw_rel_err_bound", confparams_cpr->pw_relBoundRatio); pressio_options_set_integer(options, "sz:segment_size", confparams_cpr->segment_size); pressio_options_set_integer(options, "sz:pwr_type", confparams_cpr->pwr_type); pressio_options_set_integer(options, "sz:snapshot_cmpr_step", confparams_cpr->snapshotCmprStep); @@ -63,7 +62,6 @@ class sz_plugin: public libpressio_compressor_plugin { SZ_Init_Params(sz_param); } - pressio_options_get_integer(options, "sz:mode", &confparams_cpr->szMode); pressio_options_get_uinteger(options, "sz:max_quant_intervals", &confparams_cpr->max_quant_intervals); pressio_options_get_uinteger(options, "sz:quantization_intervals ", &confparams_cpr->quantization_intervals); pressio_options_get_uinteger(options, "sz:max_range_radius", &confparams_cpr->maxRangeRadius); diff --git a/src/pressio_option.cc b/src/pressio_option.cc index f6016f0..364c7fb 100644 --- a/src/pressio_option.cc +++ b/src/pressio_option.cc @@ -80,7 +80,7 @@ pressio_option pressio_option::as(const enum pressio_option_type to_type, const double d = get_value(); switch (to_type) { case pressio_option_double_type: - return new pressio_option(d); + return pressio_option(d); case pressio_option_float_type: //narrowing if (allow_explicit(safety)) return pressio_option(static_cast(d)); diff --git a/src/pressio_options.cc b/src/pressio_options.cc index 95ad73f..aab9551 100644 --- a/src/pressio_options.cc +++ b/src/pressio_options.cc @@ -32,11 +32,11 @@ void pressio_options_set_type(struct pressio_options* options, const char* key, } enum pressio_options_key_status pressio_options_cast_set(struct pressio_options* options, const char* key, struct pressio_option* option, enum pressio_conversion_safety safety) { - return options->cast_set(key, option, safety); + return options->cast_set(key, *option, safety); } enum pressio_options_key_status pressio_options_as_set(struct pressio_options* options, const char* key, struct pressio_option* option) { - return options->cast_set(key, option); + return options->cast_set(key, *option); } diff --git a/test/metrics.c b/test/metrics.c index 4dbbd50..a8ddfe1 100644 --- a/test/metrics.c +++ b/test/metrics.c @@ -71,7 +71,7 @@ int main(int argc, char *argv[]) struct pressio_compressor* compressor = pressio_get_compressor(library, "sz"); struct pressio_options* sz_options = pressio_compressor_get_options(compressor); - pressio_options_set_integer(sz_options, "sz:mode", ABS); + pressio_options_set_integer(sz_options, "sz:error_bound_mode", ABS); pressio_options_set_double(sz_options, "sz:abs_err_bound", 0.5); if(pressio_compressor_check_options(compressor, sz_options)) { printf("%s\n", pressio_compressor_error_msg(compressor)); diff --git a/test/sz_basic.c b/test/sz_basic.c index d3a5e7f..a1a98ad 100644 --- a/test/sz_basic.c +++ b/test/sz_basic.c @@ -10,7 +10,7 @@ int main(int argc, char *argv[]) struct pressio_compressor* compressor = pressio_get_compressor(library, "sz"); struct pressio_options* sz_options = pressio_compressor_get_options(compressor); - pressio_options_set_integer(sz_options, "sz:mode", ABS); + pressio_options_set_integer(sz_options, "sz:error_bound_mode", ABS); pressio_options_set_double(sz_options, "sz:abs_err_bound", 0.5); if(pressio_compressor_check_options(compressor, sz_options)) { printf("%s\n", pressio_compressor_error_msg(compressor));