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
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.