Changeset 0b356b in git
- Timestamp:
- Jul 25, 2011, 1:24:34 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- fdbaeb8802b87e60d2e0b1ef40e8c2c8682637c2
- Parents:
- f78059cd3fcf97dca7e3c89d6090636c59cf10d1
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-07-25 13:24:34+02:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:53:31+01:00
- Location:
- kernel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/ideals.h
rf78059 r0b356b 15 15 //typedef struct sip_smap * map; 16 16 typedef ideal * resolvente; 17 18 extern ideal currQuotient; 17 19 18 20 -
kernel/kstd1.cc
rf78059 r0b356b 928 928 kTest_TS(strat); 929 929 strat->update = (strat->tl == -1); 930 if (TEST_OPT_WEIGHTM)931 {932 pRestoreDegProcs(pFDegOld, pLDegOld);933 if (strat->tailRing != currRing)934 {935 strat->tailRing->pFDeg = strat->pOrigFDeg_TailRing;936 strat->tailRing->pLDeg = strat->pOrigLDeg_TailRing;937 }938 int i;939 for (i=strat->Ll; i>=0; i--)940 {941 strat->L[i].SetpFDeg();942 }943 for (i=strat->tl; i>=0; i--)944 {945 strat->T[i].SetpFDeg();946 }947 if (ecartWeights)948 {949 omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short));950 ecartWeights=NULL;951 }952 }930 //if (TEST_OPT_WEIGHTM) 931 //{ 932 // pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 933 // if (strat->tailRing != currRing) 934 // { 935 // strat->tailRing->pFDeg = strat->pOrigFDeg_TailRing; 936 // strat->tailRing->pLDeg = strat->pOrigLDeg_TailRing; 937 // } 938 // int i; 939 // for (i=strat->Ll; i>=0; i--) 940 // { 941 // strat->L[i].SetpFDeg(); 942 // } 943 // for (i=strat->tl; i>=0; i--) 944 // { 945 // strat->T[i].SetpFDeg(); 946 // } 947 // if (ecartWeights) 948 // { 949 // omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short)); 950 // ecartWeights=NULL; 951 // } 952 //} 953 953 if (TEST_OPT_FASTHC) 954 954 { … … 1081 1081 //else strat->kIdeal->rtyp=MODUL_CMD; 1082 1082 //strat->kIdeal->data=(void *)strat->Shdl; 1083 if ((TEST_OPT_WEIGHTM)&&(F!=NULL))1084 {1085 //interred machen Aenderung1086 pFDegOld=pFDeg;1087 pLDegOld=pLDeg;1088 //h=ggetid("ecart");1089 //if ((h!=NULL) /*&& (IDTYP(h)==INTVEC_CMD)*/)1090 //{1091 // ecartWeights=iv2array(IDINTVEC(h));1092 //}1093 //else1094 {1095 ecartWeights=(short *)omAlloc(((currRing->N)+1)*sizeof(short));1096 /*uses automatic computation of the ecartWeights to set them*/1097 kEcartWeights(F->m,IDELEMS(F)-1,ecartWeights);1098 }1099 pRestoreDegProcs(totaldegreeWecart, maxdegreeWecart);1100 if (TEST_OPT_PROT)1101 {1102 for(i=1; i<=(currRing->N); i++)1103 Print(" %d",ecartWeights[i]);1104 PrintLn();1105 mflush();1106 }1107 }1083 // if ((TEST_OPT_WEIGHTM)&&(F!=NULL)) 1084 // { 1085 // //interred machen Aenderung 1086 // pFDegOld=pFDeg; 1087 // pLDegOld=pLDeg; 1088 // //h=ggetid("ecart"); 1089 // //if ((h!=NULL) /*&& (IDTYP(h)==INTVEC_CMD)*/) 1090 // //{ 1091 // // ecartWeights=iv2array(IDINTVEC(h)); 1092 // //} 1093 // //else 1094 // { 1095 // ecartWeights=(short *)omAlloc(((currRing->N)+1)*sizeof(short)); 1096 // /*uses automatic computation of the ecartWeights to set them*/ 1097 // kEcartWeights(F->m,IDELEMS(F)-1,ecartWeights); 1098 // } 1099 // pRestoreDegProcs(currRing,totaldegreeWecart, maxdegreeWecart); 1100 // if (TEST_OPT_PROT) 1101 // { 1102 // for(i=1; i<=(currRing->N); i++) 1103 // Print(" %d",ecartWeights[i]); 1104 // PrintLn(); 1105 // mflush(); 1106 // } 1107 // } 1108 1108 } 1109 1109 … … 1129 1129 if (strat->kHEdgeFound) 1130 1130 { 1131 strat->HCord = pFDeg(ppNoether,currRing)+1;1131 strat->HCord = currRing->pFDeg(ppNoether,currRing)+1; 1132 1132 strat->posInT = posInT2; 1133 1133 } … … 1139 1139 *intvec ecart and set ecartWeights 1140 1140 */ 1141 if ((TEST_OPT_WEIGHTM)&&(F!=NULL))1142 {1143 //interred machen Aenderung1144 pFDegOld=pFDeg;1145 pLDegOld=pLDeg;1146 //h=ggetid("ecart");1147 //if ((h!=NULL) /*&& (IDTYP(h)==INTVEC_CMD)*/)1148 //{1149 // ecartWeights=iv2array(IDINTVEC(h));1150 //}1151 //else1152 {1153 ecartWeights=(short *)omAlloc(((currRing->N)+1)*sizeof(short));1154 /*uses automatic computation of the ecartWeights to set them*/1155 kEcartWeights(F->m,IDELEMS(F)-1,ecartWeights);1156 }1157 1158 pSetDegProcs(totaldegreeWecart, maxdegreeWecart);1159 if (TEST_OPT_PROT)1160 {1161 for(i=1; i<=(currRing->N); i++)1162 Print(" %d",ecartWeights[i]);1163 PrintLn();1164 mflush();1165 }1166 }1141 // if ((TEST_OPT_WEIGHTM)&&(F!=NULL)) 1142 // { 1143 // //interred machen Aenderung 1144 // pFDegOld=pFDeg; 1145 // pLDegOld=pLDeg; 1146 // //h=ggetid("ecart"); 1147 // //if ((h!=NULL) /*&& (IDTYP(h)==INTVEC_CMD)*/) 1148 // //{ 1149 // // ecartWeights=iv2array(IDINTVEC(h)); 1150 // //} 1151 // //else 1152 // { 1153 // ecartWeights=(short *)omAlloc(((currRing->N)+1)*sizeof(short)); 1154 // /*uses automatic computation of the ecartWeights to set them*/ 1155 // kEcartWeights(F->m,IDELEMS(F)-1,ecartWeights); 1156 // } 1157 // 1158 // pSetDegProcs(currRing,totaldegreeWecart, maxdegreeWecart); 1159 // if (TEST_OPT_PROT) 1160 // { 1161 // for(i=1; i<=(currRing->N); i++) 1162 // Print(" %d",ecartWeights[i]); 1163 // PrintLn(); 1164 // mflush(); 1165 // } 1166 // } 1167 1167 kOptimizeLDeg(pLDeg, strat); 1168 1168 } … … 1397 1397 { 1398 1398 if (strat->kHEdge!=NULL) 1399 Kstd1_mu= pFDeg(strat->kHEdge,currRing);1399 Kstd1_mu=currRing->pFDeg(strat->kHEdge,currRing); 1400 1400 else 1401 1401 Kstd1_mu=-1; … … 1407 1407 omFreeSize((ADDRESS)strat->NotUsedAxis,((currRing->N)+1)*sizeof(BOOLEAN)); 1408 1408 if (TEST_OPT_PROT) messageStat(srmax,lrmax,hilbcount,strat); 1409 if (TEST_OPT_WEIGHTM)1410 {1411 pRestoreDegProcs(pFDegOld, pLDegOld);1412 if (ecartWeights)1413 {1414 omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short));1415 ecartWeights=NULL;1416 }1417 }1409 // if (TEST_OPT_WEIGHTM) 1410 // { 1411 // pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 1412 // if (ecartWeights) 1413 // { 1414 // omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short)); 1415 // ecartWeights=NULL; 1416 // } 1417 // } 1418 1418 if (Q!=NULL) updateResult(strat->Shdl,Q,strat); 1419 1419 test=save_test; … … 1535 1535 pDelete(&strat->kHEdge); 1536 1536 pDelete(&strat->kNoether); 1537 if ((TEST_OPT_WEIGHTM)&&(F!=NULL))1538 {1539 pRestoreDegProcs(pFDegOld, pLDegOld);1540 if (ecartWeights)1541 {1542 omFreeSize((ADDRESS *)&ecartWeights,((currRing->N)+1)*sizeof(short));1543 ecartWeights=NULL;1544 }1545 }1537 // if ((TEST_OPT_WEIGHTM)&&(F!=NULL)) 1538 // { 1539 // pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 1540 // if (ecartWeights) 1541 // { 1542 // omFreeSize((ADDRESS *)&ecartWeights,((currRing->N)+1)*sizeof(short)); 1543 // ecartWeights=NULL; 1544 // } 1545 // } 1546 1546 idDelete(&strat->Shdl); 1547 1547 test=save_test; … … 1673 1673 pDelete(&strat->kHEdge); 1674 1674 pDelete(&strat->kNoether); 1675 if ((TEST_OPT_WEIGHTM)&&(F!=NULL))1676 {1677 pFDeg=pFDegOld;1678 pLDeg=pLDegOld;1679 if (ecartWeights)1680 {1681 omFreeSize((ADDRESS *)&ecartWeights,((currRing->N)+1)*sizeof(short));1682 ecartWeights=NULL;1683 }1684 }1675 // if ((TEST_OPT_WEIGHTM)&&(F!=NULL)) 1676 // { 1677 // pFDeg=pFDegOld; 1678 // pLDeg=pLDegOld; 1679 // if (ecartWeights) 1680 // { 1681 // omFreeSize((ADDRESS *)&ecartWeights,((currRing->N)+1)*sizeof(short)); 1682 // ecartWeights=NULL; 1683 // } 1684 // } 1685 1685 idDelete(&strat->Shdl); 1686 1686 test=save_test; … … 1731 1731 if (TEST_OPT_SB_1) 1732 1732 strat->newIdeal = newIdeal; 1733 if (rField_has_simple_inverse( ))1733 if (rField_has_simple_inverse(currRing)) 1734 1734 strat->LazyPass=20; 1735 1735 else … … 1738 1738 strat->enterOnePair=enterOnePairNormal; 1739 1739 strat->chainCrit=chainCritNormal; 1740 strat->ak = id RankFreeModule(F);1740 strat->ak = id_RankFreeModule(F,currRing); 1741 1741 strat->kModW=kModW=NULL; 1742 1742 strat->kHomW=kHomW=NULL; … … 1745 1745 pLexOrder=FALSE; 1746 1746 strat->kHomW=kHomW=vw; 1747 pFDegOld = pFDeg;1747 pFDegOld = currRing->pFDeg; 1748 1748 pLDegOld = pLDeg; 1749 pSetDegProcs( kHomModDeg);1749 pSetDegProcs(currRing,kHomModDeg); 1750 1750 toReset = TRUE; 1751 1751 } … … 1770 1770 if (vw == NULL) 1771 1771 { 1772 pFDegOld = pFDeg;1772 pFDegOld = currRing->pFDeg; 1773 1773 pLDegOld = pLDeg; 1774 pSetDegProcs( kModDeg);1774 pSetDegProcs(currRing,kModDeg); 1775 1775 toReset = TRUE; 1776 1776 } … … 1799 1799 strat->no_prod_crit = ! bIsSCA; 1800 1800 if (w!=NULL) 1801 r = nc_GB(F, Q, *w, hilb, strat );1801 r = nc_GB(F, Q, *w, hilb, strat, currRing); 1802 1802 else 1803 r = nc_GB(F, Q, NULL, hilb, strat );1803 r = nc_GB(F, Q, NULL, hilb, strat, currRing); 1804 1804 } 1805 1805 else … … 1832 1832 { 1833 1833 kModW = NULL; 1834 pRestoreDegProcs( pFDegOld, pLDegOld);1834 pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 1835 1835 } 1836 1836 pLexOrder = b; … … 1855 1855 if (TEST_OPT_SB_1) 1856 1856 strat->newIdeal = newIdeal; 1857 if (rField_has_simple_inverse( ))1857 if (rField_has_simple_inverse(currRing)) 1858 1858 strat->LazyPass=20; 1859 1859 else 1860 1860 strat->LazyPass=2; 1861 1861 strat->LazyDegree = 1; 1862 strat->ak = id RankFreeModule(F);1862 strat->ak = id_RankFreeModule(F,currRing); 1863 1863 strat->kModW=kModW=NULL; 1864 1864 strat->kHomW=kHomW=NULL; … … 1867 1867 pLexOrder=FALSE; 1868 1868 strat->kHomW=kHomW=vw; 1869 pFDegOld = pFDeg;1869 pFDegOld = currRing->pFDeg; 1870 1870 pLDegOld = pLDeg; 1871 pSetDegProcs( kHomModDeg);1871 pSetDegProcs(currRing,kHomModDeg); 1872 1872 toReset = TRUE; 1873 1873 } … … 1892 1892 if (vw == NULL) 1893 1893 { 1894 pFDegOld = pFDeg;1894 pFDegOld = currRing->pFDeg; 1895 1895 pLDegOld = pLDeg; 1896 pSetDegProcs( kModDeg);1896 pSetDegProcs(currRing,kModDeg); 1897 1897 toReset = TRUE; 1898 1898 } … … 1925 1925 { 1926 1926 kModW = NULL; 1927 pRestoreDegProcs( pFDegOld, pLDegOld);1927 pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 1928 1928 } 1929 1929 pLexOrder = b; … … 1961 1961 if(!TEST_OPT_RETURN_SB) 1962 1962 strat->syzComp = syzComp; 1963 if (rField_has_simple_inverse( ))1963 if (rField_has_simple_inverse(currRing)) 1964 1964 strat->LazyPass=20; 1965 1965 else … … 1967 1967 strat->LazyDegree = 1; 1968 1968 strat->minim=(reduced % 2)+1; 1969 strat->ak = id RankFreeModule(F);1969 strat->ak = id_RankFreeModule(F,currRing); 1970 1970 if (delete_w) 1971 1971 { … … 1993 1993 strat->kModW = *w; 1994 1994 assume(pFDeg != NULL && pLDeg != NULL); 1995 pFDegOld = pFDeg;1995 pFDegOld = currRing->pFDeg; 1996 1996 pLDegOld = pLDeg; 1997 pSetDegProcs( kModDeg);1997 pSetDegProcs(currRing,kModDeg); 1998 1998 1999 1999 toReset = TRUE; … … 2004 2004 for (i=IDELEMS(F)-1;i>=0;i--) 2005 2005 { 2006 if ((F->m[i]!=NULL) && ( pFDeg(F->m[i],currRing)>=Kstd1_deg))2007 Kstd1_deg = pFDeg(F->m[i],currRing)+1;2006 if ((F->m[i]!=NULL) && (currRing->pFDeg(F->m[i],currRing)>=Kstd1_deg)) 2007 Kstd1_deg = currRing->pFDeg(F->m[i],currRing)+1; 2008 2008 } 2009 2009 } … … 2036 2036 if (toReset) 2037 2037 { 2038 pRestoreDegProcs( pFDegOld, pLDegOld);2038 pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 2039 2039 kModW = NULL; 2040 2040 } … … 2103 2103 kStrategy strat=new skStrategy; 2104 2104 strat->syzComp = syzComp; 2105 strat->ak = si_max(id RankFreeModule(F),pMaxComp(p));2105 strat->ak = si_max(id_RankFreeModule(F,currRing),pMaxComp(p)); 2106 2106 poly res; 2107 2107 … … 2153 2153 kStrategy strat=new skStrategy; 2154 2154 strat->syzComp = syzComp; 2155 strat->ak = si_max(id RankFreeModule(F),idRankFreeModule(p));2155 strat->ak = si_max(id_RankFreeModule(F,currRing),id_RankFreeModule(p,currRing)); 2156 2156 if (strat->ak>0) // only for module case, see Tst/Short/bug_reduce.tst 2157 2157 { … … 2208 2208 strat->kHEdgeFound = ppNoether != NULL; 2209 2209 strat->kNoether=pCopy(ppNoether); 2210 strat->ak = id RankFreeModule(tempF);2210 strat->ak = id_RankFreeModule(tempF,currRing); 2211 2211 initBuchMoraCrit(strat); 2212 2212 strat->NotUsedAxis = (BOOLEAN *)omAlloc(((currRing->N)+1)*sizeof(BOOLEAN)); … … 2279 2279 intvec * w=NULL; 2280 2280 2281 if (rField_has_simple_inverse( ))2281 if (rField_has_simple_inverse(currRing)) 2282 2282 strat->LazyPass=20; 2283 2283 else 2284 2284 strat->LazyPass=2; 2285 2285 strat->LazyDegree = 1; 2286 strat->ak = id RankFreeModule(F);2286 strat->ak = id_RankFreeModule(F,currRing); 2287 2287 strat->syzComp = strat->ak; 2288 2288 strat->kModW=kModW=NULL; … … 2302 2302 { 2303 2303 strat->kModW = kModW = w; 2304 pFDegOld = pFDeg;2304 pFDegOld = currRing->pFDeg; 2305 2305 pLDegOld = pLDeg; 2306 pSetDegProcs( kModDeg);2306 pSetDegProcs(currRing,kModDeg); 2307 2307 toReset = TRUE; 2308 2308 } … … 2507 2507 /* release temp data-------------------------------- */ 2508 2508 exitBuchMora(strat); 2509 if (TEST_OPT_WEIGHTM)2510 {2511 pRestoreDegProcs(pFDegOld, pLDegOld);2512 if (ecartWeights)2513 {2514 omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short));2515 ecartWeights=NULL;2516 }2517 }2509 // if (TEST_OPT_WEIGHTM) 2510 // { 2511 // pRestoreDegProcs(currRing,pFDegOld, pLDegOld); 2512 // if (ecartWeights) 2513 // { 2514 // omFreeSize((ADDRESS)ecartWeights,((currRing->N)+1)*sizeof(short)); 2515 // ecartWeights=NULL; 2516 // } 2517 // } 2518 2518 //if (TEST_OPT_PROT) messageStat(srmax,lrmax,0/*hilbcount*/,strat); 2519 2519 if (Q!=NULL) updateResult(strat->Shdl,Q,strat);
Note: See TracChangeset
for help on using the changeset viewer.