lmi-commits
[Top][All Lists]
Advanced

[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));



reply via email to

[Prev in Thread] Current Thread [Next in Thread]