IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 17, 2005, 9:26:19 AM (21 years ago)
Author:
desonia
Message:

fixed bug in psVectorSort of float/double data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psCompare.c

    r3264 r3444  
    77 *  @author Robert Daniel DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-02-17 19:26:23 $
     9 *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-03-17 19:26:19 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    4343COMPARE_NUMERIC_PTR(U32)
    4444COMPARE_NUMERIC_PTR(U64)
    45 COMPARE_NUMERIC_PTR(F32)
    46 COMPARE_NUMERIC_PTR(F64)
     45
     46int psCompareF32Ptr(const void** a, const void** b)
     47{
     48    psF32 diff = **((psF32**)a) - **((psF32**)b);
     49    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
     50}
     51
     52int psCompareF64Ptr(const void** a, const void** b)
     53{
     54    psF64 diff = **((psF64**)a) - **((psF64**)b);
     55    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
     56}
    4757
    4858COMPARE_NUMERIC_PTR_DESCENDING(S8)
     
    5464COMPARE_NUMERIC_PTR_DESCENDING(U32)
    5565COMPARE_NUMERIC_PTR_DESCENDING(U64)
    56 COMPARE_NUMERIC_PTR_DESCENDING(F32)
    57 COMPARE_NUMERIC_PTR_DESCENDING(F64)
     66
     67int psCompareDescendingF32Ptr(const void** a, const void** b)
     68{
     69    psF32 diff = **((psF32**)b) - **((psF32**)a);
     70    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
     71}
     72
     73int psCompareDescendingF64Ptr(const void** a, const void** b)
     74{
     75    psF64 diff = **((psF64**)b) - **((psF64**)a);
     76    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
     77}
    5878
    5979COMPARE_NUMERIC(S8)
     
    6585COMPARE_NUMERIC(U32)
    6686COMPARE_NUMERIC(U64)
    67 COMPARE_NUMERIC(F32)
    68 COMPARE_NUMERIC(F64)
     87
     88int psCompareF32(const void* a, const void* b)
     89{
     90    psF32 diff = *((psF32*)a) - *((psF32*)b);
     91    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
     92}
     93
     94int psCompareF64(const void* a, const void* b)
     95{
     96    psF64 diff = *((psF64*)a) - *((psF64*)b);
     97    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
     98}
    6999
    70100COMPARE_NUMERIC_DESCENDING(S8)
     
    76106COMPARE_NUMERIC_DESCENDING(U32)
    77107COMPARE_NUMERIC_DESCENDING(U64)
    78 COMPARE_NUMERIC_DESCENDING(F32)
    79 COMPARE_NUMERIC_DESCENDING(F64)
     108
     109int psCompareDescendingF32(const void* a, const void* b)
     110{
     111    psF32 diff = *((psF32*)b) - *((psF32*)a);
     112    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
     113}
     114
     115int psCompareDescendingF64(const void* a, const void* b)
     116{
     117    psF64 diff = *((psF64*)b) - *((psF64*)a);
     118    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
     119}
Note: See TracChangeset for help on using the changeset viewer.