40 #ifdef DEBUG_LinearGridInterpolator3D 44 cout <<
"LinearGridInterpolator3D called with a,b,c " <<
a <<
"," <<
b <<
"," <<
c << endl;
45 cout <<
" i,j,k = " <<
i <<
"," <<
j <<
"," <<
k <<
" s,t,u = " <<
s <<
"," <<
t <<
"," << u << endl;
48 cout <<
"Node positions for " <<
i + 1 <<
"," <<
j + 1 <<
"," <<
k + 1 <<
" : " <<
grida.
node(
i + 1) <<
"," 50 cout <<
"Grid(" <<
i <<
"," <<
j <<
"," <<
k <<
") = " <<
grid(
i,
j,
k) <<
" ";
51 cout <<
"Grid(" <<
i <<
"," <<
j <<
"," <<
k + 1 <<
") = " <<
grid(
i,
j,
k + 1) << endl;
52 cout <<
"Grid(" <<
i <<
"," <<
j + 1 <<
"," <<
k <<
") = " <<
grid(
i,
j + 1,
k) <<
" ";
53 cout <<
"Grid(" <<
i <<
"," <<
j + 1 <<
"," <<
k + 1 <<
") = " <<
grid(
i,
j + 1,
k + 1) << endl;
54 cout <<
"Grid(" <<
i + 1 <<
"," <<
j <<
"," <<
k <<
") = " <<
grid(
i + 1,
j,
k) <<
" ";
55 cout <<
"Grid(" <<
i + 1 <<
"," <<
j <<
"," <<
k + 1 <<
") = " <<
grid(
i + 1,
j,
k + 1) << endl;
56 cout <<
"Grid(" <<
i + 1 <<
"," <<
j + 1 <<
"," <<
k <<
") = " <<
grid(
i + 1,
j + 1,
k) <<
" ";
57 cout <<
"Grid(" <<
i + 1 <<
"," <<
j + 1 <<
"," <<
k + 1 <<
") = " <<
grid(
i + 1,
j + 1,
k + 1) << endl;
75 #if defined(CMS_TEST_RAWSSE) 78 _mm_mul_ps(_mm_set1_ps((1.
f -
s) * (1.
f -
t) * u), _mm_sub_ps(
grid(ind + s3).
v.vec,
grid(ind).
v.vec));
79 resultSIMD = _mm_add_ps(
81 _mm_mul_ps(_mm_set1_ps((1.
f -
s) *
t * u), _mm_sub_ps(
grid(ind + s2 + s3).
v.vec,
grid(ind + s2).
v.vec)));
82 resultSIMD = _mm_add_ps(
84 _mm_mul_ps(_mm_set1_ps(
s * (1.
f -
t) * u), _mm_sub_ps(
grid(ind + s1 + s3).
v.vec,
grid(ind + s1).
v.vec)));
85 resultSIMD = _mm_add_ps(
87 _mm_mul_ps(_mm_set1_ps(
s *
t * u), _mm_sub_ps(
grid(ind + s1 + s2 + s3).
v.vec,
grid(ind + s1 + s2).
v.vec)));
89 _mm_add_ps(resultSIMD, _mm_mul_ps(_mm_set1_ps((1.
f -
s) *
t), _mm_sub_ps(
grid(ind + s2).
v.vec,
grid(ind).
v.vec)));
90 resultSIMD = _mm_add_ps(resultSIMD,
91 _mm_mul_ps(_mm_set1_ps(
s *
t), _mm_sub_ps(
grid(ind + s1 + s2).
v.vec,
grid(ind + s1).
v.vec)));
92 resultSIMD = _mm_add_ps(resultSIMD, _mm_mul_ps(_mm_set1_ps(
s), _mm_sub_ps(
grid(ind + s1).
v.vec,
grid(ind).
v.vec)));
93 resultSIMD = _mm_add_ps(resultSIMD,
grid(ind).
v.vec);
void throwGridInterpolator3DException(void)
void normalize(int &ind, Scalar &f) const
int index(Scalar a, Scalar &f) const
ReturnType interpolate(Scalar a, Scalar b, Scalar c)
int index(int i, int j, int k) const