diff options
author | Stefan Klug <stefan.klug@ideasonboard.com> | 2025-04-01 14:36:11 +0200 |
---|---|---|
committer | Stefan Klug <stefan.klug@ideasonboard.com> | 2025-04-03 12:36:07 +0200 |
commit | 8936e81e3f2f160966f59e1d19103e95098db1da (patch) | |
tree | 501adec56069c78e18f87038fb998168c8e1d2f5 /test/ipa | |
parent | 781e2f4d0c3bfaf0d53a76b0a0f08aa5c742c7a0 (diff) |
libipa: histogram: Fix quantile() calculation for fractional results
The calculation of the frac variable is based solely on integers and
therefore results in the fractional part being either 0 or 1.
In the original code from RaspberryPi this is mitigated by casting the
nominator to a double. This works for most cases, but fails when q is
very small because of the quantization introduced by item being an
integer.
Fix both issues by doing the full calculation in double and remove the
should_fail tag.
Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/ipa')
-rw-r--r-- | test/ipa/libipa/meson.build | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/ipa/libipa/meson.build b/test/ipa/libipa/meson.build index 83c84bd8..8c63ebd8 100644 --- a/test/ipa/libipa/meson.build +++ b/test/ipa/libipa/meson.build @@ -2,7 +2,7 @@ libipa_test = [ {'name': 'fixedpoint', 'sources': ['fixedpoint.cpp']}, - {'name': 'histogram', 'sources': ['histogram.cpp'], 'should_fail': true}, + {'name': 'histogram', 'sources': ['histogram.cpp']}, {'name': 'interpolator', 'sources': ['interpolator.cpp']}, ] |