11 #include "TrapFilter.hpp"
119 std::deque<double> cfd_res;
120 for (
unsigned int i=0; i<solver.npoints() && lead_filter<range.
end(); ++i) {
123 cfd_res.push_back((*lead_filter) - (*dely_filter)/pow(2.0,scale_factor+1));
131 while (lead_filter<range.
end()) {
133 cfd_res.push_back((*lead_filter) - (*dely_filter)/pow(2.0,scale_factor+1));
136 if (cfd_res.back() < 0) ++nneg;
140 if (nneg>=solver.npoints()-1)
break;
149 if (nneg!=solver.npoints()-1)
return CFDResult<T>();
153 double trig = solver(cfd_res);
154 int floortrig =
static_cast<int>(::floor(trig));
157 int n_from_end=
static_cast<int>(cfd_res.size())-floortrig;
158 TrIterator<T> trigit = lead_filter.max_extent()-n_from_end;
159 double frac = trig - floortrig;