1#ifndef SET_MATRIX4_FULL_H
2#define SET_MATRIX4_FULL_H
34 if (
uid==0 )
return data[0];
36 else if (
uid==8 ||
uid==4 ||
uid==2 ||
uid==1 )
return data[1];
40 else if (
uid==14 ||
uid==13 ||
uid==11 ||
uid==7 )
return data[3];
42 else if (
uid==15 )
return data[4];
50 if (
uid==0 )
return data[0];
52 else if (
uid==8 ||
uid==4 ||
uid==2 ||
uid==1 )
return data[1];
56 else if (
uid==14 ||
uid==13 ||
uid==11 ||
uid==7 )
return data[3];
58 else if (
uid==15 )
return data[4];
84 if (std::isnan(data[0]))
return true;
85 if (std::isnan(data[1]))
return true;
86 if (std::isnan(data[2]))
return true;
87 if (std::isnan(data[3]))
return true;
88 if (std::isnan(data[4]))
return true;
106 int uid =
i + 3*
j + 9*
k + 27*
l;
108 if (
uid==0 )
return data[0];
110 else if (
uid==27 ||
uid==9 ||
uid==3 ||
uid==1 )
return data[1];
112 else if (
uid==54 ||
uid==18 ||
uid==6 ||
uid==2 )
return data[2];
114 else if (
uid==36 ||
uid==30 ||
uid==12 ||
uid==28 ||
uid==10 ||
uid==4 )
return data[3];
118 else if (
uid==72 ||
uid==60 ||
uid==24 ||
uid==56 ||
uid==20 ||
uid==8 )
return data[5];
120 else if (
uid==39 ||
uid==37 ||
uid==31 ||
uid==13 )
return data[6];
126 else if (
uid==78 ||
uid==74 ||
uid==62 ||
uid==26 )
return data[9];
128 else if (
uid==40 )
return data[10];
130 else if (
uid==67 ||
uid==49 ||
uid==43 ||
uid==41 )
return data[11];
132 else if (
uid==76 ||
uid==70 ||
uid==52 ||
uid==68 ||
uid==50 ||
uid==44 )
return data[12];
134 else if (
uid==79 ||
uid==77 ||
uid==71 ||
uid==53 )
return data[13];
136 else if (
uid==80 )
return data[14];
142 int uid =
i + 3*
j + 9*
k + 27*
l;
144 if (
uid==0 )
return data[0];
146 else if (
uid==27 ||
uid==9 ||
uid==3 ||
uid==1 )
return data[1];
148 else if (
uid==54 ||
uid==18 ||
uid==6 ||
uid==2 )
return data[2];
150 else if (
uid==36 ||
uid==30 ||
uid==12 ||
uid==28 ||
uid==10 ||
uid==4 )
return data[3];
154 else if (
uid==72 ||
uid==60 ||
uid==24 ||
uid==56 ||
uid==20 ||
uid==8 )
return data[5];
156 else if (
uid==39 ||
uid==37 ||
uid==31 ||
uid==13 )
return data[6];
162 else if (
uid==78 ||
uid==74 ||
uid==62 ||
uid==26 )
return data[9];
164 else if (
uid==40 )
return data[10];
166 else if (
uid==67 ||
uid==49 ||
uid==43 ||
uid==41 )
return data[11];
168 else if (
uid==76 ||
uid==70 ||
uid==52 ||
uid==68 ||
uid==50 ||
uid==44 )
return data[12];
170 else if (
uid==79 ||
uid==77 ||
uid==71 ||
uid==53 )
return data[13];
172 else if (
uid==80 )
return data[14];
178 for (
int i = 0;
i < 14;
i++)
179 os <<
"i = " <<
i <<
" " << data[
i] << std::endl;
182 for (
int k = 0;
k < 3;
k++)
184 for (
int i = -1;
i < 4;
i++)
186 for (
int l = 0;
l < 3;
l++)
188 if (
i==-1)
os <<
"┌ ┐ ";
189 else if (
i == 3)
os <<
"└ ┘ ";
193 for (
int j = 0;
j < 3;
j++)
196 os << std::scientific << std::setw(11) << val ;
231 if (std::isnan(data[ 0]))
return true;
232 if (std::isnan(data[ 1]))
return true;
233 if (std::isnan(data[ 2]))
return true;
234 if (std::isnan(data[ 3]))
return true;
235 if (std::isnan(data[ 4]))
return true;
236 if (std::isnan(data[ 5]))
return true;
237 if (std::isnan(data[ 6]))
return true;
238 if (std::isnan(data[ 7]))
return true;
239 if (std::isnan(data[ 8]))
return true;
240 if (std::isnan(data[ 9]))
return true;
241 if (std::isnan(data[10]))
return true;
242 if (std::isnan(data[11]))
return true;
243 if (std::isnan(data[12]))
return true;
244 if (std::isnan(data[13]))
return true;
245 if (std::isnan(data[14]))
return true;
bool contains_nan() const
static Matrix4< 2, Sym::Full > Zero()
static Matrix4< 2, Sym::Full > Random()
AMREX_GPU_HOST_DEVICE Matrix4()
void Print(std::ostream &)
void Print(std::ostream &os)
static Matrix4< 3, Sym::Full > Zero()
AMREX_GPU_HOST_DEVICE Matrix4()
bool contains_nan() const
static Matrix4< 3, Sym::Full > Random()
static Matrix4< 3, Sym::Full > Increment()
A collection of data types and symmetry-reduced data structures.
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
std::ostream & operator<<(std::ostream &os, const Matrix4< dim, sym > &b)
void Abort(const char *msg)