From: Bastian Dehn Date: Sun, 23 Feb 2025 10:09:52 +0000 (+0100) Subject: add clac pixel quant X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=1c617689a5890da080fc906cbab0244ab8eae186;p=sane-kds-s2000w-net.git add clac pixel quant --- diff --git a/src/kds_s2000w_handler_opts_calc.c b/src/kds_s2000w_handler_opts_calc.c index d5f31f9..891bd27 100644 --- a/src/kds_s2000w_handler_opts_calc.c +++ b/src/kds_s2000w_handler_opts_calc.c @@ -2,12 +2,17 @@ #define INCH_RESOLUTION 10 -uint32_t kds_s2000w_handler_opts_calc_inch_to_pixel(uint32_t dpi, uint32_t inch) +int32_t kds_s2000w_handler_opts_calc_inch_to_pixel(int32_t dpi, int32_t inch) { return inch / INCH_RESOLUTION * dpi; } -uint32_t kds_s2000w_handler_opts_calc_pixel_to_inch(uint32_t dpi, uint32_t pixel) +int32_t kds_s2000w_handler_opts_calc_pixel_to_inch(int32_t dpi, int32_t pixel) { return pixel / dpi * INCH_RESOLUTION; +} + +int32_t kds_s2000w_handler_opts_calc_pixel_quant(int32_t dpi) +{ + return dpi / INCH_RESOLUTION; } \ No newline at end of file diff --git a/src/kds_s2000w_handler_opts_calc.h b/src/kds_s2000w_handler_opts_calc.h index a9d8fad..27f01f6 100644 --- a/src/kds_s2000w_handler_opts_calc.h +++ b/src/kds_s2000w_handler_opts_calc.h @@ -2,7 +2,8 @@ #define KDS_S20000W_HANDLER_OPTS_CALC_H #include -uint32_t kds_s2000w_handler_opts_calc_inch_to_pixel(uint32_t dpi, uint32_t inch); -uint32_t kds_s2000w_handler_opts_calc_pixel_to_inch(uint32_t dpi, uint32_t pixel); +int32_t kds_s2000w_handler_opts_calc_inch_to_pixel(int32_t dpi, int32_t inch); +int32_t kds_s2000w_handler_opts_calc_pixel_to_inch(int32_t dpi, int32_t pixel); +int32_t kds_s2000w_handler_opts_calc_pixel_quant(int32_t dpi); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests.c b/tests/kds_s2000w_handler_opts_calc_tests.c index a9aa26e..4aa78d0 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.c +++ b/tests/kds_s2000w_handler_opts_calc_tests.c @@ -2,20 +2,29 @@ void kds_s2000w_handler_opts_calc_inch_to_pixel_test() { - uint32_t dpi = 300; - uint32_t inch = 10; + int32_t dpi = 300; + int32_t inch = 10; - uint32_t pixel = kds_s2000w_handler_opts_calc_inch_to_pixel(dpi, inch); + int32_t pixel = kds_s2000w_handler_opts_calc_inch_to_pixel(dpi, inch); assert_int_equal(pixel, 300); } void kds_s2000w_handler_opts_calc_pixel_to_inch_test() { - uint32_t dpi = 300; - uint32_t pixel = 300; + int32_t dpi = 300; + int32_t pixel = 300; - uint32_t inch = kds_s2000w_handler_opts_calc_pixel_to_inch(dpi, pixel); + int32_t inch = kds_s2000w_handler_opts_calc_pixel_to_inch(dpi, pixel); assert_int_equal(inch, 10); +} + +void kds_s2000w_handler_opts_calc_pixel_quant_test() +{ + int32_t dpi = 300; + + int32_t pixel_quant = kds_s2000w_handler_opts_calc_pixel_quant(dpi); + + assert_int_equal(pixel_quant, 30); } \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests.h b/tests/kds_s2000w_handler_opts_calc_tests.h index 9a8fd70..f21a5d1 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.h +++ b/tests/kds_s2000w_handler_opts_calc_tests.h @@ -9,5 +9,6 @@ void kds_s2000w_handler_opts_calc_inch_to_pixel_test(); void kds_s2000w_handler_opts_calc_pixel_to_inch_test(); +void kds_s2000w_handler_opts_calc_pixel_quant_test(); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests_run.c b/tests/kds_s2000w_handler_opts_calc_tests_run.c index db57ecd..8e05021 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests_run.c +++ b/tests/kds_s2000w_handler_opts_calc_tests_run.c @@ -4,7 +4,8 @@ int main() { const struct CMUnitTest opts_calc_tests[] = { cmocka_unit_test(kds_s2000w_handler_opts_calc_inch_to_pixel_test), - cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_test) + cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_test), + cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_quant_test) }; return cmocka_run_group_tests(opts_calc_tests, NULL, NULL);