Changeset 4581 for trunk/psLib/test/math/tst_psFunc09.c
- Timestamp:
- Jul 19, 2005, 3:21:13 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/math/tst_psFunc09.c (modified) (25 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/math/tst_psFunc09.c
r4547 r4581 4 4 * ORD and CHEB type polynomials. 5 5 * 6 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $7 * @date $Date: 2005-07- 13 02:47:00$6 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 7 * @date $Date: 2005-07-20 01:21:13 $ 8 8 * 9 9 * Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii … … 19 19 20 20 static psS32 testPoly2DEval(void); 21 static psS32 testDPoly2DEval(void);22 21 static psS32 testPoly2DEvalVector(void); 23 static psS32 testDPoly2DEvalVector(void);24 22 25 23 testDescription tests[] = { 26 24 {testPoly2DEval,583,"psPolynomial2DEval",0,false}, 27 {testDPoly2DEval,582,"psDPolynomial2DEval",0,false},28 25 {testPoly2DEvalVector,000,"psPolynomial2DEvalVector",0,false}, 29 {testDPoly2DEvalVector,000,"psDPolynomial2DEvalVector",0,false},30 26 {NULL} 31 27 }; … … 85 81 86 82 // This test will verify operation of 1D polynomial evaluation 87 psS32 testPoly2DEval(void)83 /*psS32 testPoly2DEval(void) 88 84 { 89 85 psF32 result; 90 86 psF32 resultCheb; 91 87 92 88 // Allocate polynomial structure 93 89 psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD); … … 119 115 psFree(polyOrd); 120 116 psFree(polyCheb); 121 117 122 118 // Allocate polynomial with invalid type 123 119 polyOrd = psPolynomial2DAlloc(TERMS, TERMS, 99); … … 130 126 } 131 127 psFree(polyOrd); 132 128 133 129 return 0; 134 130 } 135 131 */ 136 132 // This test will verify operation of 1D polynomial evaluation 137 psS32 test DPoly2DEval(void)133 psS32 testPoly2DEval(void) 138 134 { 139 135 psF64 result; … … 141 137 142 138 // Allocate polynomial structure 143 ps DPolynomial2D* polyOrd = psDPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD);144 ps DPolynomial2D* polyCheb = psDPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_CHEB);139 psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD); 140 psPolynomial2D* polyCheb = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_CHEB); 145 141 // Set polynomial members 146 142 for(psS32 i = 0; i < TERMS; i++) { … … 154 150 // Evaluate test points and verify results 155 151 for(psS32 i = 0; i < TESTPOINTS; i++) { 156 result = ps DPolynomial2DEval(polyOrd,Dpoly2DXYValue[i][0],Dpoly2DXYValue[i][1]);152 result = psPolynomial2DEval(polyOrd,Dpoly2DXYValue[i][0],Dpoly2DXYValue[i][1]); 157 153 if(fabs(Dpoly2DResult[i]-result) > ERROR_TOL ) { 158 154 psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg", … … 160 156 return i; 161 157 } 162 resultCheb = ps DPolynomial2DEval(polyCheb,Dpoly2DXYChebValue[i][0],Dpoly2DXYChebValue[i][1]);158 resultCheb = psPolynomial2DEval(polyCheb,Dpoly2DXYChebValue[i][0],Dpoly2DXYChebValue[i][1]); 163 159 if(fabs(Dpoly2DChebResult[i]-resultCheb) > ERROR_TOL ) { 164 160 psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg", … … 171 167 172 168 // Allocate polynomial with invalid type 173 polyOrd = ps DPolynomial2DAlloc(TERMS, TERMS, 99);169 polyOrd = psPolynomial2DAlloc(TERMS, TERMS, 99); 174 170 // Attempt to evaluation invalid polynomial type 175 171 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type"); 176 result = ps DPolynomial2DEval(polyOrd,0.0, 0.0);172 result = psPolynomial2DEval(polyOrd,0.0, 0.0); 177 173 if ( !isnan(result) ) { 178 174 psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type"); … … 184 180 } 185 181 186 psS32 testPoly2DEvalVector(void)182 /*psS32 testPoly2DEvalVector(void) 187 183 { 188 184 // Allocate polynomial 189 185 psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD); 190 186 psPolynomial2D* polyCheb = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB); 191 187 192 188 // Set polynomial members 193 189 for(psS32 i = 0; i < TERMS; i++) { … … 199 195 } 200 196 } 201 197 202 198 // Create input vectors 203 199 psVector* inputOrdX = psVectorAlloc(TESTPOINTS, PS_TYPE_F32); … … 211 207 inputChebY->data.F32[i] = poly2DXYChebValue[i][1]; 212 208 } 213 209 214 210 // Evaluate the vectors 215 211 psVector* outputOrd = psPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY); … … 233 229 return 2; 234 230 } 235 231 236 232 // Verify the results 237 233 for(psS32 i = 0; i < TESTPOINTS; i++) { … … 247 243 } 248 244 } 249 245 250 246 // Attempt to invoke function with null polynomial 251 247 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); … … 254 250 return 60; 255 251 } 256 252 257 253 // Attempt to invoke function with null input vector 258 254 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); … … 267 263 return 62; 268 264 } 269 265 270 266 // Attempt to invoke function with a non F32 type input vector 271 267 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); … … 284 280 } 285 281 inputOrdY->type.type = PS_TYPE_F32; 286 282 287 283 psFree(inputOrdX); 288 284 psFree(inputOrdY); … … 293 289 psFree(polyOrd); 294 290 psFree(polyCheb); 295 291 296 292 return 0; 297 293 } 298 299 psS32 test DPoly2DEvalVector(void)294 */ 295 psS32 testPoly2DEvalVector(void) 300 296 { 301 297 // Allocate polynomial 302 ps DPolynomial2D* polyOrd = psDPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD);303 ps DPolynomial2D* polyCheb = psDPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB);298 psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD); 299 psPolynomial2D* polyCheb = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB); 304 300 305 301 // Set polynomial members … … 326 322 327 323 // Evaluate the vectors 328 psVector* outputOrd = ps DPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY);324 psVector* outputOrd = psPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY); 329 325 if(outputOrd == NULL) { 330 326 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 336 332 return 2; 337 333 } 338 psVector* outputCheb = ps DPolynomial2DEvalVector(polyCheb, inputChebX, inputChebY);334 psVector* outputCheb = psPolynomial2DEvalVector(polyCheb, inputChebX, inputChebY); 339 335 if(outputCheb == NULL) { 340 336 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 363 359 // Attempt to invoke function with null polynomial 364 360 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); 365 if(ps DPolynomial2DEvalVector(NULL, inputOrdX, inputOrdY) != NULL) {361 if(psPolynomial2DEvalVector(NULL, inputOrdX, inputOrdY) != NULL) { 366 362 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial"); 367 363 return 60; … … 370 366 // Attempt to invoke function with null input vector 371 367 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 372 if(ps DPolynomial2DEvalVector(polyOrd,NULL,inputOrdY) != NULL) {368 if(psPolynomial2DEvalVector(polyOrd,NULL,inputOrdY) != NULL) { 373 369 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 374 370 return 61; … … 376 372 // Attempt to invoke function with null input vector 377 373 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 378 if(ps DPolynomial2DEvalVector(polyOrd,inputOrdX,NULL) != NULL) {374 if(psPolynomial2DEvalVector(polyOrd,inputOrdX,NULL) != NULL) { 379 375 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 380 376 return 62; … … 384 380 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 385 381 inputOrdX->type.type = PS_TYPE_U8; 386 if(ps DPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {382 if(psPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) { 387 383 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 388 384 return 63; … … 392 388 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 393 389 inputOrdY->type.type = PS_TYPE_U8; 394 if(ps DPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {390 if(psPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) { 395 391 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 396 392 return 64;
Note:
See TracChangeset
for help on using the changeset viewer.
