v0.14.0
Loading...
Searching...
No Matches
Tensor2_transform.hpp
Go to the documentation of this file.
1/* Applies an arbitrary function to the Tensor2_Expr. */
2
3#pragma once
4
5namespace FTensor
6{
7 template <class A, class B, class T, int Dim0, int Dim1, char i, char j>
9 {
12
13 public:
14 T operator()(const int N1, const int N2) const
15 {
16 return function(iterA(N1, N2));
17 }
18
20 : iterA(a), function(func)
21 {}
22 };
23
24 template <class A, class B, class T, int Dim0, int Dim1, char i, char j>
25 Tensor2_Expr<transform_Tensor2<A, B, T, Dim0, Dim1, i, j>, T, Dim0, Dim1, i,
26 j>
28 {
31 TensorExpr(a, function));
32 }
33}
static Number< 2 > N2
static Number< 1 > N1
constexpr double a
transform_Tensor2(const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, B func)
T operator()(const int N1, const int N2) const
const Tensor2_Expr< A, T, Dim0, Dim1, i, j > iterA
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
const double T
Tensors class implemented by Walter Landry.
Definition: FTensor.hpp:51
Tensor2_Expr< transform_Tensor2< A, B, T, Dim0, Dim1, i, j >, T, Dim0, Dim1, i, j > transform(const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, B function)