From 78ddb1408f804cedd85b325435f149976e41c515 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Mon, 4 Oct 2021 13:05:51 +0200 Subject: [PATCH] pcb_calculator/eserie.*: fix some coding style issues. No actual code change (I hope...) --- pcb_calculator/eserie.cpp | 59 ++++++++++++++++++++++----------------- pcb_calculator/eserie.h | 49 +++++++++++++++----------------- 2 files changed, 55 insertions(+), 53 deletions(-) diff --git a/pcb_calculator/eserie.cpp b/pcb_calculator/eserie.cpp index 2510d9b244..28f60b73ff 100644 --- a/pcb_calculator/eserie.cpp +++ b/pcb_calculator/eserie.cpp @@ -22,9 +22,16 @@ #include #include -#include "class_regulator_data.h" #include "pcb_calculator_frame.h" + +extern double DoubleFromString( const wxString& TextValue ); + +/* If BENCHMARK is defined, any 4R E12 calculations will print its execution time to console + * My Hasswell Enthusiast reports 225 mSec what are reproducible within plusminus 2 percent + */ +//#define BENCHMARK + #ifdef BENCHMARK #include #endif @@ -35,14 +42,14 @@ wxString eseries_help = #include "eserie_help.h" -eserie r; +E_SERIE r; -void eserie::Exclude( double aValue ) +void E_SERIE::Exclude( double aValue ) { if( aValue ) // if there is a value to exclude other than a wire jumper { - for( r_data& i : luts[m_series] ) // then search it in the selected E-Serie lookup table + for( R_DATA& i : m_luts[m_series] ) // then search it in the selected E-Serie lookup table { if( i.e_value == aValue ) // if value to exclude found i.e_use = false; // disable its use @@ -51,7 +58,7 @@ void eserie::Exclude( double aValue ) } -void eserie::simple_solution( uint32_t aSize ) +void E_SERIE::simple_solution( uint32_t aSize ) { uint32_t i; @@ -69,7 +76,7 @@ void eserie::simple_solution( uint32_t aSize ) } -void eserie::combine4( uint32_t aSize ) +void E_SERIE::combine4( uint32_t aSize ) { uint32_t i,j; double tmp; @@ -126,29 +133,29 @@ void eserie::combine4( uint32_t aSize ) } -void eserie::NewCalc( void ) +void E_SERIE::NewCalc( void ) { - for( r_data& i : m_cmb_lut ) + for( R_DATA& i : m_cmb_lut ) i.e_use = false; // before any calculation is done, assume that - for( r_data& i : m_results ) + for( R_DATA& i : m_results ) i.e_use = false; // no combinations and no results are available - for( r_data& i : luts[m_series]) + for( R_DATA& i : m_luts[m_series]) i.e_use = true; // all selected E-values available } -uint32_t eserie::combine2( void ) +uint32_t E_SERIE::combine2( void ) { uint32_t combi2R = 0; // target index counts calculated 2R combinations std::string s; - for( const r_data& i : luts[m_series] ) // outer loop to sweep selected source lookup table + for( const R_DATA& i : m_luts[m_series] ) // outer loop to sweep selected source lookup table { if( i.e_use ) { - for( const r_data& j : luts[m_series] ) // inner loop to combine values with itself + for( const R_DATA& j : m_luts[m_series] ) // inner loop to combine values with itself { if( j.e_use ) { @@ -173,7 +180,7 @@ uint32_t eserie::combine2( void ) } -void eserie::combine3( uint32_t aSize ) +void E_SERIE::combine3( uint32_t aSize ) { uint32_t j = 0; double tmp = 0; // avoid warning for being uninitialized @@ -182,7 +189,7 @@ void eserie::combine3( uint32_t aSize ) m_results[S3R].e_use = false; // disable 3R solution, until m_results[S3R].e_value = m_results[S2R].e_value; // 3R becomes better than 2R solution - for( const r_data& i : luts[m_series] ) // 3R Outer loop to selected primary E serie LUT + for( const R_DATA& i : m_luts[m_series] ) // 3R Outer loop to selected primary E serie LUT { if( i.e_use ) // skip all excluded values { @@ -227,7 +234,7 @@ void eserie::combine3( uint32_t aSize ) } -void eserie::Calculate( void ) +void E_SERIE::Calculate( void ) { uint32_t no_of_2Rcombi = 0; @@ -242,7 +249,7 @@ void eserie::Calculate( void ) } -void eserie::strip3( void ) +void E_SERIE::strip3( void ) { std::string s; @@ -261,7 +268,7 @@ void eserie::strip3( void ) } -void eserie::strip4( void ) +void E_SERIE::strip4( void ) { std::string s; @@ -302,9 +309,9 @@ void PCB_CALCULATOR_FRAME::OnCalculateESeries( wxCommandEvent& event ) r.Exclude( 1000 * DoubleFromString( m_ResExclude2->GetValue())); r.Calculate(); - fs = r.get_rslt()[S2R].e_name; // show 2R solution formula string + fs = r.GetResults()[S2R].e_name; // show 2R solution formula string m_ESeries_Sol2R->SetValue( fs ); - error = reqr + r.get_rslt()[S2R].e_value; // absolute value of solution + error = reqr + r.GetResults()[S2R].e_value; // absolute value of solution error = ( reqr / error - 1 ) * 100; // error in percent if( error ) @@ -321,9 +328,9 @@ void PCB_CALCULATOR_FRAME::OnCalculateESeries( wxCommandEvent& event ) m_ESeriesError2R->SetValue( es ); // anyway show 2R error string - if( r.get_rslt()[S3R].e_use ) // if 3R solution available + if( r.GetResults()[S3R].e_use ) // if 3R solution available { - err3 = reqr + r.get_rslt()[S3R].e_value; // calculate the 3R + err3 = reqr + r.GetResults()[S3R].e_value; // calculate the 3R err3 = ( reqr / err3 - 1 ) * 100; // error in percent if( err3 ) @@ -339,7 +346,7 @@ void PCB_CALCULATOR_FRAME::OnCalculateESeries( wxCommandEvent& event ) } m_ESeriesError3R->SetValue( es ); // show 3R error string - fs = r.get_rslt()[S3R].e_name; + fs = r.GetResults()[S3R].e_name; m_ESeries_Sol3R->SetValue( fs ); // show 3R formula string } else // nothing better than 2R found @@ -351,11 +358,11 @@ void PCB_CALCULATOR_FRAME::OnCalculateESeries( wxCommandEvent& event ) fs = wxEmptyString; - if( r.get_rslt()[S4R].e_use ) // show 4R solution if available + if( r.GetResults()[S4R].e_use ) // show 4R solution if available { - fs = r.get_rslt()[S4R].e_name; + fs = r.GetResults()[S4R].e_name; - error = reqr + r.get_rslt()[S4R].e_value; // absolute value of solution + error = reqr + r.GetResults()[S4R].e_value; // absolute value of solution error = ( reqr / error - 1 ) * 100; // error in percent if( error ) diff --git a/pcb_calculator/eserie.h b/pcb_calculator/eserie.h index 128ebe3ef7..70664cb895 100644 --- a/pcb_calculator/eserie.h +++ b/pcb_calculator/eserie.h @@ -18,14 +18,6 @@ * with this program. If not, see . */ -extern double DoubleFromString( const wxString& TextValue ); - -/** - * If BENCHMARK is defined, any 4R E12 calculations will print its execution time to console - * My Hasswell Enthusiast reports 225 mSec what are reproducible within plusminus 2 percent - */ - -//#define BENCHMARK /** * E-Values derived from a geometric sequence formula by Charles Renard were already @@ -114,13 +106,14 @@ enum { S2R, S3R, S4R }; { true, "560K", 560000 },\ { true, "820K", 820000 } -struct r_data { - bool e_use; - std::string e_name; - double e_value; - }; +struct R_DATA +{ + bool e_use; + std::string e_name; + double e_value; +}; -class eserie +class E_SERIE { public: /** @@ -147,7 +140,7 @@ public: void SetSeries( uint32_t aSeries ) { m_series = aSeries; } void SetRequiredValue( double aValue ) { m_required_value = aValue; } - std::array get_rslt( void ) { return m_results; } + std::array GetResults( void ) { return m_results; } private: /** @@ -204,19 +197,21 @@ private: void strip4( void ); private: - std::vector> luts { - { E1_VAL }, - { E1_VAL, E3_ADD }, - { E1_VAL, E3_ADD, E6_ADD }, - { E1_VAL, E3_ADD, E6_ADD, E12_ADD } - }; + std::vector> m_luts + { + { E1_VAL }, + { E1_VAL, E3_ADD }, + { E1_VAL, E3_ADD, E6_ADD }, + { E1_VAL, E3_ADD, E6_ADD, E12_ADD } + }; + /* * TODO: Manual array size calculation is dangerous. Unlike legacy ANSI-C Arrays * std::array can not drop length param by providing aggregate init list up * to C++17. Reserved array size should be 2*E12² of std::vector primary list. * Exceeding memory limit 7442 will crash the calculator without any warnings ! * Compare to previous MAX_COMB macro for legacy ANSI-C array automatic solution - * #define E12_SIZE sizeof ( e12_lut ) / sizeof ( r_data ) + * #define E12_SIZE sizeof ( e12_lut ) / sizeof ( R_DATA ) * #define MAX_COMB (2 * E12_SIZE * E12_SIZE) * 2 component combinations including redundant swappable terms are for the moment * 72 combinations for E1 @@ -225,11 +220,11 @@ private: * 7442 combinations for E12 */ -#define MAX_CMB 7442 // maximum combinations for E12 +#define MAX_CMB 7442 // maximum combinations for E12 - std::array m_cmb_lut; // intermediate 2R combinations - std::array m_results; // 2R, 3R and 4R results - uint32_t m_series = E6; // Radio Button State + std::array m_cmb_lut; // intermediate 2R combinations + std::array m_results; // 2R, 3R and 4R results + uint32_t m_series = E6; // Radio Button State uint32_t m_enable_4R = false; // Check Box 4R enable - double m_required_value =0.0; // required Resistor + double m_required_value = 0.0; // required Resistor };