2 #include <catch2/catch_all.hpp> 
   15   SECTION(
"1 Functions") {
 
   17       out = input.array() * 2 - 1;
 
   20       out = input.array() * 4 - 1;
 
   22     t_Vector const x = t_Vector::Random(2 * 
N) * 5;
 
   29     CHECK(actual == expected);
 
   32   SECTION(
"2 Functions") {
 
   34       out = input.array() * 2 - 1;
 
   37       out = input.array() * 4 - 1;
 
   39     t_Vector const x = t_Vector::Random(2 * 
N) * 5;
 
   45     func0(actual, expected);
 
   47     CHECK(actual == expected);
 
   50   SECTION(
"3 Functions") {
 
   52       out = input.array() * 2 - 1;
 
   55       out = input.array() * 4 - 1;
 
   57     t_Vector const x = t_Vector::Random(2 * 
N) * 5;
 
   63     func1(expected, actual);
 
   64     func0(actual, expected);
 
   66     CHECK(actual == expected);
 
   69   SECTION(
"4 Functions") {
 
   71       out = input.array() * 2 - 1;
 
   74       out = input.array() * 4 - 1;
 
   76     t_Vector const x = t_Vector::Random(2 * 
N) * 5;
 
   82     func0(actual, expected);
 
   83     func1(expected, actual);
 
   84     func0(actual, expected);
 
   86     CHECK(actual == expected);
 
   89   SECTION(
"linear transform") {
 
   91       out = input.head(
N - 1).array() * 2;
 
   94       out = input.head(
N - 1).array() * 4;
 
   97       out = t_Vector::Zero(
N);
 
   98       out.head(
N - 1) = input.head(
N - 1).array() * 2;
 
  101       out = t_Vector::Zero(
N);
 
  102       out.head(
N - 1) = input.head(
N - 1).array() * 4;
 
  104     t_Vector const x = t_Vector::Random(2 * 
N) * 5;
 
  112     CHECK(expected == x.head(
N - 1) * 32);
 
  113     CHECK(actual == expected);
 
  114     chain_adjoint(actual, x.head(
N - 1));
 
  115     expected = op.adjoint() * x.head(
N - 1);
 
  116     CHECK(actual == expected);
 
sopt::Vector< Scalar > t_Vector
 
TEST_CASE("Linear Transforms", "[ops]")
 
OperatorFunction< T0 > chained_operators(OperatorFunction< T0 > const &arg0, T const &... args)
 
std::function< void(VECTOR &, VECTOR const &)> OperatorFunction
Typical function out = A*x.
 
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector of a given type.