Changeset 1404 for trunk/psLib/test/dataManip
- Timestamp:
- Aug 6, 2004, 11:50:14 AM (22 years ago)
- Location:
- trunk/psLib/test/dataManip
- Files:
-
- 8 edited
-
tst_psVectorFFT.c (modified) (16 diffs)
-
verified/tst_psMatrix02.stderr (modified) (1 diff)
-
verified/tst_psMatrix03.stderr (modified) (1 diff)
-
verified/tst_psMatrix04.stderr (modified) (1 diff)
-
verified/tst_psMatrix07.stderr (modified) (1 diff)
-
verified/tst_psMatrixVectorArithmetic02.stdout (modified) (6 diffs)
-
verified/tst_psMatrixVectorArithmetic03.stderr (modified) (1 diff)
-
verified/tst_psVectorFFT.stderr (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/dataManip/tst_psVectorFFT.c
r1365 r1404 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-08-0 2 19:43:23 $8 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-08-06 21:50:13 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 21 21 img = psImageAlloc(c,r,PS_TYPE_##TYP); \ 22 22 for (unsigned int row=0;row<r;row++) { \ 23 ps##TYP* imgRow = img->data.TYP[row]; \24 for (unsigned int col=0;col<c;col++) { \25 imgRow[col] = (ps##TYP)(valueFcn); \26 } \27 }28 23 ps##TYP* imgRow = img->data.TYP[row]; \ 24 for (unsigned int col=0;col<c;col++) { \ 25 imgRow[col] = (ps##TYP)(valueFcn); \ 26 } \ 27 } 28 29 29 static int testVectorFFT( void ); 30 30 static int testVectorRealImaginary( void ); … … 53 53 } 54 54 }; 55 55 56 56 int main( int argc, char* argv[] ) 57 57 { 58 58 psLogSetLevel( PS_LOG_INFO ); 59 59 60 60 return ( ! runTestSuite( stderr, "psFFT", tests, argc, argv ) ); 61 61 } … … 66 66 psVector* vec2 = NULL; 67 67 psVector* vec3 = NULL; 68 68 69 69 /* 70 70 1. assign a vector to a sinisoid … … 74 74 5. compare to original (should be equal to within a reasonable error) 75 75 */ 76 76 77 77 // 1. assign a vector to a sinisoid 78 78 vec = psVectorAlloc( 100, PS_TYPE_F32 ); 79 79 vec->n = vec->nalloc; 80 80 for ( unsigned int n = 0; n < 100; n++ ) { 81 vec->data.F32[ n ] = sinf( ( psF32 ) n / 50.0f * M_PI );82 }83 81 vec->data.F32[ n ] = sinf( ( psF32 ) n / 50.0f * M_PI ); 82 } 83 84 84 // 2. perform a forward transform 85 85 vec2 = psVectorFFT( NULL, vec, PS_FFT_FORWARD ); 86 86 if ( vec2->type.type != PS_TYPE_C32 ) { 87 psError( __func__, "FFT didn't produce complex values?" ); 88 return 1; 87 psError( __func__, "FFT didn't produce complex values?" ); 88 return 1; 89 } 90 91 92 // 3. verify that the only significant component cooresponds to the freqency of the input in step 1. 93 for ( unsigned int n = 0; n < 100; n++ ) { 94 if ( n == 1 || n == 99 ) { 95 if ( fabsf( cabsf( vec2->data.C32[ n ] ) - 50.0f ) > 0.1f ) { 96 psError( __func__, "FFT didn't work for vector (n=%d)", n ); 97 return 2; 98 } 99 } else { 100 if ( fabsf( cabsf( vec2->data.C32[ n ] ) ) > 0.1f ) { 101 psError( __func__, "FFT didn't work for vector (n=%d)", n ); 102 return 3; 103 } 89 104 } 90 91 92 // 3. verify that the only significant component cooresponds to the freqency of the input in step 1. 93 for ( unsigned int n = 0; n < 100; n++ ) { 94 if ( n == 1 || n == 99 ) { 95 if ( fabsf( cabsf( vec2->data.C32[ n ] ) - 50.0f ) > 0.1f ) { 96 psError( __func__, "FFT didn't work for vector (n=%d)", n ); 97 return 2; 98 } 99 } else { 100 if ( fabsf( cabsf( vec2->data.C32[ n ] ) ) > 0.1f ) { 101 psError( __func__, "FFT didn't work for vector (n=%d)", n ); 102 return 3; 103 } 104 } 105 } 106 105 } 106 107 107 // 4. perform a reverse transform 108 108 vec3 = psVectorFFT( NULL, vec2, PS_FFT_REVERSE ); 109 109 if ( vec3->type.type != PS_TYPE_C32 ) { 110 psError( __func__, "FFT didn't produce complex values?" ); 111 return 4; 110 psError( __func__, "FFT didn't produce complex values?" ); 111 return 4; 112 } 113 for ( unsigned int n = 0; n < 100; n++ ) { 114 psF32 val = sinf( ( psF32 ) n / 50.0f * M_PI ); 115 psF32 vecVal = crealf( vec3->data.C32[ n ] ) / 100; 116 if ( fabsf( vecVal - val ) > 0.1f ) { 117 psError( __func__, "Reverse FFT didn't give me the original vector back (n=%d) (%.2f vs %.2f)", 118 n, vecVal, val ); 119 return 5; 112 120 } 113 for ( unsigned int n = 0; n < 100; n++ ) { 114 psF32 val = sinf( ( psF32 ) n / 50.0f * M_PI ); 115 psF32 vecVal = crealf( vec3->data.C32[ n ] ) / 100; 116 if ( fabsf( vecVal - val ) > 0.1f ) { 117 psError( __func__, "Reverse FFT didn't give me the original vector back (n=%d) (%.2f vs %.2f)", 118 n, vecVal, val ); 119 return 5; 120 } 121 } 122 121 } 122 123 123 psFree( vec ); 124 124 psFree( vec2 ); 125 125 psFree( vec3 ); 126 126 127 127 return 0; 128 128 } … … 133 133 psVector* vec2 = NULL; 134 134 psVector* vec3 = NULL; 135 135 136 136 /* 137 137 1. create a C32 complex vector with distinctly different real and imaginary parts. … … 139 139 3. compare results to the real/imaginary components of input 140 140 */ 141 141 142 142 // 1. create a C32 complex vector with distinctly different real and imaginary parts. 143 143 vec = psVectorAlloc( 100, PS_TYPE_C32 ); 144 144 vec->n = vec->nalloc; 145 145 for ( unsigned int n = 0; n < 100; n++ ) { 146 vec->data.C32[ n ] = n + I * ( n * 2 );147 }148 146 vec->data.C32[ n ] = n + I * ( n * 2 ); 147 } 148 149 149 // 2. call psVectorReal and psVectorImaginary 150 150 vec2 = psVectorReal( vec2, vec ); 151 151 if ( vec2 == NULL ) { 152 psError( __func__, "psVectorReal returned a NULL?" );153 return 1;154 }152 psError( __func__, "psVectorReal returned a NULL?" ); 153 return 1; 154 } 155 155 if ( vec2->type.type != PS_TYPE_F32 ) { 156 psError( __func__, "psVectorReal returned a wrong type (%d)?",157 vec2->type.type );158 return 2;159 }160 156 psError( __func__, "psVectorReal returned a wrong type (%d)?", 157 vec2->type.type ); 158 return 2; 159 } 160 161 161 vec3 = psVectorImaginary( vec3, vec ); 162 162 if ( vec3 == NULL ) { 163 psError( __func__, "psVectorImaginary returned a NULL?" ); 164 return 3; 163 psError( __func__, "psVectorImaginary returned a NULL?" ); 164 return 3; 165 } 166 if ( vec3->type.type != PS_TYPE_F32 ) { 167 psError( __func__, "psVectorImaginary returned a wrong type (%d)?", 168 vec3->type.type ); 169 return 4; 170 } 171 172 // 3. compare results to the real/imaginary components of input 173 for ( unsigned int n = 0; n < 100; n++ ) { 174 psF32 r = n; 175 psF32 i = ( n * 2 ); 176 if ( fabsf( vec2->data.F32[ n ] - r ) > FLT_EPSILON ) { 177 psError( __func__, "psVectorReal didn't return the real portion at n=%d", 178 n ); 179 return 5; 165 180 } 166 if ( vec3->type.type != PS_TYPE_F32) {167 psError( __func__, "psVectorImaginary returned a wrong type (%d)?",168 vec3->type.type);169 return 4;181 if ( fabsf( vec3->data.F32[ n ] - i ) > FLT_EPSILON ) { 182 psError( __func__, "psVectorImaginary didn't return the real portion at n=%d", 183 n ); 184 return 6; 170 185 } 171 172 // 3. compare results to the real/imaginary components of input 173 for ( unsigned int n = 0; n < 100; n++ ) { 174 psF32 r = n; 175 psF32 i = ( n * 2 ); 176 if ( fabsf( vec2->data.F32[ n ] - r ) > FLT_EPSILON ) { 177 psError( __func__, "psVectorReal didn't return the real portion at n=%d", 178 n ); 179 return 5; 180 } 181 if ( fabsf( vec3->data.F32[ n ] - i ) > FLT_EPSILON ) { 182 psError( __func__, "psVectorImaginary didn't return the real portion at n=%d", 183 n ); 184 return 6; 185 } 186 } 187 186 } 187 188 188 psFree( vec ); 189 189 psFree( vec2 ); 190 190 psFree( vec3 ); 191 191 192 192 return 0; 193 193 } … … 198 198 psVector* vec2 = NULL; 199 199 psVector* vec3 = NULL; 200 200 201 201 /* 202 202 1. create two unique psF32 vectors of the same size … … 205 205 4. call psVectorReal and psVectorImaginary on step 2 results 206 206 5. compare step 4 results to input. 207 207 208 208 6. create a psF32 and a psF64 vector of the same size 209 209 7. call psVectorComplex 210 210 8. verify that an appropriate error occurred. 211 211 212 212 9. create two psf32 vectors of different sizes 213 213 10. call psVectorComplex 214 214 11. verify thet an appropriate error occurred. 215 215 */ 216 216 217 217 // 1. create two unique psF32 vectors of the same size 218 218 vec = psVectorAlloc( 100, PS_TYPE_F32 ); … … 221 221 vec2->n = vec2->nalloc; 222 222 for ( unsigned int n = 0; n < 100; n++ ) { 223 vec->data.F32[ n ] = n;224 vec2->data.F32[ n ] = ( n * 2 );225 }226 223 vec->data.F32[ n ] = n; 224 vec2->data.F32[ n ] = ( n * 2 ); 225 } 226 227 227 // 2. call psVectorComplex 228 228 vec3 = psVectorComplex( vec3, vec, vec2 ); 229 229 230 230 // 3. verify that the result is a psC32 231 231 if ( vec3->type.type != PS_TYPE_C32 ) { 232 psError( __func__, "Vector Type from psVectorComplex is not complex? (%d)",233 vec3->type.type );234 return 1;235 }236 232 psError( __func__, "Vector Type from psVectorComplex is not complex? (%d)", 233 vec3->type.type ); 234 return 1; 235 } 236 237 237 // 4. call psVectorReal and psVectorImaginary on step 2 results (not needed, just use crealf/cimagf) 238 238 // 5. compare step 4 results to input. 239 239 for ( unsigned int n = 0; n < 100; n++ ) { 240 if ( fabsf( crealf( vec3->data.C32[ n ] ) - n ) > FLT_EPSILON ||241 fabsf( cimagf( vec3->data.C32[ n ] ) - ( n * 2 ) ) > FLT_EPSILON ) {242 psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",243 n, crealf( vec3->data.C32[ n ] ), cimagf( vec3->data.C32[ n ] ) );244 return 2;245 };246 }247 248 240 if ( fabsf( crealf( vec3->data.C32[ n ] ) - n ) > FLT_EPSILON || 241 fabsf( cimagf( vec3->data.C32[ n ] ) - ( n * 2 ) ) > FLT_EPSILON ) { 242 psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)", 243 n, crealf( vec3->data.C32[ n ] ), cimagf( vec3->data.C32[ n ] ) ); 244 return 2; 245 }; 246 } 247 248 249 249 // 6. create a psF32 and a psF64 vector of the same size 250 vec2 = psVectorRecycle( vec2, PS_TYPE_F64, 100);251 250 vec2 = psVectorRecycle( vec2, 100, PS_TYPE_F64 ); 251 252 252 // 7. call psVectorComplex 253 253 psLogMsg( __func__, PS_LOG_INFO, "Following should be an error (type mismatch)." ); … … 255 255 // 8. verify that an appropriate error occurred. (this partially has to be done via inspection) 256 256 if ( vec3 != NULL ) { 257 psError( __func__, "psVectorComplex returned a vector though input types mismatched." );258 return 3;259 }260 257 psError( __func__, "psVectorComplex returned a vector though input types mismatched." ); 258 return 3; 259 } 260 261 261 // 9. create two psf32 vectors of different sizes 262 vec2 = psVectorRecycle( vec2, PS_TYPE_F32, 200);263 262 vec2 = psVectorRecycle( vec2, 200, PS_TYPE_F32 ); 263 264 264 // 10. call psVectorComplex 265 265 vec3 = psVectorComplex( vec3, vec, vec2 ); 266 266 267 267 // 11. verify thet an appropriate error occurred. (actually, it isn't an error...) 268 268 if ( vec3->n != 100 ) { 269 psError( __func__, "psVectorComplex returned a larger vector than the input supported (%d).", vec3->n );270 return 4;271 }272 269 psError( __func__, "psVectorComplex returned a larger vector than the input supported (%d).", vec3->n ); 270 return 4; 271 } 272 273 273 psFree( vec ); 274 274 psFree( vec2 ); 275 275 psFree( vec3 ); 276 276 277 277 return 0; 278 278 } … … 282 282 psVector * vec = NULL; 283 283 psVector* vec2 = NULL; 284 284 285 285 /* 286 286 1. create a psC32 with unique real and imaginary values. … … 289 289 4. verify each value is conjugate of input (a+bi -> a-bi) 290 290 */ 291 291 292 292 // 1. create a psC32 with unique real and imaginary values. 293 293 vec = psVectorAlloc( 100, PS_TYPE_C32 ); 294 294 vec->n = vec->nalloc; 295 295 for ( unsigned int n = 0; n < 100; n++ ) { 296 vec->data.C32[ n ] = n + I * ( n * 2 );297 }298 296 vec->data.C32[ n ] = n + I * ( n * 2 ); 297 } 298 299 299 // 2. call psVectorConjugate 300 300 vec2 = psVectorConjugate( vec2, vec ); 301 301 302 302 // 3. verify result is psC32 303 303 if ( vec2->type.type != PS_TYPE_C32 ) { 304 psError( __func__, "the psVectorConjugate didn't return a C32 vector" );305 return 1;306 }307 304 psError( __func__, "the psVectorConjugate didn't return a C32 vector" ); 305 return 1; 306 } 307 308 308 // 4. verify each value is conjugate of input (a+bi -> a-bi) 309 309 for ( unsigned int n = 0; n < 100; n++ ) { 310 if ( fabsf( crealf( vec->data.C32[ n ] ) - crealf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ||311 fabsf( cimagf( vec->data.C32[ n ] ) + cimagf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ) {312 psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",313 n, crealf( vec2->data.C32[ n ] ), cimagf( vec2->data.C32[ n ] ) );314 return 2;315 };316 }317 318 psFree( vec ); 319 psFree( vec2 ); 320 310 if ( fabsf( crealf( vec->data.C32[ n ] ) - crealf( vec2->data.C32[ n ] ) ) > FLT_EPSILON || 311 fabsf( cimagf( vec->data.C32[ n ] ) + cimagf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ) { 312 psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)", 313 n, crealf( vec2->data.C32[ n ] ), cimagf( vec2->data.C32[ n ] ) ); 314 return 2; 315 }; 316 } 317 318 psFree( vec ); 319 psFree( vec2 ); 320 321 321 return 0; 322 322 } … … 327 327 psVector* vec2 = NULL; 328 328 psF32 val; 329 329 330 330 /* 331 331 1. create a psC32 vector with unique real and imaginary components … … 334 334 4. verify the values are the square of the absolute values of the original 335 335 */ 336 336 337 337 // 1. create a psC32 vector with unique real and imaginary components 338 338 vec = psVectorAlloc( 100, PS_TYPE_C32 ); 339 339 vec->n = vec->nalloc; 340 340 for ( unsigned int n = 0; n < 100; n++ ) { 341 vec->data.C32[ n ] = n + I * sinf( ( ( psF32 ) n ) / 50.f * M_PI );342 }343 341 vec->data.C32[ n ] = n + I * sinf( ( ( psF32 ) n ) / 50.f * M_PI ); 342 } 343 344 344 // 2. call psVectorPowerSpectrum 345 345 vec2 = psVectorPowerSpectrum( vec2, vec ); 346 346 347 347 // 3. verify result is psF32 348 348 if ( vec2->type.type != PS_TYPE_F32 ) { 349 psError( __func__, "the type was not PS_TYPE_F32." );350 return 1;351 }352 349 psError( __func__, "the type was not PS_TYPE_F32." ); 350 return 1; 351 } 352 353 353 // 4. verify the values are the square of the absolute values of the original 354 354 // (ADD specifies something else) … … 357 357 // P_N/2 = |C_N/2|^2/N^2 358 358 // where j = 1,2,...,(N/2-1) 359 359 360 360 val = cabsf( vec->data.C32[ 0 ] ) * cabsf( vec->data.C32[ 0 ] ) / 100 / 100; 361 361 if ( fabsf( vec2->data.F32[ 0 ] - val ) > FLT_EPSILON ) { 362 psError( __func__, "psVectorPowerSpectrum result is invalid (n=0, %.2f %.2f)", 363 vec2->data.F32[ 0 ], val ); 362 psError( __func__, "psVectorPowerSpectrum result is invalid (n=0, %.2f %.2f)", 363 vec2->data.F32[ 0 ], val ); 364 return 2; 365 }; 366 367 for ( unsigned int n = 1; n < 50; n++ ) { 368 val = ( cabsf( vec->data.C32[ n ] ) * cabsf( vec->data.C32[ n ] ) + 369 cabsf( vec->data.C32[ 100 - n ] ) * cabsf( vec->data.C32[ 100 - n ] ) ) / 100 / 100; 370 371 if ( fabsf( val - vec2->data.F32[ n ] ) > FLT_EPSILON ) { 372 psError( __func__, "psVectorPowerSpectrum result is invalid (n=%d, %.2f %.2f)", 373 n, vec2->data.F32[ n ], val ); 364 374 return 2; 365 375 }; 366 367 for ( unsigned int n = 1; n < 50; n++ ) { 368 val = ( cabsf( vec->data.C32[ n ] ) * cabsf( vec->data.C32[ n ] ) + 369 cabsf( vec->data.C32[ 100 - n ] ) * cabsf( vec->data.C32[ 100 - n ] ) ) / 100 / 100; 370 371 if ( fabsf( val - vec2->data.F32[ n ] ) > FLT_EPSILON ) { 372 psError( __func__, "psVectorPowerSpectrum result is invalid (n=%d, %.2f %.2f)", 373 n, vec2->data.F32[ n ], val ); 374 return 2; 375 }; 376 } 377 376 } 377 378 378 val = cabsf( vec->data.C32[ 50 ] ) * cabsf( vec->data.C32[ 50 ] ) / 100 / 100; 379 379 if ( fabsf( vec2->data.F32[ 50 ] - val ) > FLT_EPSILON ) { 380 psError( __func__, "psVectorPowerSpectrum result is invalid (n=50, %.2f %.2f)",381 vec2->data.F32[ 0 ], val );382 return 2;383 };384 385 psFree( vec ); 386 psFree( vec2 ); 387 388 return 0; 389 } 380 psError( __func__, "psVectorPowerSpectrum result is invalid (n=50, %.2f %.2f)", 381 vec2->data.F32[ 0 ], val ); 382 return 2; 383 }; 384 385 psFree( vec ); 386 psFree( vec2 ); 387 388 return 0; 389 } -
trunk/psLib/test/dataManip/verified/tst_psMatrix02.stderr
r1198 r1404 1 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: Pointer to inImage is same as outImage.2 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage or its data is NULL.3 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not PS_TYPE_F64.4 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not square array.5 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not PS_TYPE_F64.6 <DATE> <TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not square array.1 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: Pointer to inImage is same as outImage. 2 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage or its data is NULL. 3 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not PS_TYPE_F64. 4 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not square array. 5 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not PS_TYPE_F64. 6 <DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not square array. -
trunk/psLib/test/dataManip/verified/tst_psMatrix03.stderr
r1198 r1404 1 <DATE> <TIME>|<HOST>|E| psMatrixLUD|Invalid operation: inImage or its data is NULL.2 <DATE> <TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inVector or its data is NULL.3 <DATE> <TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inImage or its data is NULL.1 <DATE><TIME>|<HOST>|E| psMatrixLUD|Invalid operation: inImage or its data is NULL. 2 <DATE><TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inVector or its data is NULL. 3 <DATE><TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inImage or its data is NULL. -
trunk/psLib/test/dataManip/verified/tst_psMatrix04.stderr
r1198 r1404 1 <DATE> <TIME>|<HOST>|E| psMatrixInvert|Invalid operation: inImage or its data is NULL.2 <DATE> <TIME>|<HOST>|E| psMatrixInvert|Invalid operation: determinant argument is NULL.1 <DATE><TIME>|<HOST>|E| psMatrixInvert|Invalid operation: inImage or its data is NULL. 2 <DATE><TIME>|<HOST>|E| psMatrixInvert|Invalid operation: determinant argument is NULL. -
trunk/psLib/test/dataManip/verified/tst_psMatrix07.stderr
r1198 r1404 1 <DATE> <TIME>|<HOST>|E|psMatrixToVecto|Invalid operation: inImage or its data is NULL.2 <DATE> <TIME>|<HOST>|E|psMatrixToVecto|Image does not have dim with 1 col or 1 row: (2 x 2).3 <DATE> <TIME>|<HOST>|E|psVectorToMatri|Invalid operation: inVector or its data is NULL.1 <DATE><TIME>|<HOST>|E|psMatrixToVecto|Invalid operation: inImage or its data is NULL. 2 <DATE><TIME>|<HOST>|E|psMatrixToVecto|Image does not have dim with 1 col or 1 row: (2 x 2). 3 <DATE><TIME>|<HOST>|E|psVectorToMatri|Invalid operation: inVector or its data is NULL. -
trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic02.stdout
r1403 r1404 664 664 665 665 Output: 666 2.51 +0.00i 2.51+0.00i667 2.51 +0.00i 2.51+0.00i668 2.51 +0.00i 2.51+0.00i666 2.51-0.00i 2.51-0.00i 667 2.51-0.00i 2.51-0.00i 668 2.51-0.00i 2.51-0.00i 669 669 670 670 … … 1168 1168 1169 1169 Output: 1170 89 891171 89 891172 89 891170 90 90 1171 90 90 1172 90 90 1173 1173 1174 1174 … … 1360 1360 1361 1361 Output: 1362 89 891363 89 891364 89 891362 90 90 1363 90 90 1364 90 90 1365 1365 1366 1366 … … 2296 2296 2297 2297 Output: 2298 2.51 +0.00i2299 2.51 +0.00i2300 2.51 +0.00i2298 2.51-0.00i 2299 2.51-0.00i 2300 2.51-0.00i 2301 2301 2302 2302 … … 2800 2800 2801 2801 Output: 2802 89 2803 89 2804 89 2802 90 2803 90 2804 90 2805 2805 2806 2806 … … 2992 2992 2993 2993 Output: 2994 89 2995 89 2996 89 2994 90 2995 90 2996 90 2997 2997 2998 2998 -
trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic03.stderr
r1403 r1404 1 <DATE> <TIME> |<HOST>|E| psBinaryOp|: Line 403- Null out argument2 <DATE> <TIME> |<HOST>|E| psBinaryOp|: Line 409- Null in1 argument3 <DATE> <TIME> |<HOST>|E| psBinaryOp|: Line 415- Null in2 argument4 <DATE> <TIME> |<HOST>|E| psBinaryOp|: Line 420- Null op argument5 <DATE> <TIME> |<HOST>|E| psUnaryOp|: Line 718- Null out argument6 <DATE> <TIME> |<HOST>|E| psUnaryOp|: Line 724- Null in argument7 <DATE> <TIME> |<HOST>|E| psUnaryOp|: Line 729- Null op argument8 <DATE> <TIME> |<HOST>|E| psBinaryOp|: Line 432- Element types for arguments inconsistent: (1028, 1032, 1032)9 <DATE> <TIME> |<HOST>|E| psUnaryOp|: Line 739- Element types for arguments inconsistent: (1028, 1032)10 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 311 <DATE> <TIME>|<HOST>|E| psUnaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 312 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: 2 vs 313 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: 2 vs 314 <DATE> <TIME> |<HOST>|E| psUnaryOp|: Line 745- Dimensionality for arguments inconsistent: (1, 3)15 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero16 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero17 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero18 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero19 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero20 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero21 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero22 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero23 <DATE> <TIME>|<HOST>|E| psNanDiv|: Divide by zero24 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Minimum operation not supported for complex numbers25 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Maximum operation not supported for complex numbers26 <DATE> <TIME>|<HOST>|E| psBinaryOp|: Invalid operation: yarg27 <DATE> <TIME>|<HOST>|E| psUnaryOp|: Invalid operation: yarg1 <DATE><TIME>|<HOST>|E| psBinaryOp|: Line <LINENO> - Null out argument 2 <DATE><TIME>|<HOST>|E| psBinaryOp|: Line <LINENO> - Null in1 argument 3 <DATE><TIME>|<HOST>|E| psBinaryOp|: Line <LINENO> - Null in2 argument 4 <DATE><TIME>|<HOST>|E| psBinaryOp|: Line <LINENO> - Null op argument 5 <DATE><TIME>|<HOST>|E| psUnaryOp|: Line <LINENO> - Null out argument 6 <DATE><TIME>|<HOST>|E| psUnaryOp|: Line <LINENO> - Null in argument 7 <DATE><TIME>|<HOST>|E| psUnaryOp|: Line <LINENO> - Null op argument 8 <DATE><TIME>|<HOST>|E| psBinaryOp|: Line <LINENO> - Element types for arguments inconsistent: (1028, 1032, 1032) 9 <DATE><TIME>|<HOST>|E| psUnaryOp|: Line <LINENO> - Element types for arguments inconsistent: (1028, 1032) 10 <DATE><TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3 11 <DATE><TIME>|<HOST>|E| psUnaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3 12 <DATE><TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: 2 vs 3 13 <DATE><TIME>|<HOST>|E| psBinaryOp|: Inconsistent element count: 2 vs 3 14 <DATE><TIME>|<HOST>|E| psUnaryOp|: Line <LINENO> - Dimensionality for arguments inconsistent: (1, 3) 15 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 16 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 17 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 18 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 19 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 20 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 21 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 22 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 23 <DATE><TIME>|<HOST>|E| psNanDiv|: Divide by zero 24 <DATE><TIME>|<HOST>|E| psBinaryOp|: Minimum operation not supported for complex numbers 25 <DATE><TIME>|<HOST>|E| psBinaryOp|: Maximum operation not supported for complex numbers 26 <DATE><TIME>|<HOST>|E| psBinaryOp|: Invalid operation: yarg 27 <DATE><TIME>|<HOST>|E| psUnaryOp|: Invalid operation: yarg -
trunk/psLib/test/dataManip/verified/tst_psVectorFFT.stderr
r1221 r1404 23 23 \**********************************************************************************/ 24 24 25 <DATE> <TIME>|<HOST>|I|testVectorCompl|Following should be an error (type mismatch).26 <DATE> <TIME>|<HOST>|E|psVectorComplex|The inputs to psVectorComplex must be the same type.25 <DATE><TIME>|<HOST>|I|testVectorCompl|Following should be an error (type mismatch). 26 <DATE><TIME>|<HOST>|E|psVectorComplex|The inputs to psVectorComplex must be the same type. 27 27 28 28 ---> TESTPOINT PASSED (psFFT{psVectorComplex} | tst_psVectorFFT.c)
Note:
See TracChangeset
for help on using the changeset viewer.
