IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 40397 for trunk


Ignore:
Timestamp:
Apr 14, 2018, 2:25:36 PM (8 years ago)
Author:
eugene
Message:

fix dvo sorts to put NAN values at bottom

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/src/dvosorts.c

    r39457 r40397  
    77
    88# define SWAPFUNC(A,B){ Average tmp; tmp = ave[A]; ave[A] = ave[B]; ave[B] = tmp; }
    9 # define COMPARE(A,B)(ave[A].R < ave[B].R)
     9# define COMPARE(A,B)((!isfinite(ave[A].R) && isfinite(ave[B].R)) || (ave[A].R < ave[B].R))
     10// # define COMPARE(A,B)                                             (ave[A].R < ave[B].R)
    1011
    1112  OHANA_SORT (N, COMPARE, SWAPFUNC);
     
    5051  itmp = S[A]; S[A] = S[B]; S[B] = itmp; \
    5152}
    52 # define COMPARE(A,B)(X[A] < X[B])
     53// # define COMPARE(A,B)                                     (X[A] < X[B])
     54# define COMPARE(A,B)((!isfinite(X[A]) && isfinite(X[B])) || (X[A] < X[B]))
    5355
    5456  OHANA_SORT (N, COMPARE, SWAPFUNC);
     
    8183  itmp = S[A]; S[A] = S[B]; S[B] = itmp; \
    8284}
    83 # define COMPARE(A,B)(X[S[A]] < X[S[B]])
     85# define COMPARE(A,B)((!isfinite(X[S[A]]) && isfinite(X[S[B]])) || (X[S[A]] < X[S[B]]))
    8486
    8587  OHANA_SORT (N, COMPARE, SWAPFUNC);
     
    9395
    9496# define SWAPFUNC(A,B){ SkyRegion tmp; tmp = region[A]; region[A] = region[B]; region[B] = tmp; }
    95 # define COMPARE(A,B)(region[A].Dmin < region[B].Dmin)
     97// # define COMPARE(A,B)(region[A].Dmin < region[B].Dmin)
     98# define COMPARE(A,B)((!isfinite(region[A].Dmin) && isfinite(region[B].Dmin)) || (region[A].Dmin < region[B].Dmin))
    9699
    97100  OHANA_SORT (N, COMPARE, SWAPFUNC);
Note: See TracChangeset for help on using the changeset viewer.