v0.15.0
Loading...
Searching...
No Matches
Tensor1_minus_generic.hpp
Go to the documentation of this file.
1/* Subtracts a Tensor1 from a generic (or vice versa), yielding a
2 Tensor1. Usually used for doubles, but could be used for complex,
3 etc. All that it requires is that you can add an element of the
4 Tensor1 to it. */
5
6/* A(i) - d0 -> Tensor1 */
7
8#pragma once
9
10namespace FTensor
11{
12 template <class A, class T, class U, int Dim, char i>
14 {
16 U d;
17
18 public:
19 typename promote<T, U>::V operator()(const int N) const
20 {
21 return iterA(N) - d;
22 }
23
25 : iterA(a), d(d0)
26 {}
27 };
28
29 template <class A, class T, class U, int Dim, char i>
31 typename promote<T, U>::V, Dim, i>
33 {
36 TensorExpr(a, d0));
37 }
38}
constexpr double a
Tensor1_Expr< A, T, Dim, i > iterA
Tensor1_minus_generic(const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
promote< T, U >::V operator()(const int N) const
FTensor::Index< 'i', SPACE_DIM > i
Tensors class implemented by Walter Landry.
Definition FTensor.hpp:51
Ddg_Expr< Ddg_minus_Ddg< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, j, k, l > operator-(const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &b)
const int N
Definition speed_test.cpp:3