Changeset 2ae96e in git
- Timestamp:
- Apr 7, 2009, 3:30:01 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 90645890f7b3880939698d798f2e0070f96285bc
- Parents:
- 0ad81f2c92a459da3968f1add8868540fe570fb8
- Location:
- kernel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/f5gb.cc
r0ad81f r2ae96e 64 64 } 65 65 66 /** 66 /*! 67 * ====================================================================== 68 * builds the sum of the entries of the exponent vectors, i.e. the degree 69 * of the corresponding monomial 70 * ====================================================================== 71 */ 72 long sumVector(int* v, int k) { 73 int i; 74 long sum = 0; 75 for(i=1; i<=k; i++) { 76 Print("%d\n",v[i]); 77 Print("%ld\n",sum); 78 sum = sum + v[i]; 79 } 80 return sum; 81 } 82 83 /*! 67 84 ========================================================================== 68 compare monomials, i.e. divisibility tests for criterion 1 and criterion 285 compares monomials, i.e. divisibility tests for criterion 1 and criterion 2 69 86 ========================================================================== 70 87 */ 71 bool compareMonomials(int* m1, int** m2, int numberOfRules ) {88 bool compareMonomials(int* m1, int** m2, int numberOfRules, int k) { 72 89 int i,j; 73 int k = sizeof(m1) / sizeof(int); 90 long sumM1 = sumVector(m1,k); 91 //int k = sizeof(m1) / sizeof(int); 74 92 for(i=0; i<numberOfRules; i++) { 75 for(j=1; j<=k; j++) { 76 if(m1[j]>m2[i][j]) { 77 return true; 78 } 93 if(sumVector(m2[i],k) <= sumM1) { 94 for(j=1; j<=k; j++) { 95 if(m1[j]>m2[i][j]) { 96 return true; 97 } 98 } 79 99 } 80 100 } … … 850 870 number nOne = nInit(1); 851 871 // tag the first element of index i-1 for criterion 1 852 LTagList* lTag = new LTagList();853 872 //Print("LTAG BEGINNING: %p\n",lTag); 854 873 … … 857 876 858 877 int* ev = new int[r->N +1]; 859 int ev2;860 878 for(i=0;i<IDELEMS(id);i++) { 861 879 pGetExpV(id->m[i],ev); 862 880 //ev2 = pGetExp(id->m[i],1); 863 881 pWrite(id->m[i]); 864 Print("%d\n",ev2);865 882 Print("EXP1: %d\n",ev[1]); 866 883 Print("EXP2: %d\n",ev[2]); 867 884 Print("EXP3: %d\n\n",ev[3]); 885 Print("SUM: %ld\n\n\n",sumVector(ev,r->N)); 868 886 } 869 887 delete ev; … … 899 917 //pWrite(gPrev->getFirst()->getPoly()); 900 918 901 lTag->insert(gPrev->getFirst()); 919 LTagList* lTag = new LTagList(gPrev->getFirst()); 920 //lTag->insert(gPrev->getFirst()); 902 921 lTag->setFirstCurrentIdx(gPrev->getFirst()); 903 922 // computing the groebner basis of the elements of index < actual index … … 1038 1057 //gPrev->print(); 1039 1058 //delete lTag; 1040 //delete rTag;1041 //delete gPrev;1059 delete rTag; 1060 delete gPrev; 1042 1061 reductionTime = 0; 1043 1062 spolsTime = 0; -
kernel/f5gb.h
r0ad81f r2ae96e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: f5gb.h,v 1.3 5 2009-04-05 07:49:18ederc Exp $ */4 /* $Id: f5gb.h,v 1.36 2009-04-07 13:30:01 ederc Exp $ */ 5 5 /* 6 6 * ABSTRACT: f5gb interface … … 20 20 */ 21 21 void qsortDegree(poly* left, poly* right); 22 23 /*! 24 * ====================================================================== 25 * builds the sum of the entries of the exponent vectors, i.e. the degree 26 * of the corresponding monomial 27 * ====================================================================== 28 */ 29 long sumVector(int* v, int k); 22 30 23 31 /**
Note: See TracChangeset
for help on using the changeset viewer.