Changeset e543dd in git
- Timestamp:
- Apr 6, 2011, 5:26:53 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 6f1774bebfc5b4528c0d9586e216b4160d0dc8a8
- Parents:
- f6bfc4760c37e57e10254840047f2c962b9566bb
- Location:
- gfanlib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
gfanlib/gfanlib_polyhedralfan.cpp
rf6bfc4 re543dd 308 308 * which causes the ordering in which the different orbits appear to change. 309 309 */ 310 311 310 if(cones.empty())return ZMatrix(0,n); 312 311 ZMatrix generatorsOfLinealitySpace=cones.begin()->generatorsOfLinealitySpace();//all cones have the same lineality space 312 313 313 314 314 std::set<ZVector> rays;//(this->getAmbientDimension()); … … 317 317 { 318 318 ZMatrix temp=i->extremeRays(&generatorsOfLinealitySpace); 319 std::cerr<<temp;319 // std::cerr<<temp; 320 320 for(int j=0;j<temp.getHeight();j++) 321 321 rays.insert(symmetries.orbitRepresentative(temp[j])); … … 490 490 491 491 ZMatrix generatorsOfLinealitySpace=cones.empty()?ZMatrix::identity(getAmbientDimension()):cones.begin()->generatorsOfLinealitySpace(); 492 std::cerr<<generatorsOfLinealitySpace;493 492 SymmetricComplex symCom(rays,generatorsOfLinealitySpace,symmetries); 494 495 493 496 494 for(PolyhedralConeList::const_iterator i=cones.begin();i!=cones.end();i++) … … 508 506 symCom.remap(); 509 507 // log1 cerr<<"Done remapping"; 508 510 509 return symCom; 511 510 } -
gfanlib/gfanlib_symmetry.h
rf6bfc4 re543dd 27 27 static bool isPermutation(IntVector const &a); 28 28 /** 29 * Returns true if all rows of the matrix are pemutations29 * Returns true if all rows of the matrix contains the elements 0 up to m.getWidth()-1. 30 30 */ 31 31 static bool arePermutations(IntMatrix const &m); … … 102 102 103 103 class SymmetryGroup{ 104 // unsigned char *byteTable;105 104 int byteTableHeight; 106 105 class Trie *trie; … … 142 141 143 142 // Methods for highly optimized symmetry group computations: 144 // void createByteTable();//Can only be called once. SymmetryGroup is not allowed to be changed afterwards or to be copied. Leaks memory at destruction.145 143 void createTrie(); 146 // unsigned char *getByteTable()const;147 // int getByteTableHeight()const;148 144 }; 149 145 /** -
gfanlib/gfanlib_zcone.cpp
rf6bfc4 re543dd 413 413 set_addelem(A->linset,i+1); 414 414 415 A->objective -dd_LPmax;415 A->objective=dd_LPmax; 416 416 lp=dd_Matrix2LP(A, &err); 417 417 if (err!=dd_NoError) goto _L99; … … 717 717 equations=QToZMatrixPrimitive(equations2); 718 718 } 719 state=s; 719 if(state<s) 720 state=s; 720 721 } 721 722 -
gfanlib/gfanlib_zcone.h
rf6bfc4 re543dd 90 90 }; 91 91 92 class ZCone; 93 ZCone intersection(const ZCone &a, const ZCone &b); 92 94 class ZCone 93 95 { … … 349 351 friend std::ostream &operator<<(std::ostream &f, ZCone const &c); 350 352 }; 351 ZCone intersection(const ZCone &a, const ZCone &b); 353 352 354 }; 353 355 -
gfanlib/gfanlib_zfan.cpp
rf6bfc4 re543dd 57 57 assert(coneCollection); 58 58 complex = new SymmetricComplex(coneCollection->toSymmetricComplex()); 59 std::cerr<<"D"<<std::endl;60 59 complex->buildConeLists(false,false,&cones); 61 std::cerr<<"D"<<std::endl;62 60 complex->buildConeLists(true,false,&maximalCones); 63 std::cerr<<"D"<<std::endl;64 61 complex->buildConeLists(false,true,&coneOrbits); 65 std::cerr<<"D"<<std::endl;66 62 complex->buildConeLists(true,true,&maximalConeOrbits); 67 std::cerr<<"D"<<std::endl; 68 } 69 } 63 } 64 } 65 void ZFan::killComplex()const 66 { 67 if(complex) 68 { 69 delete complex; 70 complex=0; 71 } 72 } 73 70 74 ZFan::ZFan(std::istream &f): 71 75 coneCollection(0), … … 213 217 if(this!=&f) 214 218 { 215 std::cerr<<"COPYING\n";216 219 if(complex) 217 220 { … … 219 222 complex=0; 220 223 } 221 std::cerr<<"1COPYING\n";222 224 if(coneCollection) 223 225 { … … 225 227 coneCollection=0; 226 228 } 227 std::cerr<<"2COPYING\n";228 229 if(f.coneCollection) 229 230 { 230 231 coneCollection=new PolyhedralFan(*f.coneCollection); 231 232 } 232 std::cerr<<"3COPYING\n";233 233 if(f.complex) 234 234 { 235 235 complex=new SymmetricComplex(*f.complex); 236 236 } 237 std::cerr<<"DONE COPYING\n";238 237 } 239 238 return *this; … … 273 272 { 274 273 ensureConeCollection(); 274 killComplex(); 275 275 coneCollection->insert(c); 276 276 } … … 291 291 { 292 292 ensureComplex(); 293 294 // std::string s=complex->toString(flags); 295 // killComplex(); 296 // return s;//complex->getMinDim(),complex->getMaxDim(),0,0); 293 297 return complex->toString(flags);//complex->getMinDim(),complex->getMaxDim(),0,0); 294 298 // return "NEEDTOFIXTHIS"; -
gfanlib/gfanlib_zfan.h
rf6bfc4 re543dd 58 58 void ensureConeCollection()const; 59 59 void ensureComplex()const; 60 void killComplex()const; 60 61 std::vector<std::vector<IntVector> > &table(bool orbit, bool maximal)const; 61 62 public:
Note: See TracChangeset
for help on using the changeset viewer.