From f979740de1628cd4563ba11e722f6b13b0e3413a Mon Sep 17 00:00:00 2001 From: minsoo Date: Wed, 23 Sep 2026 12:12:44 -0500 Subject: [PATCH 1/5] Enhanced Logging Model Content from ramtares_main --- .../bin_counter/docs/bin_counter.odt | 4 +- .../bin_counter/docs/bin_counter.pdf | Bin 132 -> 132 bytes .../bin_counter/include/bin_counter.hh | 12 ++- .../bin_counter/include/proximity_counter.hh | 38 ++----- .../bin_counter/include/target_counter.hh | 3 +- .../utilities/bin_counter/src/bin_counter.cc | 40 ++++++- .../bin_counter/src/proximity_counter.cc | 98 +++++------------- .../bin_counter/verif/SIM_verif/S_define | 7 -- .../verif_data/RUN_01_bin/log_test_data.csv | 2 +- .../RUN_02_target/log_test_data.csv | 2 +- .../RUN_03_proximity/log_test_data.csv | 2 +- 11 files changed, 87 insertions(+), 121 deletions(-) diff --git a/models/utilities/bin_counter/docs/bin_counter.odt b/models/utilities/bin_counter/docs/bin_counter.odt index a8447c21..9fe0a10e 100644 --- a/models/utilities/bin_counter/docs/bin_counter.odt +++ b/models/utilities/bin_counter/docs/bin_counter.odt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07d69f110a7163ea1603c85a65379afd879c872b801183bf35732ded993f3b1a -size 1885068 +oid sha256:da78b10517e1d788eb179a5ae30d016f43bb37a9abd554dfaf4a844229ed7910 +size 1449914 diff --git a/models/utilities/bin_counter/docs/bin_counter.pdf b/models/utilities/bin_counter/docs/bin_counter.pdf index e0dd91a33db17ec227bfb83928e11765f06c4d52..bb18a9bc152d5c1a0c9f5cd141772c80f8da9aeb 100644 GIT binary patch delta 85 zcmV~$u@QhE3|1?$;08rL~@a-b)t7 diff --git a/models/utilities/bin_counter/include/bin_counter.hh b/models/utilities/bin_counter/include/bin_counter.hh index 98391f25..2e302193 100644 --- a/models/utilities/bin_counter/include/bin_counter.hh +++ b/models/utilities/bin_counter/include/bin_counter.hh @@ -28,12 +28,16 @@ CML_BinCounterElement Purpose: Contents of each element of the working vector *****************************************************************************/ struct CML_BinCounterElement { + double value; /* (--) + Target value to be counted, used by proximity counter */ double bin_floor; /* (--) Bin lower bound.*/ double bin_ceil; /* (--) Bin upper bound. */ - unsigned int count; /* (--) - Counter. Incremented when falling in this specific bin. */ + unsigned int count; /* (1) + Counter. Incremented when falling in this specific bin. + For Proximity element, incremented when value is the closest one among + CML_BinCounterElement vector to the variable. */ }; /***************************************************************************** @@ -73,7 +77,8 @@ class CML_BinCounter { void set_data( double limit_a, double limit_b, unsigned int num_bins, - bool closed_ends = true); + bool closed_ends = true); + void apply_tolerance(double); template void set_data( const double (&edges)[n_edges], bool closed_ends = true) @@ -81,5 +86,6 @@ class CML_BinCounter { std::vector edges_v( edges, edges+n_edges); set_data( edges_v, closed_ends); } + size_t get_nbin() const {return nbin;} }; #endif diff --git a/models/utilities/bin_counter/include/proximity_counter.hh b/models/utilities/bin_counter/include/proximity_counter.hh index 7cf5ba18..524860eb 100644 --- a/models/utilities/bin_counter/include/proximity_counter.hh +++ b/models/utilities/bin_counter/include/proximity_counter.hh @@ -4,9 +4,6 @@ PURPOSE: times some variable of type double has a value that falls closest to each of a set of target values.) -ASSUMPTIONS: - (Target values are monotonically increasing) - LIBRARY DEPENDENCY: (../src/proximity_counter.cc) @@ -14,6 +11,7 @@ PROGRAMMERS: ( ((Matthew Elmer, Gary Turner) (OSR) (Jun 2023) (Refactored content from GNC_PAR; Overhauled grok_bin_counter)) + ((Hansen Lian) (OSR) (July 2026) (Inherits from BinCounter)) ) *******************************************************************************/ #ifndef CML_PROXIMITY_COUNTER_HH @@ -22,19 +20,9 @@ PROGRAMMERS: #include #include #include +#include -/***************************************************************************** -CML_ProximityCounterElement -Purpose: Contents of each element of the working vector -*****************************************************************************/ -struct CML_ProximityCounterElement { - double value; /* (--) - Target value to be counted */ - unsigned int count; /* (--) - Counter. Incremented when value is the closest one among - CML_ProximityCounterElement vector to the variable. */ -}; - +#include "cml/models/utilities/bin_counter/include/bin_counter.hh" /***************************************************************************** CML_ProximityCounter @@ -42,25 +30,16 @@ Purpose: Receives a value via the insert() command and bins it into one of a set of bins, each covering a finite domain. *****************************************************************************/ -class CML_ProximityCounter { - protected: - std::vector targets; /* (--) - The target values. */ - bool targets_ready; /* (--) - Check on presence of data in the targets array.*/ - size_t ntarget; /* (--) - Number of targets.*/ - const CML_ProximityCounterElement* target_data; /* (--) - Array of targets data. For logging compatibility only.*/ - +class CML_ProximityCounter : public CML_BinCounter { + protected: + const CML_BinCounterElement* target_data; /* (--) + Array of bins data. For logging compatibility only.*/ public: - std::string name; /* (--) - Name of group (for debugging purposes)*/ CML_ProximityCounter(); explicit CML_ProximityCounter(const std::vector & targets_); CML_ProximityCounter(const CML_ProximityCounter&) = delete; CML_ProximityCounter& operator=(const CML_ProximityCounter&) = delete; - void insert(double value); + using CML_BinCounter::insert; void set_data( const std::vector & targets_); template void set_data( const double (&new_targets)[n_targets]) @@ -68,5 +47,6 @@ class CML_ProximityCounter { std::vector targets_v( new_targets, new_targets+n_targets); set_data( targets_v); } + size_t get_ntarget() const {return nbin;} }; #endif diff --git a/models/utilities/bin_counter/include/target_counter.hh b/models/utilities/bin_counter/include/target_counter.hh index d57c1a38..81871873 100644 --- a/models/utilities/bin_counter/include/target_counter.hh +++ b/models/utilities/bin_counter/include/target_counter.hh @@ -26,7 +26,7 @@ Purpose: Contents of each element of the working vector struct CML_TargetCounterElement { int value; /* (--) Target integer value to be counted */ - unsigned int count; /* (--) + unsigned int count; /* (1) Counter. Incremented when variable = value. */ }; @@ -69,5 +69,6 @@ class CML_TargetCounter { std::vector targets_v( targets_, targets_+n_targets); set_data( targets_v); } + size_t get_ntarget() const {return ntarget;} }; #endif diff --git a/models/utilities/bin_counter/src/bin_counter.cc b/models/utilities/bin_counter/src/bin_counter.cc index 84f8e854..aa86f557 100644 --- a/models/utilities/bin_counter/src/bin_counter.cc +++ b/models/utilities/bin_counter/src/bin_counter.cc @@ -210,12 +210,44 @@ CML_BinCounter::insert(double value) // Consider only values below upper edge and only if model passed sanity // check. if (bins_ready && value <= bins[nbin-1].bin_ceil) { - for (int ii = static_cast(nbin) - 1; ii >= 0; ii--) { - const auto bin_index = static_cast(ii); - if (value >= bins[bin_index].bin_floor) { - bins[bin_index].count++; + //ii-- is a post decrement. tests ii > 0, then decrements. + //so index ii runs from nbin - 1 to 0. + for (size_t ii = nbin; ii-- > 0; ) { + if (value >= bins[ii].bin_floor) { + bins[ii].count++; return; } } } } + + +/***************************************************************************** +Method: apply_tolerance +Purpose: + Modifies the specified bin edges, shifting them down slightly. + The lower bin edge behaves as a closed end, so a value is in the bin if it + is >= lower_edge. To allow for numerical rounding / truncation, it may be + desirable in some circumstances to extend that boundary. + For example, if the boundaries are set at {0, 1, 2} then a value of 0.9999999 + would be binned into the lower bin. It may be desirable to include values + arbitrarily close to 1.0 into the upper bin and doing so requires lowering + the bin edge to accommodate that desired allowance. +*****************************************************************************/ +void +CML_BinCounter::apply_tolerance(double tol) +{ + if (!bins_ready) { + CMLMessage::error( __FILE__,__LINE__, + "Cannot apply bin tolerance, bins not ready\n"); + return; + } + + if (bins[0].bin_floor != std::numeric_limits::lowest()) { + bins[0].bin_floor -= tol; + } + for (size_t ii = 0; ii < nbin; ii++) { + bins[ii].bin_ceil = + bins[ii+1].bin_floor = bins[ii].bin_ceil - tol; + } +} diff --git a/models/utilities/bin_counter/src/proximity_counter.cc b/models/utilities/bin_counter/src/proximity_counter.cc index ab8aa102..33d4baa8 100644 --- a/models/utilities/bin_counter/src/proximity_counter.cc +++ b/models/utilities/bin_counter/src/proximity_counter.cc @@ -14,6 +14,7 @@ LIBRARY DEPENDENCIES: ( ((Matthew Elmer, Gary Turner) (OSR) (Jun 2023) (Refactored content from GNC_PAR; Overhauled grok_target_counter)) + ((Hansen Lian) (OSR) (July 2026) (Inherits from BinCounter)) ) *******************************************************************************/ @@ -21,14 +22,14 @@ LIBRARY DEPENDENCIES: #include "cml/models/utilities/cml_message/include/cml_message.hh" #include #include +#include /***************************************************************************** Constructors *****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter() : - targets_ready(false), - ntarget(), + CML_BinCounter(), target_data(nullptr) {} /****************************************************************************/ @@ -37,7 +38,7 @@ CML_ProximityCounter::CML_ProximityCounter( : CML_ProximityCounter() { - set_data(targets_); + CML_ProximityCounter::set_data(targets_); } /***************************************************************************** @@ -46,18 +47,16 @@ set_data Sets the edge data for constructing the targets. Deletes all previous target structure and counts for those targets. Options: - - Pass in a STL-vector of n edge values, there will be (n-1) targets from - these n values - - Pass in a C-style array of n edge values, there will be (n-1) targets from - these n values - - Pass in an upper limit and a lower limit and the number of targets; - targets will be equally spaced ebtween the two limits. + - Pass in a STL-vector of n target values, there will be (n) targets from + these n values with bins spaced at the midpoint of consecutive targets. + - Pass in a C-style array of n target values, there will be (n) targets from + these n values with bins spaced at the midpoint of consecutive target *****************************************************************************/ void CML_ProximityCounter::set_data(const std::vector & targets_) { - targets.clear(); - targets_ready = false; + bins.clear(); + bins_ready = false; const size_t n_targets_ = targets_.size(); // Sanity check for number of targets: @@ -68,69 +67,24 @@ CML_ProximityCounter::set_data(const std::vector & targets_) return; } - // Sanity check for monotonicity of targets_: - for (size_t ii = 1; ii < n_targets_; ii++) { - if (targets_[ii] <= targets_[ii-1]) { - CMLMessage::error( __FILE__,__LINE__, - "Bin targets_ (target-group name : ",name,") are malformed,\n" - "they are not monotonically increasing.\n" - " edge(",ii-1,") = ",targets_[ii-1],"\n" - " edge(",ii, ") = ",targets_[ii], "\n" - "Group (",name,") cannot be used.\n"); - return; - } - } - ntarget = n_targets_; - targets.resize(ntarget); - targets_ready = true; - target_data = targets.data(); - for (size_t ii = 0; ii < ntarget; ii++) { - targets[ii].value = targets_[ii]; - targets[ii].count = 0; - } -} + std::vector sorted_targets = targets_; -/***************************************************************************** -insert -Purpose:Increments the count in the target in which the specified value falls. -Note: - Check each target on the half-open interval [L, R) except for the last, which - is a fully closed interval [L, R]. - Processing upward from lower limit requires special treatment of last - target (all but last upper bound are open). - Processing downward from upper limit does not (all lower bounds are - closed) so we do that. -*****************************************************************************/ -void -CML_ProximityCounter::insert(double value) -{ - // Consider only values below upper edge and only if model passed sanity - // check. - if (!targets_ready) {return;} + // Sort the local copy + std::sort(sorted_targets.begin(), sorted_targets.end()); - if (value < targets[0].value) { - targets[0].count++; - } - else if (value >= targets[ntarget-1].value) { - targets[ntarget-1].count++; - } - else { - size_t ix_search = 0; - while (ix_search < ntarget-2 && - value > targets[ix_search+1].value) { - ix_search++; - } - // ix_search is between 0 and ntarget-2 - // value lies between targets[ix_search] and targets[ix_search+1] - // Find the difference between value and the two bounding target values. - const double delta_low = value - targets[ix_search].value; - const double delta_high = targets[ix_search+1].value - value; - // increment the count for the closer target. - if (delta_high > delta_low) { - targets[ix_search].count++; - } else { - targets[ix_search+1].count++; - } + nbin = n_targets_; + bins.resize(nbin); + bins_ready = true; + bin_data = target_data = bins.data(); + bins[0].bin_floor = std::numeric_limits::lowest(); + for (size_t ii = 0; ii < nbin-1; ii++) { + bins[ii].value = sorted_targets[ii]; + bins[ii].count = 0; + bins[ii].bin_ceil = + bins[ii+1].bin_floor = (sorted_targets[ii] + sorted_targets[ii+1])/2; } + bins[nbin - 1].value = sorted_targets[nbin-1]; + bins[nbin - 1].count = 0; + bins[nbin - 1].bin_ceil = std::numeric_limits::max(); } diff --git a/models/utilities/bin_counter/verif/SIM_verif/S_define b/models/utilities/bin_counter/verif/SIM_verif/S_define index 3d07182e..ccf8bab6 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/S_define +++ b/models/utilities/bin_counter/verif/SIM_verif/S_define @@ -124,13 +124,6 @@ class AntaresUnitTestSimObject: public Trick::SimObject { prox_counter.set_data( empty_dbl); - std::cout << "\n" -"***************************************************************************\n" -"Error - cannot create proximity counter with non monotonic data set.\n" -"***************************************************************************\n" << std::endl; - - prox_counter.set_data( non_monot_edges); - // BIN COUNTER WARNINGS std::cout << "\n" diff --git a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv index e2a4dd80..207c2afb 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv +++ b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv @@ -1,4 +1,4 @@ -sys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {--},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {--},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {--},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {--},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {--},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {--},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {--},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {--},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {--},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {--},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {--},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {--},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {--},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {--},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {--} +sys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {1},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {1},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {1},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {1},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {1},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {1},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {1},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {1},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {1},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {1},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {1},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {1},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {1},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {1},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {1}ys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {--},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {--},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {--},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {--},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {--},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {--},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {--},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {--},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {--},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {--},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {--},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {--},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {--},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {--},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {--} 0, -1,1, 0.5,0, 2.1,0, -1,1, 0.5,0, 2.1,0,-1.797693134862316e+308,0, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 1, -1,1, 0.5,0, 2.1,0, -1,1, 0.5,0, 2.1,0,-1.797693134862316e+308,1, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,1, -1,1, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 2, -1,2, 0.5,0, 2.1,0, -1,2, 0.5,0, 2.1,0,-1.797693134862316e+308,1, -1,2, 0.5,0, 2.1,0, 3.3,0, -1,2, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,1, -1,2, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 diff --git a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_02_target/log_test_data.csv b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_02_target/log_test_data.csv index 5ce542aa..5c55552b 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_02_target/log_test_data.csv +++ b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_02_target/log_test_data.csv @@ -1,4 +1,4 @@ -sys.exec.out.time {s},test.tgt_counter_vec.target_data[0].value {--},test.tgt_counter_vec.target_data[0].count {--},test.tgt_counter_vec.target_data[1].value {--},test.tgt_counter_vec.target_data[1].count {--},test.tgt_counter_vec.target_data[2].value {--},test.tgt_counter_vec.target_data[2].count {--},test.tgt_counter_vec.target_data[3].value {--},test.tgt_counter_vec.target_data[3].count {--},test.tgt_counter_arr.target_data[0].value {--},test.tgt_counter_arr.target_data[0].count {--},test.tgt_counter_arr.target_data[1].value {--},test.tgt_counter_arr.target_data[1].count {--},test.tgt_counter_arr.target_data[2].value {--},test.tgt_counter_arr.target_data[2].count {--},test.tgt_counter_arr.target_data[3].value {--},test.tgt_counter_arr.target_data[3].count {--},test.tgt_counter_interval.target_data[0].value {--},test.tgt_counter_interval.target_data[0].count {--},test.tgt_counter_interval.target_data[1].value {--},test.tgt_counter_interval.target_data[1].count {--},test.tgt_counter_interval.target_data[2].value {--},test.tgt_counter_interval.target_data[2].count {--},test.tgt_counter_interval.target_data[3].value {--},test.tgt_counter_interval.target_data[3].count {--} +sys.exec.out.time {s},test.tgt_counter_vec.target_data[0].value {--},test.tgt_counter_vec.target_data[0].count {1},test.tgt_counter_vec.target_data[1].value {--},test.tgt_counter_vec.target_data[1].count {1},test.tgt_counter_vec.target_data[2].value {--},test.tgt_counter_vec.target_data[2].count {1},test.tgt_counter_vec.target_data[3].value {--},test.tgt_counter_vec.target_data[3].count {1},test.tgt_counter_arr.target_data[0].value {--},test.tgt_counter_arr.target_data[0].count {1},test.tgt_counter_arr.target_data[1].value {--},test.tgt_counter_arr.target_data[1].count {1},test.tgt_counter_arr.target_data[2].value {--},test.tgt_counter_arr.target_data[2].count {1},test.tgt_counter_arr.target_data[3].value {--},test.tgt_counter_arr.target_data[3].count {1},test.tgt_counter_interval.target_data[0].value {--},test.tgt_counter_interval.target_data[0].count {1},test.tgt_counter_interval.target_data[1].value {--},test.tgt_counter_interval.target_data[1].count {1},test.tgt_counter_interval.target_data[2].value {--},test.tgt_counter_interval.target_data[2].count {1},test.tgt_counter_interval.target_data[3].value {--},test.tgt_counter_interval.target_data[3].count {1} 0,-2,0,-5,0,2,1,0,0,-2,0,-5,0,2,1,0,0,-2,0,-1,0,0,0,1,0 1,-2,0,-5,0,2,1,0,0,-2,0,-5,0,2,1,0,0,-2,0,-1,0,0,0,1,1 2,-2,0,-5,0,2,2,0,0,-2,0,-5,0,2,2,0,0,-2,0,-1,0,0,0,1,1 diff --git a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv index c08b7d48..126c709b 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv +++ b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv @@ -1,4 +1,4 @@ -sys.exec.out.time {s},test.prox_counter.target_data[0].value {--},test.prox_counter.target_data[0].count {--},test.prox_counter.target_data[1].value {--},test.prox_counter.target_data[1].count {--},test.prox_counter.target_data[2].value {--},test.prox_counter.target_data[2].count {--},test.prox_counter.target_data[3].value {--},test.prox_counter.target_data[3].count {--},test.prox_counter_vec.target_data[0].value {--},test.prox_counter_vec.target_data[0].count {--},test.prox_counter_vec.target_data[1].value {--},test.prox_counter_vec.target_data[1].count {--},test.prox_counter_vec.target_data[2].value {--},test.prox_counter_vec.target_data[2].count {--},test.prox_counter_vec.target_data[3].value {--},test.prox_counter_vec.target_data[3].count {--} +sys.exec.out.time {s},test.prox_counter.target_data[0].value {--},test.prox_counter.target_data[0].count {--},test.prox_counter.target_data[1].value {--},test.prox_counter.target_data[1].count {--},test.prox_counter.target_data[2].value {--},test.prox_counter.target_data[2].count {--},test.prox_counter.target_data[3].value {--},test.prox_counter.target_data[3].count {--},test.prox_counter_vec.target_data[0].value {--},test.prox_counter_vec.target_data[0].count {--},test.prox_counter_vec.target_data[1].value {--},test.prox_counter_vec.target_data[1].count {--},test.prox_counter_vec.target_data[2].value {--},test.prox_counter_vec.target_data[2].count {--},test.prox_counter_vec.target_data[3].value {--},test.prox_counter_vec.target_data[3].count {--}sys.exec.out.time {s},test.prox_counter.target_data[0].value {--},test.prox_counter.target_data[0].count {1},test.prox_counter.target_data[1].value {--},test.prox_counter.target_data[1].count {1},test.prox_counter.target_data[2].value {--},test.prox_counter.target_data[2].count {1},test.prox_counter.target_data[3].value {--},test.prox_counter.target_data[3].count {1},test.prox_counter_vec.target_data[0].value {--},test.prox_counter_vec.target_data[0].count {1},test.prox_counter_vec.target_data[1].value {--},test.prox_counter_vec.target_data[1].count {1},test.prox_counter_vec.target_data[2].value {--},test.prox_counter_vec.target_data[2].count {1},test.prox_counter_vec.target_data[3].value {--},test.prox_counter_vec.target_data[3].count {1} 0, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.5,0, 2.1,0, 3.3,0 1, -1,2, 0.5,0, 2.1,0, 3.3,0, -1,2, 0.5,0, 2.1,0, 3.3,0 2, -1,2, 0.5,1, 2.1,0, 3.3,0, -1,2, 0.5,1, 2.1,0, 3.3,0 From 428902169fdfebf466f88334b7218cf8b7fcef58 Mon Sep 17 00:00:00 2001 From: Minsoo Kang Date: Thu, 1 Oct 2026 16:52:30 -0500 Subject: [PATCH 2/5] Code cleanup; name parameter for apply_tolerance(), relocate header, remove deprecated variable for logging, improve readability --- models/utilities/bin_counter/include/bin_counter.hh | 2 +- .../bin_counter/include/proximity_counter.hh | 4 ---- models/utilities/bin_counter/src/bin_counter.cc | 6 +++--- models/utilities/bin_counter/src/proximity_counter.cc | 11 ++++++----- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/models/utilities/bin_counter/include/bin_counter.hh b/models/utilities/bin_counter/include/bin_counter.hh index 2e302193..ad473825 100644 --- a/models/utilities/bin_counter/include/bin_counter.hh +++ b/models/utilities/bin_counter/include/bin_counter.hh @@ -78,7 +78,7 @@ class CML_BinCounter { double limit_b, unsigned int num_bins, bool closed_ends = true); - void apply_tolerance(double); + void apply_tolerance(double tol); template void set_data( const double (&edges)[n_edges], bool closed_ends = true) diff --git a/models/utilities/bin_counter/include/proximity_counter.hh b/models/utilities/bin_counter/include/proximity_counter.hh index 524860eb..e970af29 100644 --- a/models/utilities/bin_counter/include/proximity_counter.hh +++ b/models/utilities/bin_counter/include/proximity_counter.hh @@ -20,7 +20,6 @@ PROGRAMMERS: #include #include #include -#include #include "cml/models/utilities/bin_counter/include/bin_counter.hh" @@ -31,9 +30,6 @@ Purpose: a set of bins, each covering a finite domain. *****************************************************************************/ class CML_ProximityCounter : public CML_BinCounter { - protected: - const CML_BinCounterElement* target_data; /* (--) - Array of bins data. For logging compatibility only.*/ public: CML_ProximityCounter(); explicit CML_ProximityCounter(const std::vector & targets_); diff --git a/models/utilities/bin_counter/src/bin_counter.cc b/models/utilities/bin_counter/src/bin_counter.cc index aa86f557..19093931 100644 --- a/models/utilities/bin_counter/src/bin_counter.cc +++ b/models/utilities/bin_counter/src/bin_counter.cc @@ -212,9 +212,9 @@ CML_BinCounter::insert(double value) if (bins_ready && value <= bins[nbin-1].bin_ceil) { //ii-- is a post decrement. tests ii > 0, then decrements. //so index ii runs from nbin - 1 to 0. - for (size_t ii = nbin; ii-- > 0; ) { - if (value >= bins[ii].bin_floor) { - bins[ii].count++; + for (auto bin = bins.rbegin(), end = bins.rend(); bin != end; ++bin) { + if (value >= bin->bin_floor) { + bin->count++; return; } } diff --git a/models/utilities/bin_counter/src/proximity_counter.cc b/models/utilities/bin_counter/src/proximity_counter.cc index 33d4baa8..a0124fb9 100644 --- a/models/utilities/bin_counter/src/proximity_counter.cc +++ b/models/utilities/bin_counter/src/proximity_counter.cc @@ -23,14 +23,14 @@ LIBRARY DEPENDENCIES: #include #include #include +#include /***************************************************************************** Constructors *****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter() : - CML_BinCounter(), - target_data(nullptr) + CML_BinCounter() {} /****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter( @@ -76,13 +76,14 @@ CML_ProximityCounter::set_data(const std::vector & targets_) nbin = n_targets_; bins.resize(nbin); bins_ready = true; - bin_data = target_data = bins.data(); + bin_data = bins.data(); bins[0].bin_floor = std::numeric_limits::lowest(); for (size_t ii = 0; ii < nbin-1; ii++) { bins[ii].value = sorted_targets[ii]; bins[ii].count = 0; - bins[ii].bin_ceil = - bins[ii+1].bin_floor = (sorted_targets[ii] + sorted_targets[ii+1])/2; + const double bin_boundary = 0.5 * (sorted_targets[ii] + sorted_targets[ii+1]); + bins[ii].bin_ceil = bin_boundary; + bins[ii + 1].bin_floor = bin_boundary; } bins[nbin - 1].value = sorted_targets[nbin-1]; bins[nbin - 1].count = 0; From 812b571ced50e45f837d05d067b2be1c6103f5be Mon Sep 17 00:00:00 2001 From: Minsoo Kang <327114246+Minsoo-Kang-space@users.noreply.github.com> Date: Fri, 2 Oct 2026 18:34:24 -0500 Subject: [PATCH 3/5] Remove redundant initializer --- models/utilities/bin_counter/src/proximity_counter.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/models/utilities/bin_counter/src/proximity_counter.cc b/models/utilities/bin_counter/src/proximity_counter.cc index a0124fb9..ca51c3da 100644 --- a/models/utilities/bin_counter/src/proximity_counter.cc +++ b/models/utilities/bin_counter/src/proximity_counter.cc @@ -29,8 +29,6 @@ LIBRARY DEPENDENCIES: Constructors *****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter() - : - CML_BinCounter() {} /****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter( From c35635d0c9ea7853b499a57f1e0d761097589112 Mon Sep 17 00:00:00 2001 From: Minsoo Kang <327114246+Minsoo-Kang-space@users.noreply.github.com> Date: Fri, 2 Oct 2026 18:50:09 -0500 Subject: [PATCH 4/5] Change empty constructor to default constructor --- models/utilities/bin_counter/src/proximity_counter.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/models/utilities/bin_counter/src/proximity_counter.cc b/models/utilities/bin_counter/src/proximity_counter.cc index ca51c3da..8b533748 100644 --- a/models/utilities/bin_counter/src/proximity_counter.cc +++ b/models/utilities/bin_counter/src/proximity_counter.cc @@ -28,8 +28,7 @@ LIBRARY DEPENDENCIES: /***************************************************************************** Constructors *****************************************************************************/ -CML_ProximityCounter::CML_ProximityCounter() -{} +CML_ProximityCounter::CML_ProximityCounter() = default; /****************************************************************************/ CML_ProximityCounter::CML_ProximityCounter( const std::vector & targets_) From dff5652e39c1e2c57f1721afb5be33682a1ed4b2 Mon Sep 17 00:00:00 2001 From: Minsoo Kang <327114246+Minsoo-Kang-space@users.noreply.github.com> Date: Tue, 6 Oct 2026 18:06:13 -0500 Subject: [PATCH 5/5] Fix out-of-bounds logic on 'apply_tolerance()', update proximity counter data record variables from target_data to inherited bin_data --- models/utilities/bin_counter/src/bin_counter.cc | 11 +++++++---- .../verif/SIM_verif/Log_data/log_data_proximity.py | 8 ++++---- models/utilities/bin_counter/verif/SIM_verif/S_define | 3 ++- .../SIM_verif/verif_data/RUN_01_bin/log_test_data.csv | 2 +- .../verif_data/RUN_03_proximity/log_test_data.csv | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/models/utilities/bin_counter/src/bin_counter.cc b/models/utilities/bin_counter/src/bin_counter.cc index 19093931..8f201c42 100644 --- a/models/utilities/bin_counter/src/bin_counter.cc +++ b/models/utilities/bin_counter/src/bin_counter.cc @@ -243,11 +243,14 @@ CML_BinCounter::apply_tolerance(double tol) return; } + for (size_t ii = 0; ii + 1 < nbin; ++ii) { + const double shifted_boundary = bins[ii].bin_ceil - tol; + bins[ii].bin_ceil = shifted_boundary; + bins[ii+1].bin_floor = shifted_boundary; + } + if (bins[0].bin_floor != std::numeric_limits::lowest()) { bins[0].bin_floor -= tol; - } - for (size_t ii = 0; ii < nbin; ii++) { - bins[ii].bin_ceil = - bins[ii+1].bin_floor = bins[ii].bin_ceil - tol; + bins[nbin - 1].bin_ceil -= tol; } } diff --git a/models/utilities/bin_counter/verif/SIM_verif/Log_data/log_data_proximity.py b/models/utilities/bin_counter/verif/SIM_verif/Log_data/log_data_proximity.py index bbcbcf8b..7929547e 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/Log_data/log_data_proximity.py +++ b/models/utilities/bin_counter/verif/SIM_verif/Log_data/log_data_proximity.py @@ -8,8 +8,8 @@ trick.add_data_record_group(drg, trick.DR_Buffer) for ii in range(4): - drg.add_variable(f"test.prox_counter.target_data[{ii}].value") - drg.add_variable(f"test.prox_counter.target_data[{ii}].count") + drg.add_variable(f"test.prox_counter.bin_data[{ii}].value") + drg.add_variable(f"test.prox_counter.bin_data[{ii}].count") for ii in range(4): - drg.add_variable(f"test.prox_counter_vec.target_data[{ii}].value") - drg.add_variable(f"test.prox_counter_vec.target_data[{ii}].count") + drg.add_variable(f"test.prox_counter_vec.bin_data[{ii}].value") + drg.add_variable(f"test.prox_counter_vec.bin_data[{ii}].count") diff --git a/models/utilities/bin_counter/verif/SIM_verif/S_define b/models/utilities/bin_counter/verif/SIM_verif/S_define index ccf8bab6..7399298c 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/S_define +++ b/models/utilities/bin_counter/verif/SIM_verif/S_define @@ -1,5 +1,5 @@ /***************************************************************************** -PURPOSE: (Tests the bin- and target- counter algorithms +PURPOSE: (Tests the bin- and target- counter algorithms) PROGRAMMERS: ( ((Gary Turner) (OSR) (09/2023) (ANTARES) (verification)) @@ -125,6 +125,7 @@ class AntaresUnitTestSimObject: public Trick::SimObject { prox_counter.set_data( empty_dbl); + // BIN COUNTER WARNINGS std::cout << "\n" "***************************************************************************\n" diff --git a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv index 207c2afb..c771b99e 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv +++ b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_01_bin/log_test_data.csv @@ -1,4 +1,4 @@ -sys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {1},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {1},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {1},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {1},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {1},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {1},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {1},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {1},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {1},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {1},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {1},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {1},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {1},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {1},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {1}ys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {--},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {--},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {--},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {--},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {--},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {--},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {--},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {--},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {--},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {--},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {--},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {--},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {--},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {--},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {--},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {--},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {--} +sys.exec.out.time {s},test.bin_counter_vec.bin_data[0].bin_floor {--},test.bin_counter_vec.bin_data[0].count {1},test.bin_counter_vec.bin_data[1].bin_floor {--},test.bin_counter_vec.bin_data[1].count {1},test.bin_counter_vec.bin_data[2].bin_floor {--},test.bin_counter_vec.bin_data[2].count {1},test.bin_counter_arr.bin_data[0].bin_floor {--},test.bin_counter_arr.bin_data[0].count {1},test.bin_counter_arr.bin_data[1].bin_floor {--},test.bin_counter_arr.bin_data[1].count {1},test.bin_counter_arr.bin_data[2].bin_floor {--},test.bin_counter_arr.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[0].bin_floor {--},test.bin_counter_arr_open.bin_data[0].count {1},test.bin_counter_arr_open.bin_data[1].bin_floor {--},test.bin_counter_arr_open.bin_data[1].count {1},test.bin_counter_arr_open.bin_data[2].bin_floor {--},test.bin_counter_arr_open.bin_data[2].count {1},test.bin_counter_arr_open.bin_data[3].bin_floor {--},test.bin_counter_arr_open.bin_data[3].count {1},test.bin_counter_arr_open.bin_data[4].bin_floor {--},test.bin_counter_arr_open.bin_data[4].count {1},test.bin_counter_interval.bin_data[0].bin_floor {--},test.bin_counter_interval.bin_data[0].count {1},test.bin_counter_interval.bin_data[1].bin_floor {--},test.bin_counter_interval.bin_data[1].count {1},test.bin_counter_interval.bin_data[2].bin_floor {--},test.bin_counter_interval.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[0].bin_floor {--},test.bin_counter_interval_open.bin_data[0].count {1},test.bin_counter_interval_open.bin_data[1].bin_floor {--},test.bin_counter_interval_open.bin_data[1].count {1},test.bin_counter_interval_open.bin_data[2].bin_floor {--},test.bin_counter_interval_open.bin_data[2].count {1},test.bin_counter_interval_open.bin_data[3].bin_floor {--},test.bin_counter_interval_open.bin_data[3].count {1},test.bin_counter_interval_open.bin_data[4].bin_floor {--},test.bin_counter_interval_open.bin_data[4].count {1} 0, -1,1, 0.5,0, 2.1,0, -1,1, 0.5,0, 2.1,0,-1.797693134862316e+308,0, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 1, -1,1, 0.5,0, 2.1,0, -1,1, 0.5,0, 2.1,0,-1.797693134862316e+308,1, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,1, -1,1, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 2, -1,2, 0.5,0, 2.1,0, -1,2, 0.5,0, 2.1,0,-1.797693134862316e+308,1, -1,2, 0.5,0, 2.1,0, 3.3,0, -1,2, 0.4333333333333333,0, 1.866666666666667,0,-1.797693134862316e+308,1, -1,2, 0.4333333333333333,0, 1.866666666666667,0, 3.3,0 diff --git a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv index 126c709b..ce0a4026 100644 --- a/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv +++ b/models/utilities/bin_counter/verif/SIM_verif/verif_data/RUN_03_proximity/log_test_data.csv @@ -1,4 +1,4 @@ -sys.exec.out.time {s},test.prox_counter.target_data[0].value {--},test.prox_counter.target_data[0].count {--},test.prox_counter.target_data[1].value {--},test.prox_counter.target_data[1].count {--},test.prox_counter.target_data[2].value {--},test.prox_counter.target_data[2].count {--},test.prox_counter.target_data[3].value {--},test.prox_counter.target_data[3].count {--},test.prox_counter_vec.target_data[0].value {--},test.prox_counter_vec.target_data[0].count {--},test.prox_counter_vec.target_data[1].value {--},test.prox_counter_vec.target_data[1].count {--},test.prox_counter_vec.target_data[2].value {--},test.prox_counter_vec.target_data[2].count {--},test.prox_counter_vec.target_data[3].value {--},test.prox_counter_vec.target_data[3].count {--}sys.exec.out.time {s},test.prox_counter.target_data[0].value {--},test.prox_counter.target_data[0].count {1},test.prox_counter.target_data[1].value {--},test.prox_counter.target_data[1].count {1},test.prox_counter.target_data[2].value {--},test.prox_counter.target_data[2].count {1},test.prox_counter.target_data[3].value {--},test.prox_counter.target_data[3].count {1},test.prox_counter_vec.target_data[0].value {--},test.prox_counter_vec.target_data[0].count {1},test.prox_counter_vec.target_data[1].value {--},test.prox_counter_vec.target_data[1].count {1},test.prox_counter_vec.target_data[2].value {--},test.prox_counter_vec.target_data[2].count {1},test.prox_counter_vec.target_data[3].value {--},test.prox_counter_vec.target_data[3].count {1} +sys.exec.out.time {s},test.prox_counter.bin_data[0].value {--},test.prox_counter.bin_data[0].count {1},test.prox_counter.bin_data[1].value {--},test.prox_counter.bin_data[1].count {1},test.prox_counter.bin_data[2].value {--},test.prox_counter.bin_data[2].count {1},test.prox_counter.bin_data[3].value {--},test.prox_counter.bin_data[3].count {1},test.prox_counter_vec.bin_data[0].value {--},test.prox_counter_vec.bin_data[0].count {1},test.prox_counter_vec.bin_data[1].value {--},test.prox_counter_vec.bin_data[1].count {1},test.prox_counter_vec.bin_data[2].value {--},test.prox_counter_vec.bin_data[2].count {1},test.prox_counter_vec.bin_data[3].value {--},test.prox_counter_vec.bin_data[3].count {1} 0, -1,1, 0.5,0, 2.1,0, 3.3,0, -1,1, 0.5,0, 2.1,0, 3.3,0 1, -1,2, 0.5,0, 2.1,0, 3.3,0, -1,2, 0.5,0, 2.1,0, 3.3,0 2, -1,2, 0.5,1, 2.1,0, 3.3,0, -1,2, 0.5,1, 2.1,0, 3.3,0