Changeset 2ecec2 in git
- Timestamp:
- Jul 9, 2009, 11:59:10 AM (14 years ago)
- Branches:
- (u'spielwiese', 'f6c3dc58b0df4bd712574325fe76d0626174ad97')
- Children:
- 10d98ca491df1a1d43ab35a4fc0cdf32bed31019
- Parents:
- e44367a0d9873cda8ae1ea9e24d543de7766e7aa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/gfan.cc
re44367 r2ecec2 2 2 Compute the Groebner fan of an ideal 3 3 $Author: monerjan $ 4 $Date: 2009-07-0 8 09:57:52$5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.7 3 2009-07-08 09:57:52monerjan Exp $6 $Id: gfan.cc,v 1.7 3 2009-07-08 09:57:52monerjan Exp $4 $Date: 2009-07-09 09:59:10 $ 5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.74 2009-07-09 09:59:10 monerjan Exp $ 6 $Id: gfan.cc,v 1.74 2009-07-09 09:59:10 monerjan Exp $ 7 7 */ 8 8 … … 456 456 } 457 457 458 intvec *iv = new intvec(this->numVars);458 intvec *iv;// = new intvec(this->numVars); 459 459 460 460 //while (f->next!=NULL) … … 473 473 facet *fAct; 474 474 fAct = &f; 475 intvec *n = new intvec(this->numVars);475 intvec *n;// = new intvec(this->numVars); 476 476 cout << endl; 477 477 while(fAct!=NULL) … … 1685 1685 we must not memcpy them before these ops! 1686 1686 */ 1687 intvec *fNormal;// = new intvec(this->numVars); 1688 intvec *f2Normal;// = new intvec(this->numVars); 1689 facet *codim2Act; codim2Act = NULL; 1690 facet *sl2Root; //sl2Root = new facet(2); 1691 facet *sl2Act; //sl2Act = sl2Root; 1687 1692 1688 1693 for(int ii=0;ii<this->numFacets;ii++) 1689 1694 { 1695 fNormal = fAct->getFacetNormal(); 1690 1696 if(ii==0) 1691 1697 { 1692 1698 //facet *SearchListRoot = new facet(); 1693 1699 SearchListAct = SearchListRoot; 1694 memcpy(SearchListAct,fAct,sizeof(facet));1700 //memcpy(SearchListAct,fAct,sizeof(facet)); 1695 1701 } 1696 1702 else … … 1698 1704 SearchListAct->next = new facet(); 1699 1705 SearchListAct = SearchListAct->next; 1700 memcpy(SearchListAct,fAct,sizeof(facet));1706 //memcpy(SearchListAct,fAct,sizeof(facet)); 1701 1707 } 1708 SearchListAct->setFacetNormal(fNormal); 1709 SearchListAct->setUCN(this->getUCN()); 1710 SearchListAct->numCodim2Facets=fAct->numCodim2Facets; 1711 1712 //Copy codim2-facets 1713 codim2Act=fAct->codim2Ptr; 1714 SearchListAct->codim2Ptr = new facet(2); 1715 sl2Root = SearchListAct->codim2Ptr; 1716 sl2Act = sl2Root; 1717 //while(codim2Act!=NULL) 1718 for(int jj=0;jj<fAct->numCodim2Facets;jj++) 1719 { 1720 f2Normal = codim2Act->getFacetNormal(); 1721 if(jj==0) 1722 { 1723 sl2Act = sl2Root; 1724 sl2Act->setFacetNormal(f2Normal); 1725 } 1726 else 1727 { 1728 sl2Act->next = new facet(2); 1729 sl2Act = sl2Act->next; 1730 sl2Act->setFacetNormal(f2Normal); 1731 } 1732 codim2Act = codim2Act->next; 1733 } 1702 1734 fAct = fAct->next; 1703 } 1735 } 1704 1736 1705 1737 SearchListAct = SearchListRoot; //Set to beginning of list … … 1941 1973 slEndStatic = slEnd; 1942 1974 /*1st step: compare facetNormals*/ 1943 intvec *fNormal = new intvec(this->numVars); 1944 intvec *f2Normal = new intvec(this->numVars); 1945 intvec *slNormal = new intvec(this->numVars); 1946 intvec *sl2Normal = new intvec(this->numVars); 1947 1948 // while(fAct!=NULL) 1949 // { 1950 // doNotAdd=TRUE; 1951 // fNormal = fAct->getFacetNormal(); 1952 // slAct = slHead; //return to start of list 1953 // codim2Act = fAct->codim2Ptr; 1954 // while(slAct!=slEndStatic->next) 1955 // { 1956 // slNormal = slAct->getFacetNormal(); 1957 // /*If the normals are parallel we check whether the 1958 // codim-2-normals coincide as well*/ 1959 // if(isParallel(fNormal,slNormal)) 1960 // { 1961 // //NOTE check codim2facets here 1962 // codim2Act = fAct->codim2Ptr; 1963 1964 // while(codim2Act!=NULL) 1965 // { 1966 // f2Normal = codim2Act->getFacetNormal(); 1967 // sl2Act = f.codim2Ptr; 1968 // while(sl2Act!=NULL) 1969 // { 1970 // sl2Normal = sl2Act->getFacetNormal(); 1971 // if( !(areEqual(f2Normal,sl2Normal))) 1972 // { 1973 // doNotAdd=FALSE; 1974 // break; 1975 // 1976 // } 1977 // else 1978 // { 1979 // sl2Act = sl2Act->next; 1980 // codim2Act = codim2Act->next; 1981 // } 1982 // } 1983 // if(doNotAdd==FALSE) 1984 // break; 1985 // //codim2Act = codim2Act->next; 1986 // } 1987 // if(doNotAdd==TRUE) 1988 // { /*dequeue slAct*/ 1989 // if(slAct->prev==NULL && slHead!=NULL) 1990 // { 1991 // slHead = slAct->next; 1992 // slHead->prev = NULL; 1993 // } 1994 // else 1995 // { 1996 // slAct->prev->next = slAct->next; 1997 // } 1998 // //NOTE Memory leak above! 1999 // break; 2000 // } 2001 //////////// 2002 // while(codim2Act!=NULL) 2003 // { 2004 // f2Normal = codim2Act->getFacetNormal(); 2005 // sl2Act = f.codim2Ptr; 2006 // while(sl2Act!=NULL) 2007 // { 2008 // sl2Normal = sl2Act->getFacetNormal(); 2009 // if(areEqual(f2Normal,sl2Normal)) 2010 // { 2011 // ctr++; 2012 // break; 2013 // } 2014 // sl2Act = sl2Act->next; 2015 // } 2016 // codim2Act = codim2Act->next; 2017 // } 2018 // if(ctr!=(this->numVars)-1) 2019 // { 2020 // doNotAdd=FALSE; 2021 // break; 2022 // } 2023 // else 2024 // { 2025 // if(slAct->prev==NULL && slHead!=NULL) 2026 // { 2027 // slHead = slAct->next; 2028 // slHead->prev = NULL; 2029 // } 2030 // else 2031 // { 2032 // slAct->prev->next = slAct->next; 2033 // } 2034 // } 2035 // //slAct = slAct->next; 2036 // } 2037 // else 2038 // { 2039 // doNotAdd=FALSE; 2040 // break; 2041 // } 2042 // slAct = slAct->next; 2043 // 2044 // //if(doNotAdd==FALSE) 2045 // // break; 2046 // }//while(slAct!=slEndStatic->next) 2047 // if(doNotAdd==FALSE) 2048 // { 2049 // slEnd->next = new facet(); 2050 // slEnd = slEnd->next; 2051 // slEnd->setUCN(this->getUCN()); 2052 // slEnd->setFacetNormal(fNormal); 2053 // } 2054 // fAct = fAct->next; 2055 // } 1975 intvec *fNormal; //= new intvec(this->numVars); 1976 intvec *f2Normal; //= new intvec(this->numVars); 1977 intvec *slNormal; //= new intvec(this->numVars); 1978 intvec *sl2Normal; //= new intvec(this->numVars); 1979 2056 1980 while(fAct!=NULL) 2057 1981 { … … 2140 2064 slEnd->prev = marker; 2141 2065 //Copy codim2-facets 2142 intvec *f2Normal = new intvec(this->numVars);2066 intvec *f2Normal;// = new intvec(this->numVars); 2143 2067 while(f2Act!=NULL) 2144 2068 { … … 2159 2083 f2Act = f2Act->next; 2160 2084 } 2161 delete f2Normal; 2085 lengthOfSearchList++; 2086 //delete f2Normal; 2162 2087 2163 2088 }
Note: See TracChangeset
for help on using the changeset viewer.