cmp method
Implementation
int cmp( MPData a, MPData b ){
if( a.val(0) < 0 && b.val(0) >= 0 ){ return -1; }
if( b.val(0) < 0 && a.val(0) >= 0 ){ return 1; }
int k = (a.val(0) < 0 && b.val(0) < 0) ? -1 : 1;
int la = getLen( a );
int lb = getLen( b );
int aa, bb;
for( int i = (la > lb) ? la : lb; i > 0; i-- ){
aa = (i <= la) ? a.val(i) : 0;
bb = (i <= lb) ? b.val(i) : 0;
if( aa != bb ){ return (aa - bb) * k; }
}
return 0;
}