Esempio n. 1
0
void SpecificCompUniverseNoOrderPos<T>::addBorder()
{
    OwningVector<IPolynomial<T>*>* newElements = new OwningVector<IPolynomial<T>*>();
    for(uint i=0,end_i=U->size();i<end_i;i++) {
        Polynomial<T>* p = new Polynomial<T>(ICompUniverse<T>::indet);
        for(uint k=0,end_k=U->getIndet();k<end_k;k++) {
            IMonomial* m = U->at(i)->getMonomial()->copy();
            m = m->extend(k,1);

            bool excluded = false;
            for(uint i=0;i<ICompUniverse<T>::exclusions->size() && !excluded;i++) {
                excluded |= ICompUniverse<T>::exclusions->at(i)->divides(m);
                excluded |= (ICompUniverse<T>::exclusions->at(i)->compare(m)==0);
            }

            if(!excluded)
                p->push(new Term<T>(1,m));
            else
                m->del();
        }
        newElements->push_back(p);
    }
    ICompUniverse<T>::add(newElements);
    delete newElements;
}
Esempio n. 2
0
 void testDestructors() {
   OwningVector v;
   v.push_back(malloc(4));
   // no leak warning; freed in destructor
 }