46 template<
unsigned int Precision>
50 template<
unsigned int Precision>
59 template<
unsigned int Precision>
111 template<
unsigned int Precision>
141 mx = amp::maximum<Precision>(amp::abs<Precision>(
x(
j)), mx);
148 xnorm = xnorm+amp::sqr<Precision>(
x(
j)/mx);
150 xnorm = amp::sqrt<Precision>(xnorm)*mx;
165 mx = amp::maximum<Precision>(amp::abs<Precision>(
alpha), amp::abs<Precision>(xnorm));
166 beta = -mx*amp::sqrt<Precision>(amp::sqr<Precision>(
alpha/mx)+amp::sqr<Precision>(xnorm/mx));
206 template<
unsigned int Precision>
221 if(
tau==0 || n1>n2 || m1>m2 )
230 for(
i=n1;
i<=n2;
i++)
234 for(
i=m1;
i<=m2;
i++)
237 ap::vadd(work.getvector(n1, n2), c.getrow(
i, n1, n2), t);
243 for(
i=m1;
i<=m2;
i++)
246 ap::vsub(c.getrow(
i, n1, n2), work.getvector(n1, n2), t);
279 template<
unsigned int Precision>
294 if(
tau==0 || n1>n2 || m1>m2 )
303 for(
i=m1;
i<=m2;
i++)
312 for(
i=m1;
i<=m2;
i++)
315 ap::vsub(c.getrow(
i, n1, n2),
v.getvector(1, vm), t);
void tau(int **points, int sizePoints, int k)
const Variable & v
< [in] a sqrfree bivariate poly
T vdotproduct(const_raw_vector< T > v1, const_raw_vector< T > v2)
void vadd(raw_vector< T > vdst, const_raw_vector< T > vsrc)
void vmul(raw_vector< T > vdst, T2 alpha)
void vsub(raw_vector< T > vdst, const_raw_vector< T > vsrc)
void generatereflection(ap::template_1d_array< amp::ampf< Precision > > &x, int n, amp::ampf< Precision > &tau)
void applyreflectionfromtheright(ap::template_2d_array< amp::ampf< Precision > > &c, amp::ampf< Precision > tau, const ap::template_1d_array< amp::ampf< Precision > > &v, int m1, int m2, int n1, int n2, ap::template_1d_array< amp::ampf< Precision > > &work)
void applyreflectionfromtheleft(ap::template_2d_array< amp::ampf< Precision > > &c, amp::ampf< Precision > tau, const ap::template_1d_array< amp::ampf< Precision > > &v, int m1, int m2, int n1, int n2, ap::template_1d_array< amp::ampf< Precision > > &work)