Rheolef  7.1
an efficient C++ finite element environment
gauss_chebyschev_check.icc
Go to the documentation of this file.
1 #include "rheolef/compiler.h"
22 #include "rheolef/gauss_chebyschev.h"
23 #include <iterator>
24 template <class Iterator1, class Iterator2, class Size>
25 typename std::iterator_traits<Iterator1>::value_type
26 gauss_chebyschev_check (Size R, Iterator1 zeta, Iterator2 omega,
27  Size R_e, Iterator1 zeta_e, Iterator2 omega_e,
28  Size order) {
29  typedef typename std::iterator_traits<Iterator1>::value_type T;
30  T error = 0;
31  for (Size k = 0; k <= order; k++) {
32  T exact = 0, value = 0;
33  for (Size r = 0; r < R_e; r++)
34  exact += pow (zeta_e[r], k)*omega_e[r];
35  for (Size r = 0; r < R; r++)
36  value += pow (zeta[r], k)*omega[r];
37  error = std::max(error, fabs (exact - value));
38  }
39  return error;
40 }
mkgeo_ball.order
order
Definition: mkgeo_ball.sh:343
rheolef::pow
space_mult_list< T, M > pow(const space_basic< T, M > &X, size_t n)
Definition: space_mult.h:120
gauss_chebyschev_check
std::iterator_traits< Iterator1 >::value_type gauss_chebyschev_check(Size R, Iterator1 zeta, Iterator2 omega, Size R_e, Iterator1 zeta_e, Iterator2 omega_e, Size order)
Definition: gauss_chebyschev_check.icc:26
T
Expr1::float_type T
Definition: field_expr.h:261