Changeset 107986 in git
- Timestamp:
- Jul 25, 2008, 4:37:55 PM (15 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
- Children:
- 356960f1a09d63bc25ab2b04269bb1f6ce67fd28
- Parents:
- 7a6c062bb1546ba06ab19b759243b02e83b52197
- Location:
- kernel
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/kutil.cc
r7a6c06 r107986 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kutil.cc,v 1.10 2 2008-07-24 10:26:21Singular Exp $ */4 /* $Id: kutil.cc,v 1.103 2008-07-25 14:37:55 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: kernel: utils for kStd … … 159 159 if (pGetComp(p) == pGetComp(q)) 160 160 { 161 #ifdef HAVE_PLURAL 162 if (currRing->real_var_start>0) 163 { 164 if (_p_LmDivisibleByPart(p,currRing, 165 q,currRing, 166 currRing->real_var_start, currRing->real_var_end)) 167 return 0; 168 return pLmCmp(q,p); // ONLY FOR GLOBAL ORDER! 169 } 170 #endif 161 171 BOOLEAN a=FALSE, b=FALSE; 162 172 int i; … … 185 195 } 186 196 } 187 if (a) return 1; 188 if (b) return -1; 197 if (a) { /*assume(pLmCmp(q,p)==1);*/ return 1; } 198 if (b) { /*assume(pLmCmp(q,p)==-1);*/return -1; } 199 /*assume(pLmCmp(q,p)==0);*/ 189 200 } 190 201 return 0; … … 1914 1925 && (!pLmEqual(strat->L[i].p,strat->L[l].p)) 1915 1926 && pDivisibleBy(p,strat->L[l].lcm)) 1927 { 1928 /* 1929 *"NOT equal(...)" because in case of "equal" the element L[l] 1930 *is "older" and has to be from theoretical point of view behind 1931 *L[i], but we do not want to reorder L 1932 */ 1933 strat->L[i].p2 = strat->tail; 1934 /* 1935 *L[l] will be canceled, we cannot cancel L[i] later on, 1936 *so we mark it with "tail" 1937 */ 1938 deleteInL(strat->L,&strat->Ll,l,strat); 1939 i--; 1940 } 1941 else 1942 { 1943 deleteInL(strat->L,&strat->Ll,i,strat); 1944 } 1945 j--; 1946 } 1947 i--; 1948 } 1949 } 1950 else if (strat->L[j].p2 == strat->tail) 1951 { 1952 /*now L[j] cannot be canceled any more and the tail can be removed*/ 1953 strat->L[j].p2 = p; 1954 } 1955 j--; 1956 } 1957 } 1958 } 1959 void chainCritPart (poly p,int ecart,kStrategy strat) 1960 { 1961 int i,j,l; 1962 1963 /* 1964 *pairtest[i] is TRUE if spoly(S[i],p) == 0. 1965 *In this case all elements in B such 1966 *that their lcm is divisible by the leading term of S[i] can be canceled 1967 */ 1968 if (strat->pairtest!=NULL) 1969 { 1970 { 1971 /*- i.e. there is an i with pairtest[i]==TRUE -*/ 1972 for (j=0; j<=strat->sl; j++) 1973 { 1974 if (strat->pairtest[j]) 1975 { 1976 for (i=strat->Bl; i>=0; i--) 1977 { 1978 if (_p_LmDivisibleByPart(strat->S[j],currRing, 1979 strat->B[i].lcm,currRing, 1980 currRing->real_var_start,currRing->real_var_end)) 1981 { 1982 deleteInL(strat->B,&strat->Bl,i,strat); 1983 strat->c3++; 1984 } 1985 } 1986 } 1987 } 1988 } 1989 omFreeSize(strat->pairtest,(strat->sl+2)*sizeof(BOOLEAN)); 1990 strat->pairtest=NULL; 1991 } 1992 if (strat->Gebauer || strat->fromT) 1993 { 1994 if (strat->sugarCrit) 1995 { 1996 /* 1997 *suppose L[j] == (s,r) and p/lcm(s,r) 1998 *and lcm(s,r)#lcm(s,p) and lcm(s,r)#lcm(r,p) 1999 *and in case the sugar is o.k. then L[j] can be canceled 2000 */ 2001 for (j=strat->Ll; j>=0; j--) 2002 { 2003 if (sugarDivisibleBy(ecart,strat->L[j].ecart) 2004 && ((pNext(strat->L[j].p) == strat->tail) || (pOrdSgn==1)) 2005 && pCompareChainPart(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm)) 2006 { 2007 if (strat->L[j].p == strat->tail) 2008 { 2009 deleteInL(strat->L,&strat->Ll,j,strat); 2010 strat->c3++; 2011 } 2012 } 2013 } 2014 /* 2015 *this is GEBAUER-MOELLER: 2016 *in B all elements with the same lcm except the "best" 2017 *(i.e. the last one in B with this property) will be canceled 2018 */ 2019 j = strat->Bl; 2020 loop /*cannot be changed into a for !!! */ 2021 { 2022 if (j <= 0) break; 2023 i = j-1; 2024 loop 2025 { 2026 if (i < 0) break; 2027 if (pLmEqual(strat->B[j].lcm,strat->B[i].lcm)) 2028 { 2029 strat->c3++; 2030 if (sugarDivisibleBy(strat->B[j].ecart,strat->B[i].ecart)) 2031 { 2032 deleteInL(strat->B,&strat->Bl,i,strat); 2033 j--; 2034 } 2035 else 2036 { 2037 deleteInL(strat->B,&strat->Bl,j,strat); 2038 break; 2039 } 2040 } 2041 i--; 2042 } 2043 j--; 2044 } 2045 } 2046 else /*sugarCrit*/ 2047 { 2048 /* 2049 *suppose L[j] == (s,r) and p/lcm(s,r) 2050 *and lcm(s,r)#lcm(s,p) and lcm(s,r)#lcm(r,p) 2051 *and in case the sugar is o.k. then L[j] can be canceled 2052 */ 2053 for (j=strat->Ll; j>=0; j--) 2054 { 2055 if (pCompareChainPart(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm)) 2056 { 2057 if ((pNext(strat->L[j].p) == strat->tail)||(pOrdSgn==1)) 2058 { 2059 deleteInL(strat->L,&strat->Ll,j,strat); 2060 strat->c3++; 2061 } 2062 } 2063 } 2064 /* 2065 *this is GEBAUER-MOELLER: 2066 *in B all elements with the same lcm except the "best" 2067 *(i.e. the last one in B with this property) will be canceled 2068 */ 2069 j = strat->Bl; 2070 loop /*cannot be changed into a for !!! */ 2071 { 2072 if (j <= 0) break; 2073 for(i=j-1; i>=0; i--) 2074 { 2075 if (pLmEqual(strat->B[j].lcm,strat->B[i].lcm)) 2076 { 2077 strat->c3++; 2078 deleteInL(strat->B,&strat->Bl,i,strat); 2079 j--; 2080 } 2081 } 2082 j--; 2083 } 2084 } 2085 /* 2086 *the elements of B enter L/their order with respect to B is kept 2087 *j = posInL(L,j,B[i]) would permutate the order 2088 *if once B is ordered different from L 2089 *then one should use j = posInL(L,Ll,B[i]) 2090 */ 2091 j = strat->Ll+1; 2092 for (i=strat->Bl; i>=0; i--) 2093 { 2094 j = strat->posInL(strat->L,j-1,&(strat->B[i]),strat); 2095 enterL(&strat->L,&strat->Ll,&strat->Lmax,strat->B[i],j); 2096 } 2097 strat->Bl = -1; 2098 } 2099 else 2100 { 2101 for (j=strat->Ll; j>=0; j--) 2102 { 2103 if (pCompareChainPart(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm)) 2104 { 2105 if ((pNext(strat->L[j].p) == strat->tail)||(pOrdSgn==1)) 2106 { 2107 deleteInL(strat->L,&strat->Ll,j,strat); 2108 strat->c3++; 2109 } 2110 } 2111 } 2112 /* 2113 *this is our MODIFICATION of GEBAUER-MOELLER: 2114 *First the elements of B enter L, 2115 *then we fix a lcm and the "best" element in L 2116 *(i.e the last in L with this lcm and of type (s,p)) 2117 *and cancel all the other elements of type (r,p) with this lcm 2118 *except the case the element (s,r) has also the same lcm 2119 *and is on the worst position with respect to (s,p) and (r,p) 2120 */ 2121 /* 2122 *B enters to L/their order with respect to B is permutated for elements 2123 *B[i].p with the same leading term 2124 */ 2125 j = strat->Ll; 2126 for (i=strat->Bl; i>=0; i--) 2127 { 2128 j = strat->posInL(strat->L,j,&(strat->B[i]),strat); 2129 enterL(&strat->L,&strat->Ll,&strat->Lmax,strat->B[i],j); 2130 } 2131 strat->Bl = -1; 2132 j = strat->Ll; 2133 loop /*cannot be changed into a for !!! */ 2134 { 2135 if (j <= 0) 2136 { 2137 /*now L[0] cannot be canceled any more and the tail can be removed*/ 2138 if (strat->L[0].p2 == strat->tail) strat->L[0].p2 = p; 2139 break; 2140 } 2141 if (strat->L[j].p2 == p) 2142 { 2143 i = j-1; 2144 loop 2145 { 2146 if (i < 0) break; 2147 if ((strat->L[i].p2 == p) && pLmEqual(strat->L[j].lcm,strat->L[i].lcm)) 2148 { 2149 /*L[i] could be canceled but we search for a better one to cancel*/ 2150 strat->c3++; 2151 if (isInPairsetL(i-1,strat->L[j].p1,strat->L[i].p1,&l,strat) 2152 && (pNext(strat->L[l].p) == strat->tail) 2153 && (!pLmEqual(strat->L[i].p,strat->L[l].p)) 2154 && _p_LmDivisibleByPart(p,currRing, 2155 strat->L[l].lcm,currRing, 2156 currRing->real_var_start, currRing->real_var_end)) 2157 1916 2158 { 1917 2159 /* -
kernel/p_polys.cc
r7a6c06 r107986 7 7 * Author: obachman (Olaf Bachmann) 8 8 * Created: 8/00 9 * Version: $Id: p_polys.cc,v 1.1 2 2007-11-16 18:37:28Singular Exp $9 * Version: $Id: p_polys.cc,v 1.13 2008-07-25 14:37:55 Singular Exp $ 10 10 *******************************************************************/ 11 11 … … 230 230 * the ordering is compatible with degree, use a->order 231 231 */ 232 inline long _pDeg(poly a, ring r)232 inline long _pDeg(poly a, const ring r) 233 233 { 234 234 p_LmCheckPolyRing(a, r); … … 237 237 } 238 238 239 long pDeg(poly a, ring r)239 long pDeg(poly a, const ring r) 240 240 { 241 241 return _pDeg(a, r); … … 248 248 * the ordering is not compatible with degree so do not use p->Order 249 249 */ 250 inline long _pTotaldegree(poly p, ring r)250 inline long _pTotaldegree(poly p, const ring r) 251 251 { 252 252 p_LmCheckPolyRing(p, r); 253 253 return (long) p_ExpVectorQuerSum(p, r); 254 254 } 255 long pTotaldegree(poly p, ring r)255 long pTotaldegree(poly p, const ring r) 256 256 { 257 257 return (long) _pTotaldegree(p, r); … … 260 260 // pWTotalDegree for weighted orderings 261 261 // whose first block covers all variables 262 inline long _pWFirstTotalDegree(poly p, ring r)262 inline long _pWFirstTotalDegree(poly p, const ring r) 263 263 { 264 264 int i; … … 272 272 } 273 273 274 long pWFirstTotalDegree(poly p, ring r)274 long pWFirstTotalDegree(poly p, const ring r) 275 275 { 276 276 return (long) _pWFirstTotalDegree(p, r); … … 282 282 * the ordering is not compatible with degree so do not use p->Order 283 283 */ 284 long pWTotaldegree(poly p, ring r)284 long pWTotaldegree(poly p, const ring r) 285 285 { 286 286 p_LmCheckPolyRing(p, r); … … 366 366 } 367 367 368 long pWDegree(poly p, ring r)368 long pWDegree(poly p, const ring r) 369 369 { 370 370 if (r->firstwv==NULL) return pTotaldegree(p, r); … … 391 391 * and the degree of the monomial with maximal degree: the last one 392 392 */ 393 long pLDeg0(poly p,int *l, ring r)393 long pLDeg0(poly p,int *l, const ring r) 394 394 { 395 395 p_CheckPolyRing(p, r); … … 422 422 * but search in all components before syzcomp 423 423 */ 424 long pLDeg0c(poly p,int *l, ring r)424 long pLDeg0c(poly p,int *l, const ring r) 425 425 { 426 426 assume(p!=NULL); … … 467 467 * (both c,dp and dp,c) 468 468 */ 469 long pLDegb(poly p,int *l, ring r)469 long pLDegb(poly p,int *l, const ring r) 470 470 { 471 471 p_CheckPolyRing(p, r); … … 497 497 * this is NOT the last one, we have to look for it 498 498 */ 499 long pLDeg1(poly p,int *l, ring r)499 long pLDeg1(poly p,int *l, const ring r) 500 500 { 501 501 p_CheckPolyRing(p, r); … … 533 533 * in all components 534 534 */ 535 long pLDeg1c(poly p,int *l, ring r)535 long pLDeg1c(poly p,int *l, const ring r) 536 536 { 537 537 p_CheckPolyRing(p, r); … … 566 566 567 567 // like pLDeg1, only pFDeg == pDeg 568 long pLDeg1_Deg(poly p,int *l, ring r)568 long pLDeg1_Deg(poly p,int *l, const ring r) 569 569 { 570 570 assume(r->pFDeg == pDeg); … … 597 597 } 598 598 599 long pLDeg1c_Deg(poly p,int *l, ring r)599 long pLDeg1c_Deg(poly p,int *l, const ring r) 600 600 { 601 601 assume(r->pFDeg == pDeg); … … 631 631 632 632 // like pLDeg1, only pFDeg == pTotoalDegree 633 long pLDeg1_Totaldegree(poly p,int *l, ring r)633 long pLDeg1_Totaldegree(poly p,int *l, const ring r) 634 634 { 635 635 p_CheckPolyRing(p, r); … … 661 661 } 662 662 663 long pLDeg1c_Totaldegree(poly p,int *l, ring r)663 long pLDeg1c_Totaldegree(poly p,int *l, const ring r) 664 664 { 665 665 p_CheckPolyRing(p, r); … … 694 694 695 695 // like pLDeg1, only pFDeg == pWFirstTotalDegree 696 long pLDeg1_WFirstTotalDegree(poly p,int *l, ring r)696 long pLDeg1_WFirstTotalDegree(poly p,int *l, const ring r) 697 697 { 698 698 p_CheckPolyRing(p, r); … … 724 724 } 725 725 726 long pLDeg1c_WFirstTotalDegree(poly p,int *l, ring r)726 long pLDeg1c_WFirstTotalDegree(poly p,int *l, const ring r) 727 727 { 728 728 p_CheckPolyRing(p, r); … … 763 763 764 764 static inline unsigned long 765 p_GetMaxExpL2(unsigned long l1, unsigned long l2, ring r,765 p_GetMaxExpL2(unsigned long l1, unsigned long l2, const ring r, 766 766 unsigned long number_of_exp) 767 767 { … … 789 789 790 790 static inline unsigned long 791 p_GetMaxExpL2(unsigned long l1, unsigned long l2, ring r)791 p_GetMaxExpL2(unsigned long l1, unsigned long l2, const ring r) 792 792 { 793 793 return p_GetMaxExpL2(l1, l2, r, r->ExpPerLong); 794 794 } 795 795 796 poly p_GetMaxExpP(poly p, ring r)796 poly p_GetMaxExpP(poly p, const ring r) 797 797 { 798 798 p_CheckPolyRing(p, r); … … 831 831 } 832 832 833 unsigned long p_GetMaxExpL(poly p, ring r, unsigned long l_max)833 unsigned long p_GetMaxExpL(poly p, const ring r, unsigned long l_max) 834 834 { 835 835 unsigned long l_p, divmask = r->divmask; … … 864 864 ***************************************************************/ 865 865 // returns TRUE, if all monoms have the same component 866 BOOLEAN p_OneComp(poly p, ring r)866 BOOLEAN p_OneComp(poly p, const ring r) 867 867 { 868 868 if(p!=NULL) … … 952 952 * returns a polynomial representing the integer i 953 953 */ 954 poly p_ISet(int i, ring r)954 poly p_ISet(int i, const ring r) 955 955 { 956 956 poly rc = NULL; … … 969 969 * destroys n 970 970 */ 971 poly p_NSet(number n, ring r)971 poly p_NSet(number n, const ring r) 972 972 { 973 973 if (r->cf->nIsZero(n)) -
kernel/polys-impl.cc
r7a6c06 r107986 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys-impl.cc,v 1. 2 2005-12-02 12:25:43Singular Exp $ */4 /* $Id: polys-impl.cc,v 1.3 2008-07-25 14:37:55 Singular Exp $ */ 5 5 6 6 /*************************************************************** … … 47 47 48 48 49 void ppDelete(poly* p, ring rg)49 void ppDelete(poly* p, const ring rg) 50 50 { 51 51 ring origRing = currRing; -
kernel/polys.cc
r7a6c06 r107986 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys.cc,v 1.3 3 2008-07-15 15:29:15 wienandExp $ */4 /* $Id: polys.cc,v 1.34 2008-07-25 14:37:55 Singular Exp $ */ 5 5 6 6 /* … … 209 209 * convert monomial given as string to poly, e.g. 1x3y5z 210 210 */ 211 const char * p_Read(const char *st, poly &rc, ring r)211 const char * p_Read(const char *st, poly &rc, const ring r) 212 212 { 213 213 if (r==NULL) { rc=NULL;return st;} … … 782 782 *normalize all coefficients 783 783 */ 784 void p_Normalize(poly p, ring r)784 void p_Normalize(poly p,const ring r) 785 785 { 786 786 if (rField_has_simple_inverse(r)) return; /* Z/p, GF(p,n), R, long R/C */ … … 1041 1041 return FALSE; 1042 1042 } 1043 BOOLEAN pCompareChainPart (poly p,poly p1,poly p2,poly lcm) 1044 { 1045 int k, j; 1046 1047 if (lcm==NULL) return FALSE; 1048 1049 for (j=currRing->real_var_end; j>=currRing->real_var_start; j--) 1050 if ( pGetExp(p,j) > pGetExp(lcm,j)) return FALSE; 1051 if ( pGetComp(p) != pGetComp(lcm)) return FALSE; 1052 for (j=currRing->real_var_end; j>=currRing->real_var_start; j--) 1053 { 1054 if (pGetExp(p1,j)!=pGetExp(lcm,j)) 1055 { 1056 if (pGetExp(p,j)!=pGetExp(lcm,j)) 1057 { 1058 for (k=pVariables; k>j; k--) 1059 for (k=currRing->real_var_end; k>j; k--) 1060 { 1061 if ((pGetExp(p,k)!=pGetExp(lcm,k)) 1062 && (pGetExp(p2,k)!=pGetExp(lcm,k))) 1063 return TRUE; 1064 } 1065 for (k=j-1; k>=currRing->real_var_start; k--) 1066 { 1067 if ((pGetExp(p,k)!=pGetExp(lcm,k)) 1068 && (pGetExp(p2,k)!=pGetExp(lcm,k))) 1069 return TRUE; 1070 } 1071 return FALSE; 1072 } 1073 } 1074 else if (pGetExp(p2,j)!=pGetExp(lcm,j)) 1075 { 1076 if (pGetExp(p,j)!=pGetExp(lcm,j)) 1077 { 1078 for (k=currRing->real_var_end; k>j; k--) 1079 { 1080 if ((pGetExp(p,k)!=pGetExp(lcm,k)) 1081 && (pGetExp(p1,k)!=pGetExp(lcm,k))) 1082 return TRUE; 1083 } 1084 for (k=j-1; k>=currRing->real_var_start; k--) 1085 { 1086 if ((pGetExp(p,k)!=pGetExp(lcm,k)) 1087 && (pGetExp(p1,k)!=pGetExp(lcm,k))) 1088 return TRUE; 1089 } 1090 return FALSE; 1091 } 1092 } 1093 } 1094 return FALSE; 1095 } 1043 1096 1044 1097 int pSize(poly p) -
kernel/polys.h
r7a6c06 r107986 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: polys.h,v 1.1 6 2008-03-19 17:44:11Singular Exp $ */6 /* $Id: polys.h,v 1.17 2008-07-25 14:37:55 Singular Exp $ */ 7 7 /* 8 8 * ABSTRACT - all basic methods to manipulate polynomials of the … … 302 302 extern pFDegProc pFDeg; 303 303 int pWeight(int c, const ring r = currRing); 304 long pDeg(poly p, ring r = currRing);305 long pTotaldegree(poly p, ring r = currRing);306 long pWTotaldegree(poly p, ring r = currRing);307 long pWDegree(poly p, ring r = currRing);308 long pLDeg0(poly p,int *l, ring r = currRing);309 long pLDeg0c(poly p,int *l, ring r = currRing);310 long pLDegb(poly p,int *l, ring r = currRing);311 long pLDeg1(poly p,int *l, ring r = currRing);312 long pLDeg1c(poly p,int *l, ring r = currRing);313 long pLDeg1_Deg(poly p,int *l, ring r = currRing);314 long pLDeg1c_Deg(poly p,int *l, ring r = currRing);315 long pLDeg1_Totaldegree(poly p,int *l, ring r = currRing);316 long pLDeg1c_Totaldegree(poly p,int *l, ring r = currRing);317 long pLDeg1_WFirstTotalDegree(poly p,int *l, ring r=currRing);318 long pLDeg1c_WFirstTotalDegree(poly p,int *l, ring r=currRing);304 long pDeg(poly p,const ring r = currRing); 305 long pTotaldegree(poly p,const ring r = currRing); 306 long pWTotaldegree(poly p,const ring r = currRing); 307 long pWDegree(poly p,const ring r = currRing); 308 long pLDeg0(poly p,int *l,const ring r = currRing); 309 long pLDeg0c(poly p,int *l,const ring r = currRing); 310 long pLDegb(poly p,int *l,const ring r = currRing); 311 long pLDeg1(poly p,int *l,const ring r = currRing); 312 long pLDeg1c(poly p,int *l,const ring r = currRing); 313 long pLDeg1_Deg(poly p,int *l,const ring r = currRing); 314 long pLDeg1c_Deg(poly p,int *l,const ring r = currRing); 315 long pLDeg1_Totaldegree(poly p,int *l,const ring r = currRing); 316 long pLDeg1c_Totaldegree(poly p,int *l,const ring r = currRing); 317 long pLDeg1_WFirstTotalDegree(poly p,int *l,const ring r=currRing); 318 long pLDeg1c_WFirstTotalDegree(poly p,int *l,const ring r=currRing); 319 319 320 320 /*-------------pComp for syzygies:-------------------*/ … … 326 326 327 327 poly pmInit(const char *s, BOOLEAN &ok); /* monom -> poly, interpreter */ 328 const char * p_Read(const char *s, poly &p, ring r); /* monom -> poly */329 void ppDelete(poly * a, ring r);328 const char * p_Read(const char *s, poly &p,const ring r); /* monom -> poly */ 329 void ppDelete(poly * a,const ring r); 330 330 331 331 /*-------------operations on polynomials:------------*/ … … 364 364 void pCleardenom(poly p); 365 365 void pCleardenom_n(poly p,number &c); 366 void p_Normalize(poly p, ring r);366 void p_Normalize(poly p,const ring r); 367 367 #define pNormalize(p) p_Normalize(p,currRing) 368 368 int pSize( poly p ); … … 385 385 void pCancelPolyByMonom (poly p1,poly p2,polyset * P,int * SizeOfSet); 386 386 387 poly pPermPoly (poly p, int * perm, ring OldRing, nMapFunc nMap,387 poly pPermPoly (poly p, int * perm,const ring OldRing, nMapFunc nMap, 388 388 int *par_perm=NULL, int OldPar=0); 389 389 … … 427 427 /*-----------specials for spoly-computations--------------*/ 428 428 BOOLEAN pCompareChain (poly p,poly p1,poly p2,poly lcm); 429 BOOLEAN pCompareChainPart (poly p,poly p1,poly p2,poly lcm); 429 430 #define pEqualPolys(p1,p2) p_EqualPolys(p1,p2,currRing) 430 431 BOOLEAN pComparePolys(poly p1,poly p2); -
kernel/polys1.cc
r7a6c06 r107986 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys1.cc,v 1.3 1 2008-02-06 09:12:47 wienandExp $ */4 /* $Id: polys1.cc,v 1.32 2008-07-25 14:37:55 Singular Exp $ */ 5 5 6 6 /* … … 1240 1240 *returns a re-ordered copy of a polynomial, with permutation of the variables 1241 1241 */ 1242 poly pPermPoly (poly p, int * perm, ring oldRing, nMapFunc nMap,1242 poly pPermPoly (poly p, int * perm, const ring oldRing, nMapFunc nMap, 1243 1243 int *par_perm, int OldPar) 1244 1244 {
Note: See TracChangeset
for help on using the changeset viewer.