2 #include <benchmark/benchmark.h>
7 template <
typename TYPE>
10 auto const N = state.range_x();
17 .tolerance(std::pow(10, -state.range_y()))
20 .positivity_constraint(
true)
25 Real
const gamma = 1e-2 / Psi.array().abs().sum();
27 while (state.KeepRunning()) l1(output, gamma, input);
28 state.SetBytesProcessed(int64_t(state.iterations()) * int64_t(
N) *
sizeof(TYPE));
BENCHMARK_TEMPLATE(function_l1p, sopt::t_complex) -> RangePair(1, 256, 4, 12) ->UseRealTime()
void function_l1p(benchmark::State &state)
Computes inner-most element type.
L1 proximal, including linear transform.
Real nu() const
Bounds on the squared norm of the operator Ψ
double t_real
Root of the type hierarchy for real numbers.
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector of a given type.
std::complex< t_real > t_complex
Root of the type hierarchy for (real) complex numbers.
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > Matrix
A matrix of a given type.