diff --git a/annotated.html b/annotated.html index a32cb967e..c5ba60c95 100644 --- a/annotated.html +++ b/annotated.html @@ -138,41 +138,43 @@  Cunderlying_value_type< T, true >  CAppliedFunctionExpression referencing the result of a function call  CWrapFunctionWraps an std::function to return an expression - NproximalHolds some standard proximals - Ndetails - CDelayedProximalFunctionExpression referencing a lazy proximal function call - CDelayedProximalEnveloppeFunctionExpression referencing a lazy function call to envelope proximal - CL1TightFrameL1 proximal, including linear transform - CL1L1 proximal, including linear transform - CBreaker - CDiagnosticHow did calling L1 go? - CDiagnosticAndResultResult from calling L1 - CFistaMixing - CNoMixing - CEuclidianNormProximal of euclidian norm - CL2NormProximal for the L2 norm - CL2BallProximal for indicator function of L2 ball - CWeightedL2Ball - CTranslationTranslation over proximal function - Nutilities - Cbad_lexical_castException to be thrown by lexical_cast (below) - Nwavelets - CSARASparsity Averaging Reweighted Analysis - CWaveletDataHolds wavelets coefficients - CDirectFilterHolds filters for direct transform - CWaveletPerforms direct and indirect wavelet transforms - CConjugateGradientSolves $Ax = b$ for $x$, given $A$ and $b$ - CDiagnosticValues indicating how the algorithm ran - CDiagnosticAndResultValues indicating how the algorithm ran and its result; - CExceptionRoot exception for sopt - CLinearTransformJoins together direct and indirect operators - CORTsessionSopt interface class to hold a ONNXrt session - Cis_complexTrue if underlying type is complex - Cis_complex< std::complex< T >, void >True if underlying type is complex - CRelativeVariation - CScalarRelativeVariation - CSamplingAn operator that samples a set of measurements - CCData + Nlogging + CLogLogging system for controlled & formatted writing to stdout + NproximalHolds some standard proximals + Ndetails + CDelayedProximalFunctionExpression referencing a lazy proximal function call + CDelayedProximalEnveloppeFunctionExpression referencing a lazy function call to envelope proximal + CL1TightFrameL1 proximal, including linear transform + CL1L1 proximal, including linear transform + CBreaker + CDiagnosticHow did calling L1 go? + CDiagnosticAndResultResult from calling L1 + CFistaMixing + CNoMixing + CEuclidianNormProximal of euclidian norm + CL2NormProximal for the L2 norm + CL2BallProximal for indicator function of L2 ball + CWeightedL2Ball + CTranslationTranslation over proximal function + Nutilities + Cbad_lexical_castException to be thrown by lexical_cast (below) + Nwavelets + CSARASparsity Averaging Reweighted Analysis + CWaveletDataHolds wavelets coefficients + CDirectFilterHolds filters for direct transform + CWaveletPerforms direct and indirect wavelet transforms + CConjugateGradientSolves $Ax = b$ for $x$, given $A$ and $b$ + CDiagnosticValues indicating how the algorithm ran + CDiagnosticAndResultValues indicating how the algorithm ran and its result; + CExceptionRoot exception for sopt + CLinearTransformJoins together direct and indirect operators + CORTsessionSopt interface class to hold a ONNXrt session + Cis_complexTrue if underlying type is complex + Cis_complex< std::complex< T >, void >True if underlying type is complex + CRelativeVariation + CScalarRelativeVariation + CSamplingAn operator that samples a set of measurements + CCData  CDummyAlgorithmMinimum set of functions and type aliases needed by reweighting  CDiagnosticAndResult  CGProximal diff --git a/benchmarks_2conjugate__gradient_8cc.html b/benchmarks_2conjugate__gradient_8cc.html index d6fde807d..2e8d9eb42 100644 --- a/benchmarks_2conjugate__gradient_8cc.html +++ b/benchmarks_2conjugate__gradient_8cc.html @@ -91,29 +91,30 @@ diff --git a/benchmarks_2conjugate__gradient_8cc__incl.map b/benchmarks_2conjugate__gradient_8cc__incl.map index 0c5653d34..274f43bd2 100644 --- a/benchmarks_2conjugate__gradient_8cc__incl.map +++ b/benchmarks_2conjugate__gradient_8cc__incl.map @@ -1,25 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/benchmarks_2conjugate__gradient_8cc__incl.md5 b/benchmarks_2conjugate__gradient_8cc__incl.md5 index 3eb9e262a..e24cf724b 100644 --- a/benchmarks_2conjugate__gradient_8cc__incl.md5 +++ b/benchmarks_2conjugate__gradient_8cc__incl.md5 @@ -1 +1 @@ -85ee390f6a9f0422840f445dd2435318 \ No newline at end of file +382fe7d9182a1421a71d9820eb6da66d \ No newline at end of file diff --git a/benchmarks_2conjugate__gradient_8cc__incl.png b/benchmarks_2conjugate__gradient_8cc__incl.png index 0b4212d5b..9ed6bc173 100644 Binary files a/benchmarks_2conjugate__gradient_8cc__incl.png and b/benchmarks_2conjugate__gradient_8cc__incl.png differ diff --git a/benchmarks_2l1__proximal_8cc.html b/benchmarks_2l1__proximal_8cc.html index f78ca0369..5ba7b9166 100644 --- a/benchmarks_2l1__proximal_8cc.html +++ b/benchmarks_2l1__proximal_8cc.html @@ -93,30 +93,31 @@ diff --git a/benchmarks_2l1__proximal_8cc__incl.map b/benchmarks_2l1__proximal_8cc__incl.map index f92d11fae..95b08dbe1 100644 --- a/benchmarks_2l1__proximal_8cc__incl.map +++ b/benchmarks_2l1__proximal_8cc__incl.map @@ -1,26 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/benchmarks_2l1__proximal_8cc__incl.md5 b/benchmarks_2l1__proximal_8cc__incl.md5 index 87e0e65da..d3a39f3e4 100644 --- a/benchmarks_2l1__proximal_8cc__incl.md5 +++ b/benchmarks_2l1__proximal_8cc__incl.md5 @@ -1 +1 @@ -d2c7231b54c981605aa2a3d983016cb4 \ No newline at end of file +d02f63ed1328da758804a303724aec54 \ No newline at end of file diff --git a/benchmarks_2l1__proximal_8cc__incl.png b/benchmarks_2l1__proximal_8cc__incl.png index bdb11772a..793077acf 100644 Binary files a/benchmarks_2l1__proximal_8cc__incl.png and b/benchmarks_2l1__proximal_8cc__incl.png differ diff --git a/bisection__method_8cc.html b/bisection__method_8cc.html index 6c3ba81f8..d5e159265 100644 --- a/bisection__method_8cc.html +++ b/bisection__method_8cc.html @@ -95,25 +95,26 @@ @@ -278,15 +279,15 @@

Definition at line 16 of file bisection_method.cc.

16  {
17  using namespace sopt;
-
18  sopt::logging::set_level("debug");
+
18  sopt::logging::set_level("debug");
19  std::function<Scalar(Scalar)> const func = [](const Scalar &x) -> Scalar { return x * x * x; };
20  constexpr Scalar x0 = 0;
21  const Scalar x0_est = bisection_method(func(x0), func, a, b, tol);
22  CHECK(std::abs(x0_est - x0) <= tol);
23 }
-
void set_level(std::string const &, std::string const &)
Sets loggin level.
+
void set_level(const std::string &level)
Method to set the logging level of the default Log object.
Definition: logging.h:154
-

References a, b, sopt::bisection_method(), sopt::logging::set_level(), and tol.

+

References a, b, sopt::bisection_method(), sopt::logging::set_level(), and tol.

diff --git a/bisection__method_8cc__incl.map b/bisection__method_8cc__incl.map index 6fac10b39..451aac92a 100644 --- a/bisection__method_8cc__incl.map +++ b/bisection__method_8cc__incl.map @@ -1,21 +1,22 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/bisection__method_8cc__incl.md5 b/bisection__method_8cc__incl.md5 index d2eab088b..801268855 100644 --- a/bisection__method_8cc__incl.md5 +++ b/bisection__method_8cc__incl.md5 @@ -1 +1 @@ -fd17cee29e121f2382d0373b1b14d42f \ No newline at end of file +f35b343675cbf5ec243e421161df7762 \ No newline at end of file diff --git a/bisection__method_8cc__incl.png b/bisection__method_8cc__incl.png index d7fa6ff48..ec17e1aac 100644 Binary files a/bisection__method_8cc__incl.png and b/bisection__method_8cc__incl.png differ diff --git a/bisection__method_8cc_source.html b/bisection__method_8cc_source.html index ced4a581b..6b3ace008 100644 --- a/bisection__method_8cc_source.html +++ b/bisection__method_8cc_source.html @@ -96,7 +96,7 @@
15 constexpr Scalar tol = 1e-4;
16 TEST_CASE("Bisection x^3") {
17  using namespace sopt;
-
18  sopt::logging::set_level("debug");
+
18  sopt::logging::set_level("debug");
19  std::function<Scalar(Scalar)> const func = [](const Scalar &x) -> Scalar { return x * x * x; };
20  constexpr Scalar x0 = 0;
21  const Scalar x0_est = bisection_method(func(x0), func, a, b, tol);
@@ -124,7 +124,7 @@
constexpr Scalar a
sopt::Matrix< Scalar > t_Matrix
-
void set_level(std::string const &, std::string const &)
Sets loggin level.
+
void set_level(const std::string &level)
Method to set the logging level of the default Log object.
Definition: logging.h:154
double t_real
Root of the type hierarchy for real numbers.
Definition: types.h:17
std::enable_if< std::is_same< t_real, K >::value, K >::type bisection_method(const K &function_value, const std::function< K(K)> &func, const K &a, const K &b, const t_real &rel_convergence=1e-4)
Find root to a function within an interval.
diff --git a/bisection__method_8h.html b/bisection__method_8h.html index f4e453a86..51813051b 100644 --- a/bisection__method_8h.html +++ b/bisection__method_8h.html @@ -95,21 +95,22 @@
diff --git a/bisection__method_8h__incl.map b/bisection__method_8h__incl.map index 8a0120c60..e715ac29e 100644 --- a/bisection__method_8h__incl.map +++ b/bisection__method_8h__incl.map @@ -1,17 +1,18 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/bisection__method_8h__incl.md5 b/bisection__method_8h__incl.md5 index 2fcde9cbe..0c10f518b 100644 --- a/bisection__method_8h__incl.md5 +++ b/bisection__method_8h__incl.md5 @@ -1 +1 @@ -289975a161f60be36c2016100ce236fe \ No newline at end of file +de192bf415453bf8ca33271e05402ef9 \ No newline at end of file diff --git a/bisection__method_8h__incl.png b/bisection__method_8h__incl.png index 497d1a706..e0c3c4c86 100644 Binary files a/bisection__method_8h__incl.png and b/bisection__method_8h__incl.png differ diff --git a/bisection__method_8h_source.html b/bisection__method_8h_source.html index c7e07ebff..b3e877c1e 100644 --- a/bisection__method_8h_source.html +++ b/bisection__method_8h_source.html @@ -143,7 +143,7 @@
#define SOPT_THROW(MSG)
Definition: exception.h:46
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
double t_real
Root of the type hierarchy for real numbers.
Definition: types.h:17
std::enable_if< std::is_same< t_real, K >::value, K >::type bisection_method(const K &function_value, const std::function< K(K)> &func, const K &a, const K &b, const t_real &rel_convergence=1e-4)
Find root to a function within an interval.
diff --git a/cdata_8h.html b/cdata_8h.html index 5d071fcc4..43b08a6a8 100644 --- a/cdata_8h.html +++ b/cdata_8h.html @@ -93,27 +93,28 @@
diff --git a/cdata_8h__incl.map b/cdata_8h__incl.map index 6fea1d0da..dbf45eb3c 100644 --- a/cdata_8h__incl.map +++ b/cdata_8h__incl.map @@ -1,23 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/cdata_8h__incl.md5 b/cdata_8h__incl.md5 index faa58eabf..6927639b8 100644 --- a/cdata_8h__incl.md5 +++ b/cdata_8h__incl.md5 @@ -1 +1 @@ -65fa3fd2ad7b0d356f8a500e8fcba742 \ No newline at end of file +2a997188ef28c8fd57f84f5661b68df2 \ No newline at end of file diff --git a/cdata_8h__incl.png b/cdata_8h__incl.png index d2f89988f..de7dc63d1 100644 Binary files a/cdata_8h__incl.png and b/cdata_8h__incl.png differ diff --git a/chained__operators_8cc.html b/chained__operators_8cc.html index 5145d6c86..3bc2a17ad 100644 --- a/chained__operators_8cc.html +++ b/chained__operators_8cc.html @@ -95,29 +95,30 @@ - - + + - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
diff --git a/chained__operators_8cc__incl.map b/chained__operators_8cc__incl.map index 35a3f790a..3205344b1 100644 --- a/chained__operators_8cc__incl.map +++ b/chained__operators_8cc__incl.map @@ -1,27 +1,28 @@ - - + + - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/chained__operators_8cc__incl.md5 b/chained__operators_8cc__incl.md5 index 91d3641c0..9d1e1c51e 100644 --- a/chained__operators_8cc__incl.md5 +++ b/chained__operators_8cc__incl.md5 @@ -1 +1 @@ -8d38b8709f212b888d20942fe61f9d99 \ No newline at end of file +dcd1eeaf9f280f15717716043ae21002 \ No newline at end of file diff --git a/chained__operators_8cc__incl.png b/chained__operators_8cc__incl.png index 86270f0b8..1b1d7fe36 100644 Binary files a/chained__operators_8cc__incl.png and b/chained__operators_8cc__incl.png differ diff --git a/classes.html b/classes.html index a9c9a146a..b3048a469 100644 --- a/classes.html +++ b/classes.html @@ -109,7 +109,7 @@
JointMAP (sopt::algorithm)
L
-
L1 (sopt::proximal)
L1GProximal (sopt::algorithm)
L1TightFrame (sopt::proximal)
L2Ball (sopt::proximal)
L2ForwardBackward (sopt::algorithm)
L2Norm (sopt::proximal)
LinearTransform (sopt)
+
L1 (sopt::proximal)
L1GProximal (sopt::algorithm)
L1TightFrame (sopt::proximal)
L2Ball (sopt::proximal)
L2ForwardBackward (sopt::algorithm)
L2Norm (sopt::proximal)
LinearTransform (sopt)
Log (sopt::logging)
M
MatrixAdjointToLinearTransform (sopt::details)
MatrixToLinearTransform (sopt::details)
diff --git a/classsopt_1_1RelativeVariation.html b/classsopt_1_1RelativeVariation.html index 4e08e7c4e..819fb04a8 100644 --- a/classsopt_1_1RelativeVariation.html +++ b/classsopt_1_1RelativeVariation.html @@ -353,9 +353,9 @@

119  SOPT_LOW_LOG(" - {} relative variation: {} <? {}", name(), std::sqrt(norm), tolerance());
120  return norm < tolerance() * tolerance();
121 }
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
-

References SOPT_LOW_LOG.

+

References SOPT_LOW_LOG.

diff --git a/classsopt_1_1ScalarRelativeVariation.html b/classsopt_1_1ScalarRelativeVariation.html index ac389c49b..8a8976179 100644 --- a/classsopt_1_1ScalarRelativeVariation.html +++ b/classsopt_1_1ScalarRelativeVariation.html @@ -441,10 +441,10 @@

137  previous_ = current;
138  return result;
139 }
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
Vector< T > diff(const Vector< T > &x)
Numerical derivative of 1d vector.
-

References sopt::gradient_operator::diff(), and SOPT_LOW_LOG.

+

References sopt::gradient_operator::diff(), and SOPT_LOW_LOG.

diff --git a/classsopt_1_1algorithm_1_1JointMAP.html b/classsopt_1_1algorithm_1_1JointMAP.html index 3e2397b0b..4c6fdb56e 100644 --- a/classsopt_1_1algorithm_1_1JointMAP.html +++ b/classsopt_1_1algorithm_1_1JointMAP.html @@ -276,13 +276,13 @@

134  diagnostic.reg_term = gamma;
135  return diagnostic;
136  }
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
-
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:27
-
#define SOPT_ERROR(...)
\macro Something is definitely wrong, algorithm exits
Definition: logging.h:15
-
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:29
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
+
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:223
+
#define SOPT_ERROR(...)
\macro Something is definitely wrong, algorithm exits
Definition: logging.h:211
+
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:225
size_t t_uint
Root of the type hierarchy for unsigned integers.
Definition: types.h:15
-

References sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_good, sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_niters, sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_term, SOPT_ERROR, SOPT_HIGH_LOG, SOPT_LOW_LOG, and SOPT_MEDIUM_LOG.

+

References sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_good, sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_niters, sopt::algorithm::JointMAP< ALGORITHM >::DiagnosticAndResultReg::reg_term, SOPT_ERROR, SOPT_HIGH_LOG, SOPT_LOW_LOG, and SOPT_MEDIUM_LOG.

diff --git a/classsopt_1_1algorithm_1_1L1GProximal.html b/classsopt_1_1algorithm_1_1L1GProximal.html index e9cd87cbc..d731e26f1 100644 --- a/classsopt_1_1algorithm_1_1L1GProximal.html +++ b/classsopt_1_1algorithm_1_1L1GProximal.html @@ -469,9 +469,9 @@

49  {
50  SOPT_HIGH_LOG("Performing Forward Backward with L1 and L2 norms");
51  }
-
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:27
+
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:223
-

References SOPT_HIGH_LOG.

+

References SOPT_HIGH_LOG.

diff --git a/classsopt_1_1algorithm_1_1L2ForwardBackward.html b/classsopt_1_1algorithm_1_1L2ForwardBackward.html index 0ac4346da..e0345a358 100644 --- a/classsopt_1_1algorithm_1_1L2ForwardBackward.html +++ b/classsopt_1_1algorithm_1_1L2ForwardBackward.html @@ -1030,7 +1030,7 @@

References sopt::linear_transform().

-

Referenced by main().

+

Referenced by main().

diff --git a/classsopt_1_1algorithm_1_1PowerMethod.html b/classsopt_1_1algorithm_1_1PowerMethod.html index a1befd60c..ec06ba0d4 100644 --- a/classsopt_1_1algorithm_1_1PowerMethod.html +++ b/classsopt_1_1algorithm_1_1PowerMethod.html @@ -455,11 +455,11 @@

245 }
sopt::t_real Scalar
typename real_type< Scalar >::type Real
Real type.
Definition: power_method.h:144
-
#define SOPT_WARN(...)
\macro Something might be going wrong
Definition: logging.h:17
-
#define SOPT_INFO(...)
\macro Verbose informational message about normal condition
Definition: logging.h:19
+
#define SOPT_WARN(...)
\macro Something might be going wrong
Definition: logging.h:213
+
#define SOPT_INFO(...)
\macro Verbose informational message about normal condition
Definition: logging.h:215
size_t t_uint
Root of the type hierarchy for unsigned integers.
Definition: types.h:15
-

References SOPT_INFO, and SOPT_WARN.

+

References SOPT_INFO, and SOPT_WARN.

diff --git a/classsopt_1_1algorithm_1_1Reweighted.html b/classsopt_1_1algorithm_1_1Reweighted.html index 43f6f61c5..131f028df 100644 --- a/classsopt_1_1algorithm_1_1Reweighted.html +++ b/classsopt_1_1algorithm_1_1Reweighted.html @@ -941,13 +941,13 @@

234 }
t_uint itermax() const
Maximum number of reweighted iterations.
Definition: reweighted.h:118
t_DeltaUpdate const & update_delta() const
Updates delta.
Definition: reweighted.h:155
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
-
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:27
-
#define SOPT_ERROR(...)
\macro Something is definitely wrong, algorithm exits
Definition: logging.h:15
-
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:29
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
+
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:223
+
#define SOPT_ERROR(...)
\macro Something is definitely wrong, algorithm exits
Definition: logging.h:211
+
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:225
real_type< typename T::Scalar >::type standard_deviation(Eigen::ArrayBase< T > const &x)
Computes the standard deviation of a vector.
Definition: maths.h:16
-

References sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::algo, sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::good, sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::niters, SOPT_ERROR, SOPT_HIGH_LOG, SOPT_LOW_LOG, SOPT_MEDIUM_LOG, sopt::standard_deviation(), and sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::weights.

+

References sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::algo, sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::good, sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::niters, SOPT_ERROR, SOPT_HIGH_LOG, SOPT_LOW_LOG, SOPT_MEDIUM_LOG, sopt::standard_deviation(), and sopt::algorithm::Reweighted< ALGORITHM >::ReweightedResult::weights.

diff --git a/classsopt_1_1algorithm_1_1SDMM.html b/classsopt_1_1algorithm_1_1SDMM.html index 46d2b7615..95b77b4e5 100644 --- a/classsopt_1_1algorithm_1_1SDMM.html +++ b/classsopt_1_1algorithm_1_1SDMM.html @@ -952,11 +952,11 @@

constexpr Scalar a
t_uint size() const
Number of terms.
Definition: sdmm.h:159
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
-
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:27
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
+
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:223
size_t t_uint
Root of the type hierarchy for unsigned integers.
Definition: types.h:15
-

References a, SOPT_HIGH_LOG, and SOPT_LOW_LOG.

+

References a, SOPT_HIGH_LOG, and SOPT_LOW_LOG.

diff --git a/classsopt_1_1algorithm_1_1TFGProximal.html b/classsopt_1_1algorithm_1_1TFGProximal.html index 4220de81c..332c4079e 100644 --- a/classsopt_1_1algorithm_1_1TFGProximal.html +++ b/classsopt_1_1algorithm_1_1TFGProximal.html @@ -405,9 +405,9 @@

54  {
55  SOPT_HIGH_LOG("Performing Forward Backward TensorFlow model");
56  }
-
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:27
+
#define SOPT_HIGH_LOG(...)
High priority message.
Definition: logging.h:223
-

References SOPT_HIGH_LOG.

+

References SOPT_HIGH_LOG.

diff --git a/classsopt_1_1algorithm_1_1TVPrimalDual.html b/classsopt_1_1algorithm_1_1TVPrimalDual.html index 1e4f8d4ac..55f2a405f 100644 --- a/classsopt_1_1algorithm_1_1TVPrimalDual.html +++ b/classsopt_1_1algorithm_1_1TVPrimalDual.html @@ -995,7 +995,7 @@

References sopt::linear_transform().

-

Referenced by main(), and sopt::algorithm::TVPrimalDual< SCALAR >::operator()().

+

Referenced by main(), and sopt::algorithm::TVPrimalDual< SCALAR >::operator()().

@@ -1033,7 +1033,7 @@

References sopt::linear_transform().

-

Referenced by main().

+

Referenced by main().

@@ -1071,7 +1071,7 @@

259  }
TVPrimalDual< Scalar > & residual_convergence(Real const &tolerance)
Helper function to set-up default residual convergence function.
-

Referenced by main().

+

Referenced by main().

diff --git a/classsopt_1_1logging_1_1Log-members.html b/classsopt_1_1logging_1_1Log-members.html new file mode 100644 index 000000000..decd9d774 --- /dev/null +++ b/classsopt_1_1logging_1_1Log-members.html @@ -0,0 +1,115 @@ + + + + + + + +SOPT: Member List + + + + + + + + + + + + +
+
+ + + + + + + +
+
SOPT +
+
Sparse OPTimisation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sopt::logging::Log Member List
+
+
+ +

This is the complete list of members for sopt::logging::Log, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
always enum valuesopt::logging::Log
ColorCodes typedefsopt::logging::Log
critical enum valuesopt::logging::Log
debug enum valuesopt::logging::Log
end_colorsopt::logging::Logstatic
error enum valuesopt::logging::Log
getLevel() constsopt::logging::Loginline
getLevelFromName(const std::string &level)sopt::logging::Logstatic
getLevelName(int level)sopt::logging::Logstatic
getLog(const std::string &name)sopt::logging::Logstatic
getName() constsopt::logging::Loginline
info enum valuesopt::logging::Log
isActive(int level) constsopt::logging::Loginline
Level enum namesopt::logging::Log
LevelMap typedefsopt::logging::Log
LogMap typedefsopt::logging::Log
operator<<(Log &log, int level)sopt::logging::Logfriend
setLevel(const std::string &name, int level)sopt::logging::Logstatic
setLevel(int level)sopt::logging::Loginline
setLevels(const LevelMap &logLevels)sopt::logging::Logstatic
setName(const std::string &name)sopt::logging::Loginline
trace enum valuesopt::logging::Log
warn enum valuesopt::logging::Log
warning enum valuesopt::logging::Log
+ + + + diff --git a/classsopt_1_1logging_1_1Log.html b/classsopt_1_1logging_1_1Log.html new file mode 100644 index 000000000..c73bce5ca --- /dev/null +++ b/classsopt_1_1logging_1_1Log.html @@ -0,0 +1,769 @@ + + + + + + + +SOPT: sopt::logging::Log Class Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
SOPT +
+
Sparse OPTimisation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ +
+ +

Logging system for controlled & formatted writing to stdout. + More...

+ +

#include <logging.h>

+ + + + + + + + + + + + + + +

+Public Types

enum  Level {
+  trace = 0 +, debug = 10 +, info = 20 +, warn = 30 +,
+  warning = 30 +, error = 40 +, critical = 50 +, always = 50 +
+ }
 Log priority levels. More...
 
using LogMap = std::map< std::string, Log >
 Typedef for a collection of named logs. More...
 
using LevelMap = std::map< std::string, int >
 Typedef for a collection of named log levels. More...
 
using ColorCodes = std::map< int, std::string >
 Typedef for a collection of shell color codes, accessed by log level. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

int getLevel () const
 Get the priority level of this logger. More...
 
LogsetLevel (int level)
 Set the priority level of this logger. More...
 
std::string getName () const
 Get the name of this logger. More...
 
LogsetName (const std::string &name)
 Set the name of this logger. More...
 
bool isActive (int level) const
 Will this log level produce output on this logger at the moment? More...
 
+ + + + + + + + + + + + + + +

+Static Public Member Functions

static void setLevel (const std::string &name, int level)
 Set the log levels. More...
 
static void setLevels (const LevelMap &logLevels)
 
static LoggetLog (const std::string &name)
 
static Level getLevelFromName (const std::string &level)
 Get a log level enum from a string. More...
 
static std::string getLevelName (int level)
 Get the std::string representation of a log level. More...
 
+ + + + +

+Static Public Attributes

static const int end_color {-10}
 Special "level-like" code to end coloring. More...
 
+ + + + +

+Friends

std::ostream & operator<< (Log &log, int level)
 The streaming operator can use Log's internals. More...
 
+

Detailed Description

+

Logging system for controlled & formatted writing to stdout.

+ +

Definition at line 14 of file logging.h.

+

Member Typedef Documentation

+ +

◆ ColorCodes

+ +
+
+ + + + +
using sopt::logging::Log::ColorCodes = std::map<int, std::string>
+
+ +

Typedef for a collection of shell color codes, accessed by log level.

+ +

Definition at line 36 of file logging.h.

+ +
+
+ +

◆ LevelMap

+ +
+
+ + + + +
using sopt::logging::Log::LevelMap = std::map<std::string, int>
+
+ +

Typedef for a collection of named log levels.

+ +

Definition at line 33 of file logging.h.

+ +
+
+ +

◆ LogMap

+ +
+
+ + + + +
using sopt::logging::Log::LogMap = std::map<std::string, Log>
+
+ +

Typedef for a collection of named logs.

+ +

Definition at line 30 of file logging.h.

+ +
+
+

Member Enumeration Documentation

+ +

◆ Level

+ +
+
+ + + + +
enum sopt::logging::Log::Level
+
+ +

Log priority levels.

+ + + + + + + + + +
Enumerator
trace 
debug 
info 
warn 
warning 
error 
critical 
always 
+ +

Definition at line 18 of file logging.h.

+
18  {
+
19  trace = 0,
+
20  debug = 10,
+
21  info = 20,
+
22  warn = 30, warning = 30,
+
23  error = 40,
+
24  critical = 50, always = 50
+
25  };
+ + + + + + + + +
+
+
+

Member Function Documentation

+ +

◆ getLevel()

+ +
+
+ + + + + +
+ + + + + + + +
int sopt::logging::Log::getLevel () const
+
+inline
+
+ +

Get the priority level of this logger.

+ +

Definition at line 90 of file logging.h.

+
90  {
+
91  return _level;
+
92  }
+
+

Referenced by getLog().

+ +
+
+ +

◆ getLevelFromName()

+ +
+
+ + + + + +
+ + + + + + + + +
Log::Level sopt::logging::Log::getLevelFromName (const std::string & level)
+
+static
+
+ +

Get a log level enum from a string.

+ +

Definition at line 138 of file logging.cc.

+
138  {
+
139  if (level == "trace") return trace;
+
140  if (level == "debug") return debug;
+
141  if (level == "info") return info;
+
142  if (level == "warn") return warn;
+
143  if (level == "error") return error;
+
144  if (level == "critical") return critical;
+
145  SOPT_THROW("Couldn't create a log level from string '" + level + "'");
+
146  }
+
#define SOPT_THROW(MSG)
Definition: exception.h:46
+
+

References SOPT_THROW.

+ +

Referenced by sopt::logging::set_level().

+ +
+
+ +

◆ getLevelName()

+ +
+
+ + + + + +
+ + + + + + + + +
string sopt::logging::Log::getLevelName (int level)
+
+static
+
+ +

Get the std::string representation of a log level.

+ +

Definition at line 95 of file logging.cc.

+
95  {
+
96  switch(level) {
+
97  case trace:
+
98  return "trace";
+
99  case debug:
+
100  return "debug";
+
101  case info:
+
102  return "info";
+
103  case warn:
+
104  return "warn";
+
105  case error:
+
106  return "error";
+
107  case critical:
+
108  return "critical";
+
109  default:
+
110  return "";
+
111  }
+
112  }
+
+
+
+ +

◆ getLog()

+ +
+
+ + + + + +
+ + + + + + + + +
Log & sopt::logging::Log::getLog (const std::string & name)
+
+static
+
+

Get a logger with the given name. The level will be taken from the "requestedLevels" static map or will be INFO by default.

+ +

Definition at line 57 of file logging.cc.

+
57  {
+
58  auto theLog = existingLogs.find(name);
+
59  if (theLog == existingLogs.end()) {
+
60  int level = info;
+
61  // Try running through all parent classes to find an existing level
+
62  string tmpname = name;
+
63  bool triedAllParents = false;
+
64  while (! triedAllParents) {
+
65  // Is there a default level?
+
66  if (defaultLevels.find(tmpname) != defaultLevels.end()) {
+
67  level = defaultLevels.find(tmpname)->second;
+
68  break;
+
69  }
+
70  // Is there already such a logger? (NB. tmpname != name in later iterations)
+
71  if (existingLogs.find(tmpname) != existingLogs.end()) {
+
72  level = existingLogs.find(tmpname)->second.getLevel();
+
73  break;
+
74  }
+
75  // Crop the string back to the next parent level
+
76  size_t lastDot = tmpname.find_last_of(".");
+
77  if (lastDot != string::npos) {
+
78  tmpname = tmpname.substr(0, lastDot);
+
79  } else {
+
80  triedAllParents = true;
+
81  }
+
82  }
+
83  // for (LevelMap::const_iterator l = defaultLevels.begin(); l != defaultLevels.end(); ++l) {
+
84  //
+
85  // }
+
86 
+
87  // emplace returns pair<iterator,bool>
+
88  auto result = existingLogs.emplace(name, Log(name, level));
+
89  theLog = result.first;
+
90  }
+
91  return theLog->second;
+
92  }
+
+

References getLevel().

+ +

Referenced by sopt::logging::getLog().

+ +
+
+ +

◆ getName()

+ +
+
+ + + + + +
+ + + + + + + +
std::string sopt::logging::Log::getName () const
+
+inline
+
+ +

Get the name of this logger.

+ +

Definition at line 107 of file logging.h.

+
107  {
+
108  return _name;
+
109  }
+
+
+
+ +

◆ isActive()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sopt::logging::Log::isActive (int level) const
+
+inline
+
+ +

Will this log level produce output on this logger at the moment?

+ +

Definition at line 118 of file logging.h.

+
118  {
+
119  return (level >= _level);
+
120  }
+
+
+
+ +

◆ setLevel() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void sopt::logging::Log::setLevel (const std::string & name,
int level 
)
+
+static
+
+ +

Set the log levels.

+ +

Referenced by sopt::logging::set_level().

+ +
+
+ +

◆ setLevel() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Log& sopt::logging::Log::setLevel (int level)
+
+inline
+
+ +

Set the priority level of this logger.

+ +

Definition at line 95 of file logging.h.

+
95  {
+
96  _level = level;
+
97  return *this;
+
98  }
+
+
+
+ +

◆ setLevels()

+ +
+
+ + + + + +
+ + + + + + + + +
void sopt::logging::Log::setLevels (const LevelMaplogLevels)
+
+static
+
+ +

Definition at line 49 of file logging.cc.

+
49  {
+
50  for (LevelMap::const_iterator lev = logLevels.begin(); lev != logLevels.end(); ++lev) {
+
51  defaultLevels[lev->first] = lev->second;
+
52  }
+
53  _updateLevels(defaultLevels, existingLogs);
+
54  }
+
void _updateLevels(const Log::LevelMap &defaultLevels, Log::LogMap &existingLogs)
Definition: logging.cc:30
+
+

References sopt::logging::_updateLevels().

+ +
+
+ +

◆ setName()

+ +
+
+ + + + + +
+ + + + + + + + +
Log& sopt::logging::Log::setName (const std::string & name)
+
+inline
+
+ +

Set the name of this logger.

+ +

Definition at line 112 of file logging.h.

+
112  {
+
113  _name = name;
+
114  return *this;
+
115  }
+
+
+
+

Friends And Related Function Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (Loglog,
int level 
)
+
+friend
+
+ +

The streaming operator can use Log's internals.

+ +

Definition at line 190 of file logging.cc.

+
190  {
+
191  if (log.isActive(level)) {
+
192  if (level > Log::warning) {
+
193  cerr << log.formatMessage(level, "");
+
194  return cerr;
+
195  } else {
+
196  cout << log.formatMessage(level, "");
+
197  return cout;
+
198  }
+
199  } else {
+
200  static ostream devNull(nullptr);
+
201  return devNull;
+
202  }
+
203  }
+
+
+
+

Member Data Documentation

+ +

◆ end_color

+ +
+
+ + + + + +
+ + + + +
const int sopt::logging::Log::end_color {-10}
+
+static
+
+ +

Special "level-like" code to end coloring.

+ +

Definition at line 26 of file logging.h.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/runner/work/sopt/sopt/cpp/sopt/logging.h
  • +
  • /home/runner/work/sopt/sopt/cpp/sopt/logging.cc
  • +
+
+ + + + diff --git a/classsopt_1_1proximal_1_1L1TightFrame.html b/classsopt_1_1proximal_1_1L1TightFrame.html index b2230852f..820f122ed 100644 --- a/classsopt_1_1proximal_1_1L1TightFrame.html +++ b/classsopt_1_1proximal_1_1L1TightFrame.html @@ -346,10 +346,10 @@

141  SOPT_LOW_LOG("Prox L1: objective = {}", objective(x, out, gamma));
142 }
std::enable_if< is_complex< Scalar >::value==is_complex< typename T0::Scalar >::value and is_complex< Scalar >::value==is_complex< typename T1::Scalar >::value, Real >::type objective(Eigen::MatrixBase< T0 > const &x, Eigen::MatrixBase< T1 > const &z, Real const &gamma) const
Definition: l1_proximal.h:149
-
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:31
+
#define SOPT_LOW_LOG(...)
Low priority message.
Definition: logging.h:227
std::enable_if< std::is_arithmetic< SCALAR >::value or is_complex< SCALAR >::value, SCALAR >::type soft_threshhold(SCALAR const &x, typename real_type< SCALAR >::type const &threshhold)
abs(x) < threshhold ? 0: x - sgn(x) * threshhold
Definition: maths.h:29
-

References sopt::soft_threshhold(), and SOPT_LOW_LOG.

+

References sopt::soft_threshhold(), and SOPT_LOW_LOG.

Referenced by sopt::proximal::L1< SCALAR >::tight_frame().

diff --git a/classsopt_1_1wavelets_1_1SARA.html b/classsopt_1_1wavelets_1_1SARA.html index e744d64a4..742acfc04 100644 --- a/classsopt_1_1wavelets_1_1SARA.html +++ b/classsopt_1_1wavelets_1_1SARA.html @@ -467,11 +467,11 @@

144 
145  coeffs /= std::sqrt(size());
146 }
-
#define SOPT_TRACE(...)
Definition: logging.h:24
+
#define SOPT_TRACE(...)
Definition: logging.h:220
int t_int
Root of the type hierarchy for signed integers.
Definition: types.h:13
#define SOPT_WAVELET_ERROR_MACRO(INPUT)
Definition: sara.h:119
-

References SOPT_TRACE, and SOPT_WAVELET_ERROR_MACRO.

+

References SOPT_TRACE, and SOPT_WAVELET_ERROR_MACRO.

@@ -632,7 +632,7 @@

176 }
t_uint max_levels() const
Number of levels over which to do transform.
Definition: sara.h:107
-

References max_levels(), SOPT_TRACE, and SOPT_WAVELET_ERROR_MACRO.

+

References max_levels(), SOPT_TRACE, and SOPT_WAVELET_ERROR_MACRO.

diff --git a/classsopt_1_1wavelets_1_1Wavelet.html b/classsopt_1_1wavelets_1_1Wavelet.html index 9e57b7361..0de390ba7 100644 --- a/classsopt_1_1wavelets_1_1Wavelet.html +++ b/classsopt_1_1wavelets_1_1Wavelet.html @@ -668,7 +668,7 @@

21  // Unknown input wavelet
22  throw std::exception();
23 }
-
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:29
+
#define SOPT_MEDIUM_LOG(...)
Medium priority message.
Definition: logging.h:225
WaveletData const & daubechies_data(t_uint n)
Factory function returning specific daubechie wavelet data.
size_t t_uint
Root of the type hierarchy for unsigned integers.
Definition: types.h:15
diff --git a/common__catch__main_8cc.html b/common__catch__main_8cc.html index 74ab7441d..39e50aefb 100644 --- a/common__catch__main_8cc.html +++ b/common__catch__main_8cc.html @@ -94,14 +94,18 @@ @@ -172,14 +176,11 @@

16  return returnCode;
17  mersenne.reset(new std::mt19937_64(session.configData().rngSeed));
18 
- -
20 
-
21  return session.run();
-
22 }
+
19  return session.run();
+
20 }
std::unique_ptr< std::mt19937_64 > mersenne(new std::mt19937_64(0))
-
std::shared_ptr< int > initialize(std::string const &)
Initializes a logger.
-

References sopt::logging::initialize(), and mersenne().

+

References mersenne().

diff --git a/common__catch__main_8cc__incl.map b/common__catch__main_8cc__incl.map index ecaf8b2fc..19202a2f5 100644 --- a/common__catch__main_8cc__incl.map +++ b/common__catch__main_8cc__incl.map @@ -1,10 +1,14 @@ - - - - - - - - + + + + + + + + + + + + diff --git a/common__catch__main_8cc__incl.md5 b/common__catch__main_8cc__incl.md5 index a28078c9f..b450ef11d 100644 --- a/common__catch__main_8cc__incl.md5 +++ b/common__catch__main_8cc__incl.md5 @@ -1 +1 @@ -8e9473839420b21dad02707123867d04 \ No newline at end of file +1b0400968f5085c698b7168d9ac59f72 \ No newline at end of file diff --git a/common__catch__main_8cc__incl.png b/common__catch__main_8cc__incl.png index bef6ba9e0..589595739 100644 Binary files a/common__catch__main_8cc__incl.png and b/common__catch__main_8cc__incl.png differ diff --git a/common__catch__main_8cc_source.html b/common__catch__main_8cc_source.html index f67bdcc03..68fca8eef 100644 --- a/common__catch__main_8cc_source.html +++ b/common__catch__main_8cc_source.html @@ -97,14 +97,11 @@
16  return returnCode;
17  mersenne.reset(new std::mt19937_64(session.configData().rngSeed));
18 
- -
20 
-
21  return session.run();
-
22 }
+
19  return session.run();
+
20 }
int main(int argc, char const **argv)
std::unique_ptr< std::mt19937_64 > mersenne(new std::mt19937_64(0))
-
std::shared_ptr< int > initialize(std::string const &)
Initializes a logger.