Changeset 2911 for trunk/psLib/test/image/tst_psImageConvolve.c
- Timestamp:
- Jan 5, 2005, 11:16:15 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/image/tst_psImageConvolve.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/image/tst_psImageConvolve.c
r2273 r2911 5 5 * @author Robert DeSonia, MHPCC 6 6 * 7 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $8 * @date $Date: 200 4-11-04 01:05:00$7 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2005-01-05 21:16:15 $ 9 9 * 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii10 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii 11 11 */ 12 12 … … 117 117 static psS32 testKernelGenerate(void) 118 118 { 119 psS32 size = 4;120 psS32 t[] = { 1, 2, 8, 10 };121 psS32 x[] = { 0, 1, 0, -1 };122 psS32 y[] = { 2, 1, -1, -2 };119 psS32 size = 5; 120 psS32 t[] = { 1, 2, 8, 9, 10 }; 121 psS32 x[] = { 0, 1, 0, -1, 0 }; 122 psS32 y[] = { 2, 1, -1, -2, 0 }; 123 123 psKernelType sum; 124 124 … … 142 142 if (result->xMin != -1 || result->xMax != 1 || 143 143 result->yMin != -2 || result->yMax != 2) { 144 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result had a range of [%d:%d,%d:%d]. Suppose to be [ 0:1,1:2].",144 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result had a range of [%d:%d,%d:%d]. Suppose to be [-2:2,-1:1].", 145 145 result->xMin, result->xMax, result->yMin, result->yMax); 146 146 return 2; … … 148 148 149 149 sum = 0.0; 150 printf("Resulting kernel:\n"); 150 151 for (psS32 y = result->yMin; y <= result->yMax; y++) { 151 152 for (psS32 x = result->xMin; x <= result->xMax; x++) { 153 printf(" %6.2f ", result->kernel[y][x]); 152 154 sum += result->kernel[y][x]; 153 155 } 156 printf("\n"); 154 157 } 155 158 if (fabsf(1.0 - sum) > FLT_EPSILON) { … … 161 164 } 162 165 163 if (fabsf(result->kernel[2][0] - 1.0/10.0) > FLT_EPSILON || 164 fabsf(result->kernel[ 1][ 1] - 6.0/10.0) > FLT_EPSILON || 165 fabsf(result->kernel[ 0][ 0] - 1.0/10.0) > FLT_EPSILON || 166 fabsf(result->kernel[-1][ 0] - 2.0/10.0) > FLT_EPSILON || 167 fabsf(result->kernel[-2][-1] - 0.0/10.0) > FLT_EPSILON) { 168 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result values, %g,%g;%g,%g, are wrong. Suppose to be 2,6;1,0.", 169 result->kernel[-1][0], result->kernel[1][1], 170 result->kernel[2][0], result->kernel[-2][-1]); 166 if (fabsf(result->kernel[-2][0] - 0.1) > FLT_EPSILON || 167 fabsf(result->kernel[ -1][ -1] - 0.1) > FLT_EPSILON || 168 fabsf(result->kernel[ 1][ 0] - 0.6) > FLT_EPSILON || 169 fabsf(result->kernel[2][1] - 0.1) > FLT_EPSILON) { 170 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result values, %g,%g,%g,%g, are wrong. Suppose to be 0.1,0.1,0.6,0.1", 171 result->kernel[-2][0], result->kernel[-1][-1], 172 result->kernel[1][0], result->kernel[2][1]); 171 173 172 174 return 4; … … 203 205 204 206 sum = 0.0; 207 printf("Resulting kernel (relative=true):\n"); 205 208 for (psS32 y = result->yMin; y <= result->yMax; y++) { 206 209 for (psS32 x = result->xMin; x <= result->xMax; x++) { 210 printf(" %6.2f ", result->kernel[y][x]); 207 211 sum += result->kernel[y][x]; 208 212 } 213 printf("\n"); 209 214 } 210 215 if (fabsf(1.0 - sum) > FLT_EPSILON) { … … 216 221 } 217 222 218 if (fabsf(result->kernel[0][0] - 1 .0/21.0) > FLT_EPSILON ||219 fabsf(result->kernel[2][0] - 2.0/21.0) > FLT_EPSILON ||220 fabsf(result->kernel[ 3][1] - 8.0/21.0) > FLT_EPSILON ||221 fabsf(result->kernel[ 2][1] - 10.0/21.0) > FLT_EPSILON) {223 if (fabsf(result->kernel[0][0] - 19.0/30.0) > FLT_EPSILON || 224 fabsf(result->kernel[2][0] - 1.0/30.0) > FLT_EPSILON || 225 fabsf(result->kernel[2][1] - 8.0/30.0) > FLT_EPSILON || 226 fabsf(result->kernel[3][1] - 2.0/30.0) > FLT_EPSILON) { 222 227 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result values, %g,%g;%g,%g, are wrong. Suppose to be 2,6;1,0.", 223 result->kernel[ 1][0], result->kernel[1][1],224 result->kernel[2][ 0], result->kernel[2][1]);228 result->kernel[0][0], result->kernel[2][0], 229 result->kernel[2][1], result->kernel[3][1]); 225 230 226 231 return 8; … … 243 248 244 249 tVec->n--; // decrease size by one to make vectors unequal in length. 245 psLogMsg(__func__,PS_LOG_INFO, "Following should be a warning - not automatically tested.");250 psLogMsg(__func__,PS_LOG_INFO, "Following should be an error."); 246 251 result = psKernelGenerate(tVec, xVec, yVec, false); 247 if (result == NULL) {248 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate returned NULL.");252 if (result != NULL) { 253 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate returned non-NULL given differing sized vectors."); 249 254 return 9; 250 }251 252 // make sure last sample is not used253 if (fabsf(result->kernel[2][0] - 1.0/8.0) > FLT_EPSILON ||254 fabsf(result->kernel[ 1][ 1] - 6.0/8.0) > FLT_EPSILON ||255 fabsf(result->kernel[ 0][ 0] - 1.0/8.0) > FLT_EPSILON) {256 psError(PS_ERR_UNKNOWN, true,"psKernelGenerate result values wrong for truncated time vector.");257 258 return 10;259 255 } 260 256
Note:
See TracChangeset
for help on using the changeset viewer.
