Changeset 3444
- Timestamp:
- Mar 17, 2005, 9:26:19 AM (21 years ago)
- Location:
- trunk/psLib
- Files:
-
- 3 edited
-
src/collections/psCompare.c (modified) (5 diffs)
-
src/math/psCompare.c (modified) (5 diffs)
-
test/collections/tst_psVectorSort_01.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psCompare.c
r3264 r3444 7 7 * @author Robert Daniel DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-0 2-17 19:26:23$9 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-03-17 19:26:19 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 43 43 COMPARE_NUMERIC_PTR(U32) 44 44 COMPARE_NUMERIC_PTR(U64) 45 COMPARE_NUMERIC_PTR(F32) 46 COMPARE_NUMERIC_PTR(F64) 45 46 int 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 52 int 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 } 47 57 48 58 COMPARE_NUMERIC_PTR_DESCENDING(S8) … … 54 64 COMPARE_NUMERIC_PTR_DESCENDING(U32) 55 65 COMPARE_NUMERIC_PTR_DESCENDING(U64) 56 COMPARE_NUMERIC_PTR_DESCENDING(F32) 57 COMPARE_NUMERIC_PTR_DESCENDING(F64) 66 67 int 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 73 int 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 } 58 78 59 79 COMPARE_NUMERIC(S8) … … 65 85 COMPARE_NUMERIC(U32) 66 86 COMPARE_NUMERIC(U64) 67 COMPARE_NUMERIC(F32) 68 COMPARE_NUMERIC(F64) 87 88 int 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 94 int 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 } 69 99 70 100 COMPARE_NUMERIC_DESCENDING(S8) … … 76 106 COMPARE_NUMERIC_DESCENDING(U32) 77 107 COMPARE_NUMERIC_DESCENDING(U64) 78 COMPARE_NUMERIC_DESCENDING(F32) 79 COMPARE_NUMERIC_DESCENDING(F64) 108 109 int 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 115 int 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 } -
trunk/psLib/src/math/psCompare.c
r3264 r3444 7 7 * @author Robert Daniel DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-0 2-17 19:26:23$9 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-03-17 19:26:19 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 43 43 COMPARE_NUMERIC_PTR(U32) 44 44 COMPARE_NUMERIC_PTR(U64) 45 COMPARE_NUMERIC_PTR(F32) 46 COMPARE_NUMERIC_PTR(F64) 45 46 int 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 52 int 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 } 47 57 48 58 COMPARE_NUMERIC_PTR_DESCENDING(S8) … … 54 64 COMPARE_NUMERIC_PTR_DESCENDING(U32) 55 65 COMPARE_NUMERIC_PTR_DESCENDING(U64) 56 COMPARE_NUMERIC_PTR_DESCENDING(F32) 57 COMPARE_NUMERIC_PTR_DESCENDING(F64) 66 67 int 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 73 int 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 } 58 78 59 79 COMPARE_NUMERIC(S8) … … 65 85 COMPARE_NUMERIC(U32) 66 86 COMPARE_NUMERIC(U64) 67 COMPARE_NUMERIC(F32) 68 COMPARE_NUMERIC(F64) 87 88 int 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 94 int 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 } 69 99 70 100 COMPARE_NUMERIC_DESCENDING(S8) … … 76 106 COMPARE_NUMERIC_DESCENDING(U32) 77 107 COMPARE_NUMERIC_DESCENDING(U64) 78 COMPARE_NUMERIC_DESCENDING(F32) 79 COMPARE_NUMERIC_DESCENDING(F64) 108 109 int 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 115 int 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 } -
trunk/psLib/test/collections/tst_psVectorSort_01.c
r3264 r3444 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-0 2-17 19:26:24$14 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-03-17 19:26:19 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 98 98 in = psVectorAlloc(7, PS_TYPE_F32); 99 99 in->n = 7; 100 in->data.F32[0] = 7.0f;101 in->data.F32[1] = 9.0f;102 in->data.F32[2] = 3.0f;103 in->data.F32[3] = 1.0f;104 in->data.F32[4] = 5.0f;105 in->data.F32[5] = 5.0f;106 in->data.F32[6] = -2 0.0f;100 in->data.F32[0] = 0.7f; 101 in->data.F32[1] = 0.9f; 102 in->data.F32[2] = 0.3f; 103 in->data.F32[3] = 0.1f; 104 in->data.F32[4] = 0.5f; 105 in->data.F32[5] = 0.5f; 106 in->data.F32[6] = -2.0f; 107 107 in = psVectorSort(in, in); 108 if(in->data.F32[0] != -2 0.0f) {108 if(in->data.F32[0] != -2.0f) { 109 109 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[0]"); 110 110 return 100; 111 111 } 112 if(in->data.F32[1] != 1.0f) {112 if(in->data.F32[1] != 0.1f) { 113 113 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[1]"); 114 114 return 200; 115 115 } 116 if(in->data.F32[2] != 3.0f) {116 if(in->data.F32[2] != 0.3f) { 117 117 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[2]"); 118 118 return 300; 119 119 } 120 if(in->data.F32[3] != 5.0f) {120 if(in->data.F32[3] != 0.5f) { 121 121 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[3]"); 122 122 return 400; 123 123 } 124 if(in->data.F32[4] != 5.0f) {124 if(in->data.F32[4] != 0.5f) { 125 125 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[4]"); 126 126 return 500; 127 127 } 128 if(in->data.F32[5] != 7.0f) {128 if(in->data.F32[5] != 0.7f) { 129 129 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[5]"); 130 130 return 600; 131 131 } 132 if(in->data.F32[6] != 9.0f) {132 if(in->data.F32[6] != 0.9f) { 133 133 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[6]"); 134 134 return 700;
Note:
See TracChangeset
for help on using the changeset viewer.
