lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 21d8d5e: Befriend more narrowly


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 21d8d5e: Befriend more narrowly
Date: Tue, 19 Jan 2021 15:04:38 -0500 (EST)

branch: master
commit 21d8d5ec8715306b5b5cd49af95f72d4a861d8cb
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Befriend more narrowly
    
    See:
      https://lists.nongnu.org/archive/html/lmi/2021-01/msg00006.html
---
 Speed_gcc_i686-w64-mingw32    | 12 ++++++------
 Speed_gcc_x86_64-pc-linux-gnu | 12 ++++++------
 Speed_gcc_x86_64-w64-mingw32  | 12 ++++++------
 any_member.hpp                | 18 ++++++++++--------
 4 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/Speed_gcc_i686-w64-mingw32 b/Speed_gcc_i686-w64-mingw32
index cfb749f..0ef4f39 100644
--- a/Speed_gcc_i686-w64-mingw32
+++ b/Speed_gcc_i686-w64-mingw32
@@ -1,7 +1,7 @@
 Test speed:
-  naic, no solve      : 5.244e-02 s mean;      52015 us least of  20 runs
-  naic, specamt solve : 9.343e-02 s mean;      92665 us least of  11 runs
-  naic, ee prem solve : 8.574e-02 s mean;      85253 us least of  12 runs
-  finra, no solve     : 2.275e-02 s mean;      21555 us least of  44 runs
-  finra, specamt solve: 5.958e-02 s mean;      58773 us least of  17 runs
-  finra, ee prem solve: 5.560e-02 s mean;      54771 us least of  18 runs
+  naic, no solve      : 5.230e-02 s mean;      52049 us least of  20 runs
+  naic, specamt solve : 9.288e-02 s mean;      92504 us least of  11 runs
+  naic, ee prem solve : 8.521e-02 s mean;      84843 us least of  12 runs
+  finra, no solve     : 2.267e-02 s mean;      21715 us least of  45 runs
+  finra, specamt solve: 5.912e-02 s mean;      58920 us least of  17 runs
+  finra, ee prem solve: 5.499e-02 s mean;      54843 us least of  19 runs
diff --git a/Speed_gcc_x86_64-pc-linux-gnu b/Speed_gcc_x86_64-pc-linux-gnu
index aedbb5f..e24d505 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      : 1.981e-02 s mean;      18713 us least of  51 runs
-  naic, specamt solve : 3.313e-02 s mean;      32640 us least of  31 runs
-  naic, ee prem solve : 3.044e-02 s mean;      29950 us least of  33 runs
-  finra, no solve     : 7.627e-03 s mean;       7194 us least of 100 runs
-  finra, specamt solve: 2.051e-02 s mean;      20047 us least of  49 runs
-  finra, ee prem solve: 1.918e-02 s mean;      18550 us least of  53 runs
+  naic, no solve      : 1.931e-02 s mean;      18603 us least of  52 runs
+  naic, specamt solve : 3.349e-02 s mean;      32661 us least of  30 runs
+  naic, ee prem solve : 3.070e-02 s mean;      29998 us least of  33 runs
+  finra, no solve     : 7.805e-03 s mean;       7343 us least of 100 runs
+  finra, specamt solve: 2.070e-02 s mean;      19991 us least of  49 runs
+  finra, ee prem solve: 1.939e-02 s mean;      18827 us least of  52 runs
diff --git a/Speed_gcc_x86_64-w64-mingw32 b/Speed_gcc_x86_64-w64-mingw32
index 16222b3..c71751c 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.679e-02 s mean;      26410 us least of  38 runs
-  naic, specamt solve : 4.213e-02 s mean;      41548 us least of  24 runs
-  naic, ee prem solve : 3.923e-02 s mean;      38721 us least of  26 runs
-  finra, no solve     : 1.468e-02 s mean;      14383 us least of  69 runs
-  finra, specamt solve: 2.881e-02 s mean;      28406 us least of  35 runs
-  finra, ee prem solve: 2.739e-02 s mean;      26940 us least of  37 runs
+  naic, no solve      : 2.675e-02 s mean;      26450 us least of  38 runs
+  naic, specamt solve : 4.205e-02 s mean;      41529 us least of  24 runs
+  naic, ee prem solve : 3.904e-02 s mean;      38621 us least of  26 runs
+  finra, no solve     : 1.460e-02 s mean;      14275 us least of  69 runs
+  finra, specamt solve: 2.875e-02 s mean;      28409 us least of  35 runs
+  finra, ee prem solve: 2.731e-02 s mean;      27011 us least of  37 runs
diff --git a/any_member.hpp b/any_member.hpp
index 0bceddc..11ab6c2 100644
--- a/any_member.hpp
+++ b/any_member.hpp
@@ -105,6 +105,11 @@ class placeholder
 
 inline placeholder::~placeholder() = default;
 
+// Forward declaration of class any_member.
+
+template<typename ClassType>
+class any_member;
+
 // Definition of class holder.
 
 template<typename ClassType, typename ValueType>
@@ -113,7 +118,7 @@ class holder final
 {
     // Friendship is extended to class any_member only to support its
     // cast operations.
-    template<typename> friend class any_member;
+    friend class any_member<ClassType>;
 
   public:
     holder(ClassType*, ValueType const&);
@@ -214,13 +219,6 @@ void* holder<ClassType,ValueType>::defraud() const
 }
 #endif // defined LMI_MSC
 
-// Definition of class any_member.
-
-// This class is necessarily Assignable, so that a std::map can hold it.
-
-template<typename ClassType>
-class any_member;
-
 template<typename MemberType, typename ClassType>
 MemberType* exact_cast(any_member<ClassType>&);
 
@@ -229,6 +227,10 @@ MemberType* member_cast(any_member<ClassType>&);
 
 struct any_member_test;
 
+// Definition of class any_member.
+
+// This class is necessarily Assignable, so that a std::map can hold it.
+
 template<typename ClassType>
 class any_member final
     :public any_entity



reply via email to

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