47 template<
unsigned int Precision>
53 template<
unsigned int Precision>
60 template<
unsigned int Precision>
70 template<
unsigned int Precision>
77 template<
unsigned int Precision>
87 template<
unsigned int Precision>
94 template<
unsigned int Precision>
100 template<
unsigned int Precision>
107 template<
unsigned int Precision>
117 template<
unsigned int Precision>
124 template<
unsigned int Precision>
134 template<
unsigned int Precision>
193 template<
unsigned int Precision>
223 tauq.setbounds(0, n-1);
224 taup.setbounds(0, n-1);
228 tauq.setbounds(0,
m-1);
229 taup.setbounds(0,
m-1);
237 for(
i=0;
i<=n-1;
i++)
244 reflections::generatereflection<Precision>(t,
m-
i,
ltau);
252 reflections::applyreflectionfromtheleft<Precision>(a,
ltau, t,
i,
m-1,
i+1, n-1,
work);
261 reflections::generatereflection<Precision>(t, n-1-
i,
ltau);
269 reflections::applyreflectionfromtheright<Precision>(a,
ltau, t,
i+1,
m-1,
i+1, n-1,
work);
283 for(
i=0;
i<=
m-1;
i++)
290 reflections::generatereflection<Precision>(t, n-
i,
ltau);
298 reflections::applyreflectionfromtheright<Precision>(a,
ltau, t,
i+1,
m-1,
i, n-1,
work);
307 reflections::generatereflection<Precision>(t,
m-1-
i,
ltau);
315 reflections::applyreflectionfromtheleft<Precision>(a,
ltau, t,
i+1,
m-1,
i+1, n-1,
work);
347 template<
unsigned int Precision>
370 for(
i=0;
i<=
m-1;
i++)
421 template<
unsigned int Precision>
491 reflections::applyreflectionfromtheright<Precision>(z,
tauq(
i),
v, 0,
zrows-1,
i,
m-1,
work);
539 reflections::applyreflectionfromtheright<Precision>(z,
tauq(
i),
v, 0,
zrows-1,
i+1,
m-1,
work);
543 reflections::applyreflectionfromtheleft<Precision>(z,
tauq(
i),
v,
i+1,
m-1, 0,
zcolumns-1,
work);
574 template<
unsigned int Precision>
588 if(
m==0 || n==0 ||
ptrows==0 )
599 for(
j=0;
j<=n-1;
j++)
648 template<
unsigned int Precision>
722 reflections::applyreflectionfromtheright<Precision>(z,
taup(
i),
v, 0,
zrows-1,
i+1, n-1,
work);
726 reflections::applyreflectionfromtheleft<Precision>(z,
taup(
i),
v,
i+1, n-1, 0,
zcolumns-1,
work);
769 reflections::applyreflectionfromtheright<Precision>(z,
taup(
i),
v, 0,
zrows-1,
i, n-1,
work);
773 reflections::applyreflectionfromtheleft<Precision>(z,
taup(
i),
v,
i, n-1, 0,
zcolumns-1,
work);
804 template<
unsigned int Precision>
824 for(
i=0;
i<=n-2;
i++)
835 for(
i=0;
i<=
m-2;
i++)
849 template<
unsigned int Precision>
889 reflections::generatereflection<Precision>(t,
mmip1,
ltau);
897 reflections::applyreflectionfromtheleft<Precision>(a,
ltau, t,
i,
m,
i+1, n,
work);
908 reflections::generatereflection<Precision>(t,
nmi,
ltau);
916 reflections::applyreflectionfromtheright<Precision>(a,
ltau, t,
i+1,
m,
i+1, n,
work);
938 reflections::generatereflection<Precision>(t,
nmip1,
ltau);
946 reflections::applyreflectionfromtheright<Precision>(a,
ltau, t,
i+1,
m,
i, n,
work);
957 reflections::generatereflection<Precision>(t,
mmi,
ltau);
965 reflections::applyreflectionfromtheleft<Precision>(a,
ltau, t,
i+1,
m,
i+1, n,
work);
980 template<
unsigned int Precision>
1054 template<
unsigned int Precision>
1127 reflections::applyreflectionfromtheright<Precision>(z,
tauq(
i),
v, 1,
zrows,
i,
m,
work);
1177 reflections::applyreflectionfromtheright<Precision>(z,
tauq(
i),
v, 1,
zrows,
i+1,
m,
work);
1195 template<
unsigned int Precision>
1212 if(
m==0 || n==0 ||
ptrows==0 )
1249 reflections::applyreflectionfromtheright<Precision>(
pt,
taup(
i),
v, 1,
ptrows,
i+1, n,
work);
1259 reflections::applyreflectionfromtheright<Precision>(
pt,
taup(
i),
v, 1,
ptrows,
i, n,
work);
1269 template<
unsigned int Precision>
1347 reflections::applyreflectionfromtheright<Precision>(z,
taup(
i),
v, 1,
zrows,
i+1, n,
work);
1351 reflections::applyreflectionfromtheleft<Precision>(z,
taup(
i),
v,
i+1, n, 1,
zcolumns,
work);
1395 reflections::applyreflectionfromtheright<Precision>(z,
taup(
i),
v, 1,
zrows,
i, n,
work);
1399 reflections::applyreflectionfromtheleft<Precision>(z,
taup(
i),
v,
i, n, 1,
zcolumns,
work);
1412 template<
unsigned int Precision>
1432 for(
i=1;
i<=n-1;
i++)
1443 for(
i=1;
i<=
m-1;
i++)
static void make_assertion(bool bClause)
raw_vector< T > getvector(int iStart, int iEnd)
void setbounds(int iLow, int iHigh)
const Variable & v
< [in] a sqrfree bivariate poly
int maxint(int m1, int m2)
void vmove(raw_vector< T > vdst, const_raw_vector< T > vsrc)
int minint(int m1, int m2)
void unpackptfrombidiagonal(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, int ptrows, ap::template_2d_array< amp::ampf< Precision > > &pt)
void multiplybyqfrombidiagonal(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
void rmatrixbdunpackpt(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, int ptrows, ap::template_2d_array< amp::ampf< Precision > > &pt)
void unpackqfrombidiagonal(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
void rmatrixbdunpackq(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
void rmatrixbdmultiplybyq(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
void unpackdiagonalsfrombidiagonal(const ap::template_2d_array< amp::ampf< Precision > > &b, int m, int n, bool &isupper, ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > &e)
void rmatrixbdunpackdiagonals(const ap::template_2d_array< amp::ampf< Precision > > &b, int m, int n, bool &isupper, ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > &e)
void tobidiagonal(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_1d_array< amp::ampf< Precision > > &taup)
void rmatrixbd(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_1d_array< amp::ampf< Precision > > &taup)
void rmatrixbdmultiplybyp(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
void multiplybypfrombidiagonal(const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)