Changeset 1964 for trunk/psLib/src/dataManip/psConstants.h
- Timestamp:
- Oct 5, 2004, 1:14:15 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/dataManip/psConstants.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psConstants.h
r1963 r1964 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-10-05 2 2:47:21$8 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-10-05 23:14:15 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 88 88 p_psMemSetPersistent(NAME->data.V, true); \ 89 89 90 91 92 93 94 90 95 /** Preprocessor macro to generate error on an incorrect type */ 91 #define PS_CHECK_VECTOR_TYPE (NAME, TYPE) \96 #define PS_CHECK_VECTOR_TYPE_RETURN_NULL(NAME, TYPE) \ 92 97 if (NAME->type.type != TYPE) { \ 93 98 psError(__func__,"Unallowable operation: %s has incorrect type.", #NAME); \ 94 } 95 96 /** Preprocessor macro to generate error on a NULL vector */ 97 #define PS_CHECK_NULL_VECTOR(NAME) \ 98 if (NAME == NULL || NAME->data.V == NULL) { \ 99 psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \ 100 } 101 102 /** Preprocessor macro to generate error on a NULL vector */ 103 #define PS_CHECK_NULL_VECTOR_ACTION(NAME, ACTION) \ 104 if (NAME == NULL || NAME->data.V == NULL) { \ 105 if (ACTION == 0) { \ 106 psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \ 107 return(NULL); \ 108 } \ 109 if (ACTION == 1) { \ 110 psAbort(__func__, "Unallowable operation: %s or its data is NULL.", #NAME); \ 111 } \ 99 return(NULL); \ 112 100 } 113 101 … … 120 108 121 109 /** Preprocessor macro to generate error on a NULL poniter */ 122 #define PS_CHECK_NULL_PTR(NAME) \123 if (NAME == NULL) { \124 psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \125 }126 127 /** Preprocessor macro to generate error on a NULL poniter */128 110 #define PS_CHECK_NULL_PTR_RETURN_NULL(NAME) \ 129 111 if (NAME == NULL) { \ 130 112 psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \ 131 113 return(NULL); \ 132 }133 134 /** Preprocessor macro to generate error for zero length vector */135 #define PS_CHECK_EMPTY_VECTOR(NAME) \136 if (NAME->n < 1) { \137 psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \138 }139 140 /** Preprocessor macro to generate error for zero length vector */141 #define PS_CHECK_EMPTY_VECTOR_ACTION(NAME, ACTION) \142 if (NAME->n < 1) { \143 if (ACTION == 0) { \144 psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \145 return(NULL); \146 } \147 if (ACTION == 1) { \148 psAbort(__func__,"Unallowable operation: %s has zero n value.", #NAME); \149 } \150 114 } 151 115 … … 158 122 159 123 /** Preprocessor macro to generate error on differing size vectors */ 160 #define PS_CHECK_VECTOR_SIZE_EQUAL (VEC1, VEC2) \124 #define PS_CHECK_VECTOR_SIZE_EQUAL_RETURN_NULL(VEC1, VEC2) \ 161 125 if (VEC1->n != VEC2->n) { \ 162 126 psError(__func__,"Vector %s has size %d, Vector %s has size %d.", #VEC1, VEC1->n, #VEC2, VEC2->n); \ 127 return(NULL); \ 163 128 } 164 129 … … 171 136 172 137 /** Preprocessor macro to generate error on a NULL image */ 173 #define PS_CHECK_NULL_IMAGE (NAME)\138 #define PS_CHECK_NULL_IMAGE_RETURN_NULL(NAME) \ 174 139 if (NAME == NULL || NAME->data.V == NULL) { \ 175 140 psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \ 141 return(NULL); \ 176 142 } 177 143 178 144 /** Preprocessor macro to generate error for zero length rows or columns */ 179 #define PS_CHECK_EMPTY_IMAGE (NAME)\145 #define PS_CHECK_EMPTY_IMAGE_RETURN_NULL(NAME) \ 180 146 if (NAME->numCols < 1 || NAME->numRows < 1) { \ 181 147 psError(__func__,"Unallowable operation: %s has zero rows or columns (%dx%d).", #NAME, \ 182 148 NAME->numCols, NAME->numRows); \ 183 } 184 185 /** Preprocessor macro to generate error on a NULL 1DPolynomial */ 186 #define PS_CHECK_NULL_1DPOLY(NAME) \ 187 if (NAME == NULL || NAME->coeff == NULL) { \ 188 psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \ 189 } 190 191 /** Preprocessor macro to generate error on a NULL 1DPolynomial */ 192 #define PS_CHECK_NULL_1DPOLY_ACTION(NAME, ACTION) \ 193 if (NAME == NULL || NAME->coeff == NULL) { \ 194 if (ACTION == 0) { \ 195 psError(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME); \ 196 return(NULL); \ 197 } \ 198 if (ACTION == 1) { \ 199 psAbort(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME); \ 200 } \ 149 return(NULL); \ 201 150 } 202 151 … … 206 155 return(NULL); \ 207 156 } \ 157 158 159 160 208 161 209 162 #define PS_PRINT_VECTOR(NAME) \ … … 216 169 psVector *X32 = psVectorAlloc(X64->n, PS_TYPE_F32); \ 217 170 for (int i=0;i<X64->n;i++) { \ 218 X32->data.F32[i] = X64->data.F64[i]; \171 X32->data.F32[i] = (float) X64->data.F64[i]; \ 219 172 } \ 173 174 #define PS_VECTOR_F32_TO_F64(X32, X64) \ 175 psVector *X64 = psVectorAlloc(X32->n, PS_TYPE_F64); \ 176 for (int i=0;i<X32->n;i++) { \ 177 X64->data.F64[i] = (float) X32->data.F32[i]; \ 178 } \ 179 220 180 221 181 #define PS_MAX(A, B) \
Note:
See TracChangeset
for help on using the changeset viewer.
