72 int sizew = W.size1(), idxw = a1 * sizew + a2, sw = sizew * sizew;
73 int sizef = f.size1(), idxf = b1 * sizef + b2, sf = sizef * sizef;
76 assert(W.tstp() >= tstp);
77 assert(tstp == -1 || tstp >= SolveOrder);
78 assert(SolveOrder <= ntau);
79 assert(b1 >= 0 && b1 <= sizef-1);
80 assert(b2 >= 0 && b2 <= sizef-1);
81 assert(a1 >= 0 && a1 <= sizew-1);
82 assert(a2 >= 0 && a2 <= sizew-1);
85 response_integrate<T>(ntau, dtau, res, W.matptr(0), sw, idxw, integration::I<T>(SolveOrder));
86 cc = res * f.ptr(-1)[idxf];
88 response_integrate<T>(ntau, dtau, res, W.tvptr(0), sw, idxw, integration::I<T>(SolveOrder));
89 cc = res * (CPLX(0, -1.0) * f.ptr(-1)[idxf]);
90 response_integrate<T>(tstp, h, res, W.retptr(0), sw, idxw, f.ptr(0), sf, idxf,
91 integration::I<T>(SolveOrder));