Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
gauss_chebyschev_check.icc
Go to the documentation of this file.
1
21#include "rheolef/compiler.h"
22#include "rheolef/gauss_chebyschev.h"
23#include <iterator>
24template <class Iterator1, class Iterator2, class Size>
25typename std::iterator_traits<Iterator1>::value_type
26gauss_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}
Expr1::float_type T
Definition field_expr.h:230
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)