Go to the source code of this file.
Definition at line 2 of file ord.cc.
Referenced by choice_dlex(), choice_grevlex(), and init_algo().
00002 { 00003 int n1 = lvar(m1.rep), n2 =lvar(m2.rep); 00004 cout<<"n1"<<n1; 00005 cout<<"n2"<<n2; 00006 int n = max(n1,n2),dm1=0,dm2=0,firstdiff=0,tmpdeg1,tmpdeg2; 00007 00008 if(n1 <0 && n2>0) return -1; 00009 if(n2 <0 && n1>0) return 1; 00010 for(int i=0;i<=n;i++) 00011 //for(int i=n;i>=0;i--) 00012 { 00013 tmpdeg1=m1.GetDegree(i); 00014 tmpdeg2=m2.GetDegree(i); 00015 if(tmpdeg1>tmpdeg2 && firstdiff==0) firstdiff=1; 00016 if(tmpdeg2>tmpdeg1 && firstdiff==0) firstdiff=-1; 00017 dm1+=tmpdeg1; 00018 dm2+=tmpdeg2; 00019 } 00020 //dm1=Degree(m1); 00021 //dm2=Degree(m2); 00022 if (dm1 < dm2) return -1; 00023 else if (dm1 > dm2) return 1; 00024 return firstdiff; 00025 00026 //else { 00027 // int i=n; 00028 // while( m1.GetDegree(i) == m2.GetDegree(i) && i>=0) i--; 00029 // if(i <0) 00030 // return 0; 00031 // else 00032 // return ((m1.GetDegree(i)> m2.GetDegree(i)?1:-1)); 00033 //} 00034 }