Changeset 1406 for trunk/psLib/test/dataManip/tst_psStats07.c
- Timestamp:
- Aug 6, 2004, 12:34:06 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/dataManip/tst_psStats07.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/dataManip/tst_psStats07.c
r1365 r1406 45 45 float realN50WithMask = ( float ) N / 4; 46 46 float realNfitWithMask = ( float ) N / 4; 47 48 47 48 49 49 /*************************************************************************/ 50 50 /* Allocate and initialize data structures */ … … 55 55 PS_STAT_ROBUST_STDEV | 56 56 PS_STAT_ROBUST_QUARTILE ); 57 57 58 58 maskVector = psVectorAlloc( N, PS_TYPE_U8 ); 59 59 maskVector->n = N; … … 61 61 // Set the mask vector and calculate the expected maximum. 62 62 for ( i = 0;i < N;i++ ) { 63 if ( i < ( N / 2 ) ) { 64 maskVector->data.U8[ i ] = 0; 65 count++; 66 } else { 67 maskVector->data.U8[ i ] = 1; 68 } 63 if ( i < ( N / 2 ) ) { 64 maskVector->data.U8[ i ] = 0; 65 count++; 66 } else { 67 maskVector->data.U8[ i ] = 1; 69 68 } 69 } 70 70 /*************************************************************************/ 71 71 /* Call psVectorStats() with no vector mask. */ … … 74 74 "psStats functions", 75 75 "PS_STAT_ROBUST_STATS: robust mean: no vector mask" ); 76 76 77 77 myStats = psVectorStats( myStats, myVector, NULL, 0 ); 78 78 79 79 printf( "The expected Mean was %.2f; the calculated Mean was %.2f\n", 80 80 realMeanNoMask, myStats->robustMean ); 81 81 82 82 if ( fabs( myStats->robustMean - realMeanNoMask ) < ( ERROR_TOLERANCE * realMeanNoMask ) ) { 83 testStatus = true;84 } else {85 testStatus = false;86 globalTestStatus = false;87 }83 testStatus = true; 84 } else { 85 testStatus = false; 86 globalTestStatus = false; 87 } 88 88 printFooter( stdout, 89 89 "psVector functions", 90 90 "PS_STAT_ROBUST_STATS: robust mean: no vector mask", 91 91 testStatus ); 92 93 92 93 94 94 printPositiveTestHeader( stdout, 95 95 "psStats functions", 96 96 "PS_STAT_ROBUST_STATS: robust Median: no vector mask" ); 97 97 98 98 printf( "The expected Median was %.2f; the calculated Median was %.2f\n", 99 99 realMedianNoMask, myStats->robustMedian ); 100 100 if ( fabs( myStats->robustMedian - realMedianNoMask ) < ( ERROR_TOLERANCE * realMedianNoMask ) ) { 101 testStatus = true;102 } else {103 testStatus = false;104 globalTestStatus = false;105 }101 testStatus = true; 102 } else { 103 testStatus = false; 104 globalTestStatus = false; 105 } 106 106 printFooter( stdout, 107 107 "psVector functions", 108 108 "PS_STAT_ROBUST_STATS: robust Median: no vector mask", 109 109 testStatus ); 110 110 111 111 printPositiveTestHeader( stdout, 112 112 "psStats functions", 113 113 "PS_STAT_ROBUST_STATS: robust Mode: no vector mask" ); 114 115 114 115 116 116 printf( "The expected Mode was %.2f; the calculated Mode was %.2f\n", 117 117 realModeNoMask, myStats->robustMode ); 118 118 if ( fabs( myStats->robustMode - realModeNoMask ) < ( ERROR_TOLERANCE * realModeNoMask ) ) { 119 testStatus = true;120 } else {121 testStatus = false;122 globalTestStatus = false;123 }119 testStatus = true; 120 } else { 121 testStatus = false; 122 globalTestStatus = false; 123 } 124 124 printFooter( stdout, 125 125 "psVector functions", 126 126 "PS_STAT_ROBUST_STATS: robust Mode: no vector mask", 127 127 testStatus ); 128 129 130 128 129 130 131 131 printPositiveTestHeader( stdout, 132 132 "psStats functions", 133 133 "PS_STAT_ROBUST_STATS: robust Stdev: no vector mask" ); 134 134 135 135 printf( "The expected Stdev was %.2f; the calculated Stdev was %.2f\n", 136 136 realStdevNoMask, myStats->robustStdev ); 137 137 if ( fabs( myStats->robustStdev - realStdevNoMask ) < ( ERROR_TOLERANCE * realStdevNoMask ) ) { 138 testStatus = true;139 } else {140 testStatus = false;141 globalTestStatus = false;142 }138 testStatus = true; 139 } else { 140 testStatus = false; 141 globalTestStatus = false; 142 } 143 143 printFooter( stdout, 144 144 "psVector functions", 145 145 "PS_STAT_ROBUST_STATS: robust Stdev: no vector mask", 146 146 testStatus ); 147 148 149 147 148 149 150 150 printPositiveTestHeader( stdout, 151 151 "psStats functions", 152 152 "PS_STAT_ROBUST_STATS: lower quartile: no vector mask" ); 153 153 154 154 printf( "The expected LQ was %.2f; the calculated LQ was %.2f\n", 155 155 realLQNoMask, myStats->robustLQ ); 156 156 157 157 if ( fabs( myStats->robustLQ - realLQNoMask ) < ( ERROR_TOLERANCE * realLQNoMask ) ) { 158 testStatus = true;159 } else {160 testStatus = false;161 globalTestStatus = false;162 }158 testStatus = true; 159 } else { 160 testStatus = false; 161 globalTestStatus = false; 162 } 163 163 printFooter( stdout, 164 164 "psVector functions", 165 165 "PS_STAT_ROBUST_STATS: lower quartile: no vector mask", 166 166 testStatus ); 167 168 169 167 168 169 170 170 printPositiveTestHeader( stdout, 171 171 "psStats functions", 172 172 "PS_STAT_ROBUST_STATS: upper quartile: no vector mask" ); 173 173 174 174 printf( "The expected UQ was %.2f; the calculated UQ was %.2f\n", 175 175 realUQNoMask, myStats->robustUQ ); 176 176 if ( fabs( myStats->robustUQ - realUQNoMask ) < ( ERROR_TOLERANCE * realUQNoMask ) ) { 177 testStatus = true;178 } else {179 testStatus = false;180 globalTestStatus = false;181 }177 testStatus = true; 178 } else { 179 testStatus = false; 180 globalTestStatus = false; 181 } 182 182 printFooter( stdout, 183 183 "psVector functions", 184 184 "PS_STAT_ROBUST_STATS: lower quartile: no vector mask", 185 185 testStatus ); 186 187 188 186 187 188 189 189 printPositiveTestHeader( stdout, 190 190 "psStats functions", 191 191 "PS_STAT_ROBUST_STATS: robust N50: no vector mask" ); 192 192 193 193 // XXX: 194 194 realN50NoMask = myStats->robustN50; 195 195 196 196 printf( "The expected N50 was %.2f; the calculated N50 was %.2f\n", 197 197 realN50NoMask, myStats->robustN50 ); 198 198 if ( fabs( myStats->robustN50 - realN50NoMask ) < ( ERROR_TOLERANCE * realN50NoMask ) ) { 199 testStatus = true;200 } else {201 testStatus = false;202 globalTestStatus = false;203 }199 testStatus = true; 200 } else { 201 testStatus = false; 202 globalTestStatus = false; 203 } 204 204 printFooter( stdout, 205 205 "psVector functions", 206 206 "PS_STAT_ROBUST_STATS: robust N50: no vector mask", 207 207 testStatus ); 208 209 210 208 209 210 211 211 printPositiveTestHeader( stdout, 212 212 "psStats functions", 213 213 "PS_STAT_ROBUST_STATS: robust Nfit: no vector mask" ); 214 214 215 215 // XXX: 216 216 realNfitNoMask = myStats->robustNfit; 217 217 218 218 printf( "The expected Nfit was %.2f; the calculated Nfit was %.2f\n", 219 219 realNfitNoMask, myStats->robustNfit ); 220 220 if ( fabs( myStats->robustNfit - realNfitNoMask ) < ( ERROR_TOLERANCE * realNfitNoMask ) ) { 221 testStatus = true;222 } else {223 testStatus = false;224 globalTestStatus = false;225 }221 testStatus = true; 222 } else { 223 testStatus = false; 224 globalTestStatus = false; 225 } 226 226 printFooter( stdout, 227 227 "psVector functions", 228 228 "PS_STAT_ROBUST_STATS: robust Nfit: no vector mask", 229 229 testStatus ); 230 231 230 231 232 232 return ( 0 ); 233 233 234 234 /*************************************************************************/ 235 235 /* Call psVectorStats() with vector mask. */ … … 238 238 "psStats functions", 239 239 "PS_STAT_ROBUST_STATS: robust mean: with vector mask" ); 240 240 241 241 printf( "Calling psVectorStats() on a vector with elements masked.\n" ); 242 242 myStats = psVectorStats( myStats, myVector, maskVector, 1 ); … … 245 245 realMeanWithMask, myStats->robustMean ); 246 246 if ( fabs( myStats->robustMean - realMeanWithMask ) < ( ERROR_TOLERANCE * realMeanWithMask ) ) { 247 testStatus = true;248 } else {249 testStatus = false;250 globalTestStatus = false;251 }247 testStatus = true; 248 } else { 249 testStatus = false; 250 globalTestStatus = false; 251 } 252 252 printFooter( stdout, 253 253 "psVector functions", 254 254 "PS_STAT_ROBUST_STATS: robust mean: with vector mask", 255 255 testStatus ); 256 257 258 256 257 258 259 259 printPositiveTestHeader( stdout, 260 260 "psStats functions", 261 261 "PS_STAT_ROBUST_STATS: robust Median: with vector mask" ); 262 262 263 263 printf( "The expected Median was %.2f; the calculated Median was %.2f\n", 264 264 realMedianWithMask, myStats->robustMedian ); 265 265 if ( fabs( myStats->robustMedian - realMedianWithMask ) < ( ERROR_TOLERANCE * realMedianWithMask ) ) { 266 testStatus = true;267 } else {268 testStatus = false;269 globalTestStatus = false;270 }266 testStatus = true; 267 } else { 268 testStatus = false; 269 globalTestStatus = false; 270 } 271 271 printFooter( stdout, 272 272 "psVector functions", 273 273 "PS_STAT_ROBUST_STATS: robust Median: with vector mask", 274 274 testStatus ); 275 276 277 275 276 277 278 278 printPositiveTestHeader( stdout, 279 279 "psStats functions", 280 280 "PS_STAT_ROBUST_STATS: robust Mode: with vector mask" ); 281 281 282 282 printf( "The expected Mode was %.2f; the calculated Mode was %.2f\n", 283 283 realModeWithMask, myStats->robustMode ); 284 284 if ( fabs( myStats->robustMode - realModeWithMask ) < ( ERROR_TOLERANCE * realModeWithMask ) ) { 285 testStatus = true;286 } else {287 testStatus = false;288 globalTestStatus = false;289 }285 testStatus = true; 286 } else { 287 testStatus = false; 288 globalTestStatus = false; 289 } 290 290 printFooter( stdout, 291 291 "psVector functions", 292 292 "PS_STAT_ROBUST_STATS: robust Mode: with vector mask", 293 293 testStatus ); 294 295 296 294 295 296 297 297 printPositiveTestHeader( stdout, 298 298 "psStats functions", 299 299 "PS_STAT_ROBUST_STATS: robust Stdev: with vector mask" ); 300 300 301 301 printf( "The expected Stdev was %.2f; the calculated Stdev was %.2f\n", 302 302 realStdevWithMask, myStats->robustStdev ); 303 303 if ( fabs( myStats->robustStdev - realStdevWithMask ) < ( ERROR_TOLERANCE * realStdevWithMask ) ) { 304 testStatus = true;305 } else {306 testStatus = false;307 globalTestStatus = false;308 }304 testStatus = true; 305 } else { 306 testStatus = false; 307 globalTestStatus = false; 308 } 309 309 printFooter( stdout, 310 310 "psVector functions", 311 311 "PS_STAT_ROBUST_STATS: robust Stdev: with vector mask", 312 312 testStatus ); 313 314 315 313 314 315 316 316 printPositiveTestHeader( stdout, 317 317 "psStats functions", 318 318 "PS_STAT_ROBUST_STATS: lower quartile: with vector mask" ); 319 319 320 320 printf( "The expected LQ was %.2f; the calculated LQ was %.2f\n", 321 321 realLQWithMask, myStats->robustLQ ); 322 322 if ( fabs( myStats->robustLQ - realLQWithMask ) < ( ERROR_TOLERANCE * realLQWithMask ) ) { 323 testStatus = true;324 } else {325 testStatus = false;326 globalTestStatus = false;327 }323 testStatus = true; 324 } else { 325 testStatus = false; 326 globalTestStatus = false; 327 } 328 328 printFooter( stdout, 329 329 "psVector functions", 330 330 "PS_STAT_ROBUST_STATS: lower quartile: with vector mask", 331 331 testStatus ); 332 333 334 332 333 334 335 335 printPositiveTestHeader( stdout, 336 336 "psStats functions", 337 337 "PS_STAT_ROBUST_STATS: upper quartile: with vector mask" ); 338 338 339 339 printf( "The expected UQ was %.2f; the calculated UQ was %.2f\n", 340 340 realUQWithMask, myStats->robustUQ ); 341 341 if ( fabs( myStats->robustUQ - realUQWithMask ) < ( ERROR_TOLERANCE * realUQWithMask ) ) { 342 testStatus = true;343 } else {344 testStatus = false;345 globalTestStatus = false;346 }342 testStatus = true; 343 } else { 344 testStatus = false; 345 globalTestStatus = false; 346 } 347 347 printFooter( stdout, 348 348 "psVector functions", 349 349 "PS_STAT_ROBUST_STATS: lower quartile: with vector mask", 350 350 testStatus ); 351 352 353 351 352 353 354 354 printPositiveTestHeader( stdout, 355 355 "psStats functions", 356 356 "PS_STAT_ROBUST_STATS: robust N50: with vector mask" ); 357 357 358 358 printf( "The expected N50 was %.2f; the calculated N50 was %.2f\n", 359 359 realN50WithMask, myStats->robustN50 ); 360 360 if ( fabs( myStats->robustN50 - realN50WithMask ) < ( ERROR_TOLERANCE * realN50WithMask ) ) { 361 testStatus = true;362 } else {363 testStatus = false;364 globalTestStatus = false;365 }361 testStatus = true; 362 } else { 363 testStatus = false; 364 globalTestStatus = false; 365 } 366 366 printFooter( stdout, 367 367 "psVector functions", 368 368 "PS_STAT_ROBUST_STATS: robust N50: with vector mask", 369 369 testStatus ); 370 371 372 370 371 372 373 373 printPositiveTestHeader( stdout, 374 374 "psStats functions", 375 375 "PS_STAT_ROBUST_STATS: robust Nfit: with vector mask" ); 376 376 377 377 printf( "The expected Nfit was %.2f; the calculated Nfit was %.2f\n", 378 378 realNfitWithMask, myStats->robustNfit ); 379 379 if ( fabs( myStats->robustNfit - realNfitWithMask ) < ( ERROR_TOLERANCE * realNfitWithMask ) ) { 380 testStatus = true;381 } else {382 testStatus = false;383 globalTestStatus = false;384 }380 testStatus = true; 381 } else { 382 testStatus = false; 383 globalTestStatus = false; 384 } 385 385 printFooter( stdout, 386 386 "psVector functions", 387 387 "PS_STAT_ROBUST_STATS: robust Nfit: with vector mask", 388 388 testStatus ); 389 390 391 389 390 391 392 392 /*************************************************************************/ 393 393 /* Deallocate data structures */ … … 396 396 "psStats functions", 397 397 "psStats(): deallocating memory" ); 398 398 399 399 psFree( myStats ); 400 400 psFree( myVector ); 401 401 psFree( maskVector ); 402 402 403 403 psMemCheckCorruption( 1 ); 404 404 memLeaks = psMemCheckLeaks( currentId, NULL, NULL ); 405 405 if ( 0 != memLeaks ) { 406 psAbort( __func__, "Memory Leaks! (%d leaks)", memLeaks );407 }408 406 psAbort( __func__, "Memory Leaks! (%d leaks)", memLeaks ); 407 } 408 409 409 printFooter( stdout, 410 410 "psVector functions", 411 411 "psStats(): deallocating memory", 412 412 testStatus ); 413 413 414 414 return ( !globalTestStatus ); 415 415 }
Note:
See TracChangeset
for help on using the changeset viewer.
