Index: trunk/psLib/src/math/psCompare.c
===================================================================
--- trunk/psLib/src/math/psCompare.c	(revision 3264)
+++ trunk/psLib/src/math/psCompare.c	(revision 3444)
@@ -7,6 +7,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-02-17 19:26:23 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-03-17 19:26:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -43,6 +43,16 @@
 COMPARE_NUMERIC_PTR(U32)
 COMPARE_NUMERIC_PTR(U64)
-COMPARE_NUMERIC_PTR(F32)
-COMPARE_NUMERIC_PTR(F64)
+
+int psCompareF32Ptr(const void** a, const void** b)
+{
+    psF32 diff = **((psF32**)a) - **((psF32**)b);
+    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
+}
+
+int psCompareF64Ptr(const void** a, const void** b)
+{
+    psF64 diff = **((psF64**)a) - **((psF64**)b);
+    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
+}
 
 COMPARE_NUMERIC_PTR_DESCENDING(S8)
@@ -54,6 +64,16 @@
 COMPARE_NUMERIC_PTR_DESCENDING(U32)
 COMPARE_NUMERIC_PTR_DESCENDING(U64)
-COMPARE_NUMERIC_PTR_DESCENDING(F32)
-COMPARE_NUMERIC_PTR_DESCENDING(F64)
+
+int psCompareDescendingF32Ptr(const void** a, const void** b)
+{
+    psF32 diff = **((psF32**)b) - **((psF32**)a);
+    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
+}
+
+int psCompareDescendingF64Ptr(const void** a, const void** b)
+{
+    psF64 diff = **((psF64**)b) - **((psF64**)a);
+    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
+}
 
 COMPARE_NUMERIC(S8)
@@ -65,6 +85,16 @@
 COMPARE_NUMERIC(U32)
 COMPARE_NUMERIC(U64)
-COMPARE_NUMERIC(F32)
-COMPARE_NUMERIC(F64)
+
+int psCompareF32(const void* a, const void* b)
+{
+    psF32 diff = *((psF32*)a) - *((psF32*)b);
+    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
+}
+
+int psCompareF64(const void* a, const void* b)
+{
+    psF64 diff = *((psF64*)a) - *((psF64*)b);
+    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
+}
 
 COMPARE_NUMERIC_DESCENDING(S8)
@@ -76,4 +106,14 @@
 COMPARE_NUMERIC_DESCENDING(U32)
 COMPARE_NUMERIC_DESCENDING(U64)
-COMPARE_NUMERIC_DESCENDING(F32)
-COMPARE_NUMERIC_DESCENDING(F64)
+
+int psCompareDescendingF32(const void* a, const void* b)
+{
+    psF32 diff = *((psF32*)b) - *((psF32*)a);
+    return (diff>FLT_EPSILON) ? 1 : ((diff<FLT_EPSILON) ? -1 :0);
+}
+
+int psCompareDescendingF64(const void* a, const void* b)
+{
+    psF64 diff = *((psF64*)b) - *((psF64*)a);
+    return (diff>DBL_EPSILON) ? 1 : ((diff<DBL_EPSILON) ? -1 :0);
+}
