v0.5.86
Tensor2_constructor.hpp
Go to the documentation of this file.
1 /* A helper class that allows simple initialization of the Tensor2,
2  but only if it has the correct number of elements. There are
3  specializations for column-major and row-major orderings. */
4 
5 template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
7 
8 /* Column major versions */
9 
10 template<class T>
12 {
13 public:
14  Tensor2_constructor(T data[2][2],T d00,T d01,T d10,T d11)
15  {
16  data[0][0]=d00;
17  data[0][1]=d01;
18  data[1][0]=d10;
19  data[1][1]=d11;
20  }
21 };
22 
23 template<class T>
25 {
26 public:
27  Tensor2_constructor(T data[3][2],T d00, T d01, T d10, T d11,
28  T d20, T d21)
29  {
30  data[0][0]=d00;
31  data[0][1]=d01;
32  data[1][0]=d10;
33  data[1][1]=d11;
34  data[2][0]=d20;
35  data[2][1]=d21;
36  }
37 };
38 
39 template<class T>
41 {
42 public:
43  Tensor2_constructor(T data[3][3],T d00, T d01, T d02, T d10, T d11, T d12,
44  T d20, T d21, T d22)
45  {
46  data[0][0]=d00;
47  data[0][1]=d01;
48  data[0][2]=d02;
49  data[1][0]=d10;
50  data[1][1]=d11;
51  data[1][2]=d12;
52  data[2][0]=d20;
53  data[2][1]=d21;
54  data[2][2]=d22;
55  }
56 };
57 
58 template<class T>
60 {
61 public:
62  Tensor2_constructor(T data[4][4], T d00, T d01, T d02, T d03, T d10, T d11,
63  T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31,
64  T d32, T d33)
65  {
66  data[0][0]=d00;
67  data[0][1]=d01;
68  data[0][2]=d02;
69  data[0][3]=d03;
70  data[1][0]=d10;
71  data[1][1]=d11;
72  data[1][2]=d12;
73  data[1][3]=d13;
74  data[2][0]=d20;
75  data[2][1]=d21;
76  data[2][2]=d22;
77  data[2][3]=d23;
78  data[3][0]=d30;
79  data[3][1]=d31;
80  data[3][2]=d32;
81  data[3][3]=d33;
82  }
83 };
84 
85 /* Row major versions */
86 
87 template<class T>
89 {
90 public:
91  Tensor2_constructor(T data[2][2],T d00,T d01,T d10,T d11)
92  {
93  data[0][0]=d00;
94  data[1][0]=d01;
95  data[0][1]=d10;
96  data[1][1]=d11;
97  }
98 };
99 
100 template<class T>
102 {
103 public:
104  Tensor2_constructor(T data[2][3],T d00, T d01, T d10, T d11,
105  T d20, T d21)
106  {
107  data[0][0]=d00;
108  data[1][0]=d01;
109  data[0][1]=d10;
110  data[1][1]=d11;
111  data[0][2]=d20;
112  data[1][2]=d21;
113  }
114 };
115 
116 template<class T>
118 {
119 public:
120  Tensor2_constructor(T data[3][3],T d00, T d01, T d02, T d10, T d11, T d12,
121  T d20, T d21, T d22)
122  {
123  data[0][0]=d00;
124  data[1][0]=d01;
125  data[2][0]=d02;
126  data[0][1]=d10;
127  data[1][1]=d11;
128  data[2][1]=d12;
129  data[0][2]=d20;
130  data[1][2]=d21;
131  data[2][2]=d22;
132  }
133 };
134 
135 template<class T>
137 {
138 public:
139  Tensor2_constructor(T data[4][4], T d00, T d01, T d02, T d03, T d10, T d11,
140  T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31,
141  T d32, T d33)
142  {
143  data[0][0]=d00;
144  data[1][0]=d01;
145  data[2][0]=d02;
146  data[3][0]=d03;
147  data[0][1]=d10;
148  data[1][1]=d11;
149  data[2][1]=d12;
150  data[3][1]=d13;
151  data[0][2]=d20;
152  data[1][2]=d21;
153  data[2][2]=d22;
154  data[3][2]=d23;
155  data[0][3]=d30;
156  data[1][3]=d31;
157  data[2][3]=d32;
158  data[3][3]=d33;
159  }
160 };
Tensor2_constructor(T data[2][2], T d00, T d01, T d10, T d11)
Tensor2_constructor(T data[4][4], T d00, T d01, T d02, T d03, T d10, T d11, T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31, T d32, T d33)
Tensor2_constructor(T data[2][3], T d00, T d01, T d10, T d11, T d20, T d21)
Tensor2_constructor(T data[3][3], T d00, T d01, T d02, T d10, T d11, T d12, T d20, T d21, T d22)
Tensor2_constructor(T data[4][4], T d00, T d01, T d02, T d03, T d10, T d11, T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31, T d32, T d33)
Tensor2_constructor(T data[2][2], T d00, T d01, T d10, T d11)
Tensor2_constructor(T data[3][3], T d00, T d01, T d02, T d10, T d11, T d12, T d20, T d21, T d22)
Tensor2_constructor(T data[3][2], T d00, T d01, T d10, T d11, T d20, T d21)