Exemplo n.º 1
0
int mclvSumCmp
(  const void* p1
,  const void* p2
)  
   {  double diff = mclvSum((mclVector*) p1) - mclvSum((mclVector*) p2)
   ;  return MCX_SIGN(diff)
;  }
Exemplo n.º 2
0
int mclvValRevCmp
(  const void*  p1
,  const void*  p2
)
   {  double diff = ((mclVector*) p2)->val - ((mclVector*)p1)->val
   ;  return MCX_SIGN(diff)
;  }
Exemplo n.º 3
0
int mclvVidCmp
(  const void*  p1
,  const void*  p2
)
   {  long diff = ((mclVector*) p1)->vid - ((mclVector*)p2)->vid
   ;  return MCX_SIGN(diff)
;  }
Exemplo n.º 4
0
int mclpValRevCmp
(  const void*             i1
,  const void*             i2
)
   {  int     s  =  MCX_SIGN(((mclIvp*)i2)->val - ((mclIvp*)i1)->val)
   ;  return (s ? s : ((mclIvp*)i1)->idx - ((mclIvp*)i2)->idx)
;  }
Exemplo n.º 5
0
int mclvSizeRevCmp
(  const void*  p1
,  const void*  p2
)
   {  long diff  = ((mclVector*)p2)->n_ivps - ((mclVector*)p1)->n_ivps
   ;  if (diff)
      return MCX_SIGN(diff)
   ;  else
      return mclvLexCmp(p1, p2)
;  }
Exemplo n.º 6
0
int mclvLexCmp
(  const void*  p1
,  const void*  p2
)
   {  mclIvp*   ivp1    =  ((mclVector*)p1)->ivps
   ;  mclIvp*   ivp2    =  ((mclVector*)p2)->ivps
   ;  long      diff
   ;  dim       n_ivps  =  MCX_MIN
                           (  ((mclVector*)p1)->n_ivps
                           ,  ((mclVector*)p2)->n_ivps
                           )
  /*
   *  Vectors with low numbers first
  */
   ;  while (n_ivps-- > 0)       /* careful with unsignedness */
      if ((diff = (ivp1++)->idx - (ivp2++)->idx))
      return MCX_SIGN(diff)

   ;  diff = ((mclVector*)p1)->n_ivps - ((mclVector*)p2)->n_ivps
   ;  return MCX_SIGN(diff)
;  }