Modifcation to cover new test case

https://github.com/jomjol/AI-on-the-edge-device/pull/2887#issuecomment-1941018311
This commit is contained in:
Slider0007
2024-04-26 12:17:37 +02:00
parent 135b03d505
commit 4b4b42d4c5
3 changed files with 9 additions and 5 deletions

View File

@@ -161,7 +161,7 @@ int ClassFlowCNNGeneral::PointerEvalHybridNew(float number, float number_of_pred
return result;
}
if ((number_of_predecessors >= Digital_Transition_Area_Predecessor ) && (number_of_predecessors <= (10.0 - Digital_Transition_Area_Predecessor)))
if ((number_of_predecessors > Digital_Transition_Area_Predecessor ) && (number_of_predecessors < (10.0 - Digital_Transition_Area_Predecessor)))
{
// no digit change, because predecessor is far enough away (0+/-DigitalTransitionRangePredecessor) --> number is rounded
if ((result_after_decimal_point <= DigitalBand) || (result_after_decimal_point >= (10-DigitalBand))) // Band around the digit --> Round off, as digit reaches inaccuracy in the frame

View File

@@ -199,7 +199,7 @@
#define Digital_Uncertainty 0.2
#define DigitalBand 3
#define Digital_Transition_Range_Predecessor 2
#define Digital_Transition_Area_Predecessor 0.7 // 9.3 - 0.7
#define Digital_Transition_Area_Predecessor 1.0 // 9.0 - 1.0
#define Digital_Transition_Area_Forward 9.7 // Pre-run zero crossing only happens from approx. 9.7 onwards

View File

@@ -108,9 +108,13 @@ void test_ZeigerEvalHybrid() {
// pre = 9.9 (0.0 raw)
// zahl = 1.8
TEST_ASSERT_EQUAL(2, undertest.PointerEvalHybridNew(1.8, 9.0, 9));
// if a digit have an early transition and the pointer is < 9.0
TEST_ASSERT_EQUAL(1, undertest.PointerEvalHybridNew(1.8, 9.0, 9));
// pre = 8.8 (0.0 raw)
// zahl = 1.8
TEST_ASSERT_EQUAL(2, undertest.PointerEvalHybridNew(1.8, 8.9, 8));
// if a digit have an early transition and the pointer is < 9.0
// prev (pointer) = 6.2, but on digital readout = 6.0 (prev is int parameter)
// zahl = 4.6
TEST_ASSERT_EQUAL(4, undertest.PointerEvalHybridNew(4.6, 6.0, 6));