16#ifndef IJK_Field_tools_TPP_H
17#define IJK_Field_tools_TPP_H
19template<
typename _TYPE_,
typename _TYPE_ARRAY_>
22 const int ni = residu.
ni();
23 const int nj = residu.
nj();
24 const int nk = residu.
nk();
26 for (
int k = 0; k < nk; k++)
29 for (
int j = 0; j < nj; j++)
32 for (
int i = 0; i < ni; i++)
34 double x = residu(i, j, k);
45template<
typename _TYPE_,
typename _TYPE_ARRAY_>
48 const int ni = x.
ni();
49 const int nj = x.
nj();
50 const int nk = x.
nk();
52 const _TYPE_ARRAY_& xd = x.
data();
53 const _TYPE_ARRAY_& yd = y.
data();
54 for (
int k = 0; k < nk; k++)
56 for (
int j = 0; j < nj; j++)
58 for (
int i = 0; i < ni; i++)
62 somme += xd[index] * yd[index];
70template<
typename _TYPE_,
typename _TYPE_ARRAY_>
73 const int ni = residu.
ni();
74 const int nj = residu.
nj();
75 const int nk = residu.
nk();
77 for (
int k = 0; k < nk; k++)
80 for (
int j = 0; j < nj; j++)
83 for (
int i = 0; i < ni; i++)
85 double x = residu(i, j, k);
96template<
typename _TYPE_,
typename _TYPE_ARRAY_>
99 const int ni = residu.
ni();
100 const int nj = residu.
nj();
101 const int nk = residu.
nk();
102 _TYPE_ res = (_TYPE_)-1.e30;
103 for (
int k = 0; k < nk; k++)
104 for (
int j = 0; j < nj; j++)
105 for (
int i = 0; i < ni; i++)
107 _TYPE_ x = residu(i,j,k);
108 res = std::max(x,res);
int linear_index(int i, int j, int k) const
: This class is an IJK_Field_local with parallel informations.
static double mp_max(double)
static double mp_sum(double)
Calcule la somme de x sur tous les processeurs du groupe courant.