v0.13.2
Loading...
Searching...
No Matches
permute.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Permutation2.hpp"
4#include "Permutation3.hpp"
5#include "Permutation4.hpp"
6
7namespace FTensor
8{
9 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
10 int Dim1_0, int Dim1_1, char i0, char j0, char i1, char j1>
13 const int N0, const int N1)
14 {
16 }
17
18 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
19 int Dim0_2, int Dim1_0, int Dim1_1, int Dim1_2, char i0, char j0,
20 char k0, char i1, char j1, char k1>
23 const int N0, const int N1, const int N2)
24 {
26 N2);
27 }
28
29 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
30 int Dim0_2, int Dim1_01, int Dim1_2, char i0, char j0, char k0,
31 char i1, char j1, char k1>
34 const int N1, const int N2) {
36 N2);
37 }
38
39 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
40 int Dim0_2, int Dim0_3, int Dim1_0, int Dim1_1, int Dim1_2,
41 int Dim1_3, char i0, char j0, char k0, char l0, char i1, char j1,
42 char k1, char l1>
46 &rhs,
47 const int N0, const int N1, const int N2, const int N3)
48 {
50 rhs, N0, N1, N2, N3);
51 }
52
53 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
54 int Dim0_2, int Dim0_3, int Dim1_01, int Dim1_23, char i0, char j0,
55 char k0, char l0, char i1, char j1, char k1, char l1>
56 U permute(const Tensor4_Expr<A, T, Dim0_0, Dim0_1, Dim0_2, Dim0_3, i0, j0, k0,
57 l0> &,
59 const int N0, const int N1, const int N2, const int N3) {
61 rhs, N0, N1, N2, N3);
62 }
63
64 template <class A, class T, class B, class U, int Dim0_0, int Dim0_1,
65 int Dim1_0, int Dim1_1, char i0, char j0, char i1, char j1>
68 const int N0, const int N1) {
70 }
71}
static Number< 2 > N2
static Number< 1 > N1
static Number< 0 > N0
const double T
Tensors class implemented by Walter Landry.
Definition: FTensor.hpp:51
U & permute_ref(const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
Definition: permute.hpp:66
U permute(const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
Definition: permute.hpp:11
constexpr AssemblyType A
U eval(const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &rhs, const int N0, const int N1)
U & eval_ref(const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &rhs, const int N0, const int N1)
U eval(const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor4_Expr< B, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)