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; }
void testDestructors() { OwningVector v; v.push_back(malloc(4)); // no leak warning; freed in destructor }