Changeset 2ecec2 in git


Ignore:
Timestamp:
Jul 9, 2009, 11:59:10 AM (15 years ago)
Author:
Martin Monerjan
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
10d98ca491df1a1d43ab35a4fc0cdf32bed31019
Parents:
e44367a0d9873cda8ae1ea9e24d543de7766e7aa
Message:
Removed memcpy
cleanup
More fixing in enqueue


git-svn-id: file:///usr/local/Singular/svn/trunk@11965 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/gfan.cc

    re44367 r2ecec2  
    22Compute the Groebner fan of an ideal
    33$Author: monerjan $
    4 $Date: 2009-07-08 09:57:52 $
    5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.73 2009-07-08 09:57:52 monerjan Exp $
    6 $Id: gfan.cc,v 1.73 2009-07-08 09:57:52 monerjan 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 $
    77*/
    88
     
    456456                        }                       
    457457                       
    458                         intvec *iv = new intvec(this->numVars);
     458                        intvec *iv;// = new intvec(this->numVars);
    459459                       
    460460                        //while (f->next!=NULL)
     
    473473                        facet *fAct;
    474474                        fAct = &f;
    475                         intvec *n = new intvec(this->numVars);
     475                        intvec *n;// = new intvec(this->numVars);
    476476                        cout << endl;
    477477                        while(fAct!=NULL)
     
    16851685                        we must not memcpy them before these ops!
    16861686                        */
     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;
    16871692                       
    16881693                        for(int ii=0;ii<this->numFacets;ii++)
    16891694                        {
     1695                                fNormal = fAct->getFacetNormal();
    16901696                                if(ii==0)
    16911697                                {
    16921698                                        //facet *SearchListRoot = new facet();
    16931699                                        SearchListAct = SearchListRoot;
    1694                                         memcpy(SearchListAct,fAct,sizeof(facet));                                       
     1700                                        //memcpy(SearchListAct,fAct,sizeof(facet));                                     
    16951701                                }
    16961702                                else
     
    16981704                                        SearchListAct->next = new facet();
    16991705                                        SearchListAct = SearchListAct->next;
    1700                                         memcpy(SearchListAct,fAct,sizeof(facet));
     1706                                        //memcpy(SearchListAct,fAct,sizeof(facet));                             
    17011707                                }
     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                                }                                       
    17021734                                fAct = fAct->next;
    1703                         }                       
     1735                        }                              
    17041736                       
    17051737                        SearchListAct = SearchListRoot; //Set to beginning of list
     
    19411973                        slEndStatic = slEnd;
    19421974                        /*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                       
    20561980                        while(fAct!=NULL)
    20571981                        {
     
    21402064                                        slEnd->prev = marker;
    21412065                                        //Copy codim2-facets
    2142                                         intvec *f2Normal = new intvec(this->numVars);
     2066                                        intvec *f2Normal;// = new intvec(this->numVars);
    21432067                                        while(f2Act!=NULL)
    21442068                                        {
     
    21592083                                                f2Act = f2Act->next;
    21602084                                        }
    2161                                         delete f2Normal;
     2085                                        lengthOfSearchList++;
     2086                                        //delete f2Normal;
    21622087                                       
    21632088                                }
Note: See TracChangeset for help on using the changeset viewer.