v0.14.0
Loading...
Searching...
No Matches
Tensor1_times_generic.hpp
Go to the documentation of this file.
1/* Multipliess a Tensor1 by a generic (or vice versa), yielding a Tensor1.
2 Usually used for doubles, but could be used for complex, etc. All
3 that it requires is that you can add an element of the Tensor1 to
4 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
39 /* d0 * A(i) -> Tensor1 */
40
41 template <class A, class T, class U, int Dim, char i>
43 typename promote<T, U>::V, Dim, i>
45 {
48 TensorExpr(a, d0));
49 }
50}
constexpr double a
promote< T, U >::V operator()(const int N) const
Tensor1_Expr< A, T, Dim, i > iterA
Tensor1_times_generic(const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
FTensor::Index< 'i', SPACE_DIM > i
Tensors class implemented by Walter Landry.
Definition FTensor.hpp:51
promote< T, U >::V operator*(const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b)
const int N
Definition speed_test.cpp:3