[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 59adee4 2/2: Validate all 'sample*' lingo
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 59adee4 2/2: Validate all 'sample*' lingo |
Date: |
Thu, 3 Dec 2020 19:56:19 -0500 (EST) |
branch: master
commit 59adee4537687ca213547e086eb297f80d63fd0d
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Validate all 'sample*' lingo
---
Speed_gcc_i686-w64-mingw32 | 12 ++++++------
Speed_gcc_x86_64-pc-linux-gnu | 12 ++++++------
Speed_gcc_x86_64-w64-mingw32 | 12 ++++++------
ledger_invariant_init.cpp | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 52 insertions(+), 18 deletions(-)
diff --git a/Speed_gcc_i686-w64-mingw32 b/Speed_gcc_i686-w64-mingw32
index 0283a63..01d157a 100644
--- a/Speed_gcc_i686-w64-mingw32
+++ b/Speed_gcc_i686-w64-mingw32
@@ -1,7 +1,7 @@
Test speed:
- naic, no solve : 5.747e-02 s mean; 56649 us least of 18 runs
- naic, specamt solve : 9.714e-02 s mean; 96692 us least of 11 runs
- naic, ee prem solve : 8.940e-02 s mean; 89022 us least of 12 runs
- finra, no solve : 2.587e-02 s mean; 25673 us least of 39 runs
- finra, specamt solve: 6.348e-02 s mean; 62969 us least of 16 runs
- finra, ee prem solve: 5.906e-02 s mean; 58737 us least of 17 runs
+ naic, no solve : 5.658e-02 s mean; 56178 us least of 18 runs
+ naic, specamt solve : 9.690e-02 s mean; 96624 us least of 11 runs
+ naic, ee prem solve : 8.935e-02 s mean; 89136 us least of 12 runs
+ finra, no solve : 2.616e-02 s mean; 26021 us least of 39 runs
+ finra, specamt solve: 6.336e-02 s mean; 63044 us least of 16 runs
+ finra, ee prem solve: 5.920e-02 s mean; 58809 us least of 17 runs
diff --git a/Speed_gcc_x86_64-pc-linux-gnu b/Speed_gcc_x86_64-pc-linux-gnu
index 2763706..2cc1406 100644
--- a/Speed_gcc_x86_64-pc-linux-gnu
+++ b/Speed_gcc_x86_64-pc-linux-gnu
@@ -1,7 +1,7 @@
Test speed:
- naic, no solve : 2.148e-02 s mean; 19837 us least of 47 runs
- naic, specamt solve : 3.426e-02 s mean; 33948 us least of 30 runs
- naic, ee prem solve : 3.173e-02 s mean; 31300 us least of 32 runs
- finra, no solve : 8.815e-03 s mean; 8422 us least of 100 runs
- finra, specamt solve: 2.169e-02 s mean; 21174 us least of 47 runs
- finra, ee prem solve: 2.028e-02 s mean; 19858 us least of 50 runs
+ naic, no solve : 2.020e-02 s mean; 19930 us least of 50 runs
+ naic, specamt solve : 3.438e-02 s mean; 33896 us least of 30 runs
+ naic, ee prem solve : 3.169e-02 s mean; 31165 us least of 32 runs
+ finra, no solve : 8.856e-03 s mean; 8565 us least of 100 runs
+ finra, specamt solve: 2.173e-02 s mean; 20993 us least of 47 runs
+ finra, ee prem solve: 2.045e-02 s mean; 19646 us least of 49 runs
diff --git a/Speed_gcc_x86_64-w64-mingw32 b/Speed_gcc_x86_64-w64-mingw32
index f0099d1..3bbdb61 100644
--- a/Speed_gcc_x86_64-w64-mingw32
+++ b/Speed_gcc_x86_64-w64-mingw32
@@ -1,7 +1,7 @@
Test speed:
- naic, no solve : 2.952e-02 s mean; 29166 us least of 34 runs
- naic, specamt solve : 4.463e-02 s mean; 44381 us least of 23 runs
- naic, ee prem solve : 4.206e-02 s mean; 41637 us least of 24 runs
- finra, no solve : 1.768e-02 s mean; 17480 us least of 57 runs
- finra, specamt solve: 3.168e-02 s mean; 31538 us least of 32 runs
- finra, ee prem solve: 3.016e-02 s mean; 29990 us least of 34 runs
+ naic, no solve : 2.960e-02 s mean; 29448 us least of 34 runs
+ naic, specamt solve : 4.473e-02 s mean; 44543 us least of 23 runs
+ naic, ee prem solve : 4.205e-02 s mean; 41773 us least of 24 runs
+ finra, no solve : 1.784e-02 s mean; 17712 us least of 57 runs
+ finra, specamt solve: 3.194e-02 s mean; 31680 us least of 32 runs
+ finra, ee prem solve: 3.040e-02 s mean; 30232 us least of 33 runs
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 0a4cf40..d43ae6c 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -343,6 +343,40 @@ void LedgerInvariant::Init(BasicValues const* b)
;
PolicyForm = b->lingo_->lookup(policy_form);
+ // LINGO !! Temporary expedient: validate all lingo.
+ if(begins_with(ProductName, "sample"))
+ for(auto const& i : p.member_names())
+ {
+ if(ends_with(i, "Filename") || i == "InsCoDomicile")
+ continue;
+ auto const k =
static_cast<e_database_key>(db_key_from_name(i));
+ auto const lingo_index =
b->database().query<e_database_key>(k);
+ std::string const newer = b->lingo_->lookup(lingo_index);
+ std::string const older = p.datum(i);
+ if(newer != older)
+ {
+ // Allow an "alternative" policy form for now.
+ if("PolicyForm" == i)
+ warning()
+ << "Expected difference:\n"
+ << i << " entity\n"
+ << newer << " newer\n"
+ << older << " older\n"
+ << StateOfJurisdiction << " StateOfJurisdiction\n"
+ << LMI_FLUSH
+ ;
+ else
+ alarum()
+ << "ERROR:\n"
+ << i << " entity\n"
+ << newer << " newer\n"
+ << older << " older\n"
+ << StateOfJurisdiction << " StateOfJurisdiction\n"
+ << LMI_FLUSH
+ ;
+ }
+ }
+
PolicyMktgName = p.datum("PolicyMktgName"
);
PolicyLegalName = p.datum("PolicyLegalName"
);
CsoEra = mc_str(b->database().query<mcenum_cso_era>(DB_CsoEra));