77 Real am = std::pow(a,m+1), bm = std::pow(b,m+1);
79 Real val_cos = 0., val_sin = 0.;
80 for (
size_t k = 0; k < (m-1)/2; k++) {
81 val_cos += ((k%2==0) ? 1. : -1.)*
factorial(m)/(
factorial(m-2*k-1)*std::pow(omega,2+2*k))
82 *(std::pow(b,m-2*k-1)*std::cos(omega*b+phi)-std::pow(a,m-2*k-1)*std::cos(omega*a+phi));
84 for (
size_t k = 0; k < m/2; k++) {
86 *(std::pow(b,m-2*k)*std::sin(omega*b+phi)-std::pow(a,m-2*k)*std::sin(omega*a+phi));
88 return 0.5*((bm-am)/((Real)m+1) + val_cos + val_sin)/
var_;
99 void test(std::ostream &outStream = std::cout )
const {
101 std::vector<Real> X(size,0.);
102 std::vector<int> T(size,0);
103 X[0] =
mean_-
var_-4.*(Real)rand()/(Real)RAND_MAX;
111 X[4] =
mean_+
var_+4.*(Real)rand()/(Real)RAND_MAX;