Changeset 2204 for trunk/psLib/test/image/tst_psImage.c
- Timestamp:
- Oct 26, 2004, 2:57:34 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/image/tst_psImage.c (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/image/tst_psImage.c
r1929 r2204 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 7$ $Name: not supported by cvs2svn $9 * @date $Date: 2004- 09-29 20:17:58$8 * @version $Revision: 1.28 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-10-27 00:57:33 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 21 21 #include "psType.h" 22 22 23 static inttestImageAlloc(void);24 static inttestImageCopy(void);23 static psS32 testImageAlloc(void); 24 static psS32 testImageCopy(void); 25 25 26 26 testDescription tests[] = { … … 31 31 }; 32 32 33 int main(intargc, char* argv[])33 psS32 main(psS32 argc, char* argv[]) 34 34 { 35 35 psLogSetLevel(PS_LOG_INFO); … … 38 38 } 39 39 40 inttestImageAlloc(void)40 psS32 testImageAlloc(void) 41 41 { 42 42 psImage* image = NULL; 43 unsigned intsizes = 6;44 unsigned intnumCols[] = {45 0,1,1,100,100,15046 };47 unsigned intnumRows[] = {48 0,1,100,1,150,10049 };50 unsigned inttypes = 13;43 psU32 sizes = 6; 44 psU32 numCols[] = { 45 0,1,1,100,100,150 46 }; 47 psU32 numRows[] = { 48 0,1,100,1,150,100 49 }; 50 psU32 types = 13; 51 51 psElemType type[] = { PS_TYPE_S8, PS_TYPE_S16, PS_TYPE_S32, PS_TYPE_S64, 52 52 PS_TYPE_U8, PS_TYPE_U16, PS_TYPE_U32, PS_TYPE_U64, … … 56 56 psLogMsg(__func__,PS_LOG_INFO,"#546 - psImageAlloc shall allocate memory for a psImage structure"); 57 57 58 for ( unsigned intt=0;t<types;t++) {58 for (psU32 t=0;t<types;t++) { 59 59 psLogMsg(__func__,PS_LOG_INFO,"Testing psImage with type %xh",type[t]); 60 60 61 for ( unsigned inti=0;i<sizes;i++) {61 for (psU32 i=0;i<sizes;i++) { 62 62 63 63 if (numRows[i] == 0 || numCols[i] == 0) { … … 112 112 switch (type[t]) { 113 113 case PS_TYPE_U16: { 114 unsigned introws = numRows[i];115 unsigned intcols = numCols[i];116 117 for ( intr=0;r<rows;r++) {118 for ( intc=0;c<cols;c++) {114 psU32 rows = numRows[i]; 115 psU32 cols = numCols[i]; 116 117 for (psS32 r=0;r<rows;r++) { 118 for (psS32 c=0;c<cols;c++) { 119 119 image->data.U16[r][c] = 2*c+r; 120 120 } 121 121 } 122 for ( intr=0;r<rows;r++) {123 for ( intc=0;c<cols;c++) {122 for (psS32 r=0;r<rows;r++) { 123 for (psS32 c=0;c<cols;c++) { 124 124 if (image->data.U16[r][c] != 2*c+r) { 125 125 psError(__func__,"Could not set all pixels in uint16 image at (%d,%d)",c,r); … … 132 132 break; 133 133 case PS_TYPE_F32: { 134 unsigned introws = numRows[i];135 unsigned intcols = numCols[i];136 137 for ( intr=0;r<rows;r++) {138 for ( intc=0;c<cols;c++) {134 psU32 rows = numRows[i]; 135 psU32 cols = numCols[i]; 136 137 for (psS32 r=0;r<rows;r++) { 138 for (psS32 c=0;c<cols;c++) { 139 139 image->data.F32[r][c] = 2.0f*c+r; 140 140 } 141 141 } 142 for ( intr=0;r<rows;r++) {143 for ( intc=0;c<cols;c++) {142 for (psS32 r=0;r<rows;r++) { 143 for (psS32 c=0;c<cols;c++) { 144 144 if (fabsf(image->data.F32[r][c] - (2.0f*c+r)) > FLT_EPSILON) { 145 145 psError(__func__,"Could not set all pixels in float image at (%d,%d)",c,r); … … 152 152 break; 153 153 case PS_TYPE_F64: { 154 unsigned introws = numRows[i];155 unsigned intcols = numCols[i];156 157 for ( intr=0;r<rows;r++) {158 for ( intc=0;c<cols;c++) {154 psU32 rows = numRows[i]; 155 psU32 cols = numCols[i]; 156 157 for (psS32 r=0;r<rows;r++) { 158 for (psS32 c=0;c<cols;c++) { 159 159 image->data.F64[r][c] = 2.0f*c+r; 160 160 } 161 161 } 162 for ( intr=0;r<rows;r++) {163 for ( intc=0;c<cols;c++) {162 for (psS32 r=0;r<rows;r++) { 163 for (psS32 c=0;c<cols;c++) { 164 164 if (fabs(image->data.F64[r][c] - (2.0f*c+r)) > DBL_EPSILON) { 165 165 psError(__func__,"Could not set all pixels in double image at (%d,%d)",c,r); … … 172 172 break; 173 173 case PS_TYPE_C32: { 174 unsigned introws = numRows[i];175 unsigned intcols = numCols[i];176 177 for ( intr=0;r<rows;r++) {178 for ( intc=0;c<cols;c++) {174 psU32 rows = numRows[i]; 175 psU32 cols = numCols[i]; 176 177 for (psS32 r=0;r<rows;r++) { 178 for (psS32 c=0;c<cols;c++) { 179 179 image->data.C32[r][c] = r + I * c; 180 180 } 181 181 } 182 for ( intr=0;r<rows;r++) {183 for ( intc=0;c<cols;c++) {182 for (psS32 r=0;r<rows;r++) { 183 for (psS32 c=0;c<cols;c++) { 184 184 if (fabsf(crealf(image->data.C32[r][c]) - r) > FLT_EPSILON || 185 185 fabsf(cimagf(image->data.C32[r][c]) - c) > FLT_EPSILON ) { … … 193 193 break; 194 194 case PS_TYPE_PTR: { 195 unsigned introws = numRows[i];196 unsigned intcols = numCols[i];195 psU32 rows = numRows[i]; 196 psU32 cols = numCols[i]; 197 197 psImage* temp = psImageAlloc(1,1,PS_TYPE_F32); 198 198 199 for ( intr=0;r<rows;r++) {200 for ( intc=0;c<cols;c++) {199 for (psS32 r=0;r<rows;r++) { 200 for (psS32 c=0;c<cols;c++) { 201 201 image->data.PTR[r][c] = psMemIncrRefCounter(temp); 202 202 } 203 203 } 204 for ( intr=0;r<rows;r++) {205 for ( intc=0;c<cols;c++) {204 for (psS32 r=0;r<rows;r++) { 205 for (psS32 c=0;c<cols;c++) { 206 206 if (image->data.PTR[r][c] != temp) { 207 207 psError(__func__, "Could not set pixel in pointer image at (%d,%d): %x %x", … … 218 218 default: { 219 219 // ignore type and just use as byte bucket. 220 unsigned introws = numRows[i];221 unsigned intcols = numCols[i]*PSELEMTYPE_SIZEOF(type[t]);222 223 for ( intr=0;r<rows;r++) {224 for ( intc=0;c<cols;c++) {220 psU32 rows = numRows[i]; 221 psU32 cols = numCols[i]*PSELEMTYPE_SIZEOF(type[t]); 222 223 for (psS32 r=0;r<rows;r++) { 224 for (psS32 c=0;c<cols;c++) { 225 225 image->data.U8[r][c] = (uint8_t)(r + c); 226 226 } 227 227 } 228 for ( intr=0;r<rows;r++) {229 for ( intc=0;c<cols;c++) {228 for (psS32 r=0;r<rows;r++) { 229 for (psS32 c=0;c<cols;c++) { 230 230 if (image->data.U8[r][c] != (uint8_t)(r + c)) { 231 231 psError(__func__,"Could not set all pixels in image (type=%d) at (%d,%d)", … … 253 253 } 254 254 255 inttestImageCopy(void)255 psS32 testImageCopy(void) 256 256 { 257 257 psImage* img = NULL; … … 259 259 psImage* img3 = NULL; 260 260 psImage* img4 = NULL; 261 unsigned intc = 128;262 unsigned intr = 256;261 psU32 c = 128; 262 psU32 r = 256; 263 263 264 264 img = psImageAlloc(c,r,PS_TYPE_F32); … … 296 296 return 4; 297 297 } 298 for ( unsigned introw=0;row<r;row++) {298 for (psU32 row=0;row<r;row++) { 299 299 psF32* imgInRow = img->data.F32[row]; 300 300 psF32* imgOutRow = img4->data.F32[row]; … … 324 324 return 2; \ 325 325 } \ 326 for ( unsigned introw=0;row<r;row++) { \326 for (psU32 row=0;row<r;row++) { \ 327 327 ps##IN* imgRow = img->data.IN[row]; \ 328 328 ps##OUT* img2Row = img2->data.OUT[row]; \ 329 for ( unsigned intcol=0;col<c;col++) { \329 for (psU32 col=0;col<c;col++) { \ 330 330 if (abs(imgRow[col] - (ps##IN)(row+col)) > 0.5) { \ 331 331 psError(__func__,"Input image was changed at %d,%d!", \
Note:
See TracChangeset
for help on using the changeset viewer.
