1 template<
typename typPk,
typename typdump,
typename Base>
4 typedef typename typPk::value_type polyalp;
5 typedef typename polyalp::monom_t
mon;
6 typedef typename typdump::value_type
dumpstruct;
8 typename typPk::iterator iter=Pk.begin();
10 for(;iter!=Pk.end();iter++)
14 for(
typename polyalp::iterator itermon=iter->begin();
15 itermon!=iter->end();itermon++)
18 if (!
IsinB(*itermon,b))
33 tmp+=invconv<polyalp>(ttmp)*
mon(itermon->GetCoeff()/ttmp.
ind.
GetCoeff());
48 void reinit_multiple();
50 template<
typename T,
typename typdump,
typename Base>
53 typedef typename typdump::value_type::pol_t
pol;
54 typedef typename T::value_type polyalp;
55 typedef typename polyalp::monom_t
mon;
57 typename T::iterator iter=Crochet.begin();
64 for(;iter!=Crochet.end();iter++)
69 for(
typename polyalp::iterator iterpol=iter->begin();iterpol!=iter->end();iterpol++)
71 if (!
IsinB(*iterpol,b)) monared.push_back(*iterpol);
74 for(
typename list<mon>::iterator itermon=monared.begin();itermon!=monared.end();itermon++)
83 accumul.
nf=(coeff*)MAC_REV_MALLOC<coeff>(
sizeof(coeff));
86 for(
int j=0;
j<itermon->GetDegree(
i);
j++)
91 tmp=
mult(
i,accumul,dump,b,&exce,sizeex);
92 MAC_REV_FREE<coeff>(accumul.
nf,accumul.
size*
sizeof(coeff));
94 for(
int k=0;
k<sizeex-1;
k++)
96 MAC_REV_FREE<mon>(exce,sizeex*
sizeof(
mon));
104 result+=tmpmon*accumul.
nf[
k];
106 MAC_REV_FREE<coeff>(accumul.
nf,accumul.
size*
sizeof(coeff));
110 for(
int j=0;
j<itermon->GetDegree(
i);
j++)
115 for (
typename polyalp::iterator iterres=result.begin();
116 iterres!=result.end();iterres++)
118 if (!
IsinB(*iterres,b)) flag=1;
124 tmp.push_back(result);
133 for(
typename polyalp::iterator iterpol=iter->begin();
134 iterpol!=iter->end();iterpol++)
135 if ((itermon->rep)==(iterpol->rep))
137 Coeff=iterpol->GetCoeff();
141 *iter+=result*
mon(Coeff);
142 *iter-=polyalp(
mon((*itermon)*(coeff)(Coeff/itermon->GetCoeff())));
void proj(T &Crochet, const typdump &dump, const Base &b)
Definition: proj.hpp:51
C GetCoeff() const
Definition: Monom.hpp:67
void findcorresppol(const mon &m, const typdump &dump, pol &res)
Definition: corealgo.hpp:2031
typpol mult(int i, const typpol &pol, const typdump &dump, const Base &b, mon **exce, int &exsize)
Definition: corealgo.hpp:1077
void rewrite(typPk &Pk, const typdump &dump, const Base &b)
Definition: proj.hpp:2
long flag
Definition: alp_f2c.H:52
int nbvar()
Definition: types.hpp:37
MSKconetypee MSKrealt MSKint32t MSKint32t j
Definition: mosek.h:2421
void int2mon(const int &i, mon &res)
Definition: placemon.hpp:288
MSKint32t k
Definition: mosek.h:2713
C coeff_t
Definition: Monom.hpp:26
MPoly< R, O > Coeff(const MPoly< R, O > &P, int i)
Definition: MPolyFunction.hpp:66
int IsinB(const mon &m, const Base &b)
Definition: IsinB3.hpp:68
Mon mon
Definition: solver_bb_floating.cpp:136
MSKint32t MSKint32t MSKint32t i
Definition: mosek.h:2278
int Iszero(const Scl< MPQ > &c)
Definition: Iszero.hpp:14
int size
Definition: pol.hpp:10
cont< pol< mon, T > > Crochet(const cont< pol< mon, T > > &P, int k)
Definition: corealgo.hpp:6
#define pol
Definition: pol2ter.hpp:3
mon ind
Definition: pol.hpp:11
T * nf
Definition: pol.hpp:12