Changeset 2433 for trunk/psLib/src/dataManip/psFunctions.c
- Timestamp:
- Nov 24, 2004, 11:59:43 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/dataManip/psFunctions.c (modified) (32 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psFunctions.c
r2431 r2433 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.6 8$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-11-24 2 0:34:13 $9 * @version $Revision: 1.69 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-11-24 21:59:43 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 399 399 if (myPoly->mask[loop_x][loop_y] == 0) { 400 400 polySum += myPoly->coeff[loop_x][loop_y] * 401 psPolynomial1DEval( x, chebPolys[loop_x]) *402 psPolynomial1DEval( y, chebPolys[loop_y]);401 psPolynomial1DEval(chebPolys[loop_x], x) * 402 psPolynomial1DEval(chebPolys[loop_y], y); 403 403 } 404 404 } … … 465 465 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 466 466 polySum += myPoly->coeff[loop_x][loop_y][loop_z] * 467 psPolynomial1DEval( x, chebPolys[loop_x]) *468 psPolynomial1DEval( y, chebPolys[loop_y]) *469 psPolynomial1DEval( z, chebPolys[loop_z]);467 psPolynomial1DEval(chebPolys[loop_x], x) * 468 psPolynomial1DEval(chebPolys[loop_y], y) * 469 psPolynomial1DEval(chebPolys[loop_z], z); 470 470 } 471 471 } … … 545 545 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 546 546 polySum += myPoly->coeff[loop_w][loop_x][loop_y][loop_z] * 547 psPolynomial1DEval( w, chebPolys[loop_w]) *548 psPolynomial1DEval( x, chebPolys[loop_x]) *549 psPolynomial1DEval( y, chebPolys[loop_y]) *550 psPolynomial1DEval( z, chebPolys[loop_z]);547 psPolynomial1DEval(chebPolys[loop_w], w) * 548 psPolynomial1DEval(chebPolys[loop_x], x) * 549 psPolynomial1DEval(chebPolys[loop_y], y) * 550 psPolynomial1DEval(chebPolys[loop_z], z); 551 551 } 552 552 } … … 651 651 if (myPoly->mask[loop_x][loop_y] == 0) { 652 652 polySum += myPoly->coeff[loop_x][loop_y] * 653 psPolynomial1DEval( x, chebPolys[loop_x]) *654 psPolynomial1DEval( y, chebPolys[loop_y]);653 psPolynomial1DEval(chebPolys[loop_x], x) * 654 psPolynomial1DEval(chebPolys[loop_y], y); 655 655 } 656 656 } … … 718 718 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 719 719 polySum += myPoly->coeff[loop_x][loop_y][loop_z] * 720 psPolynomial1DEval( x, chebPolys[loop_x]) *721 psPolynomial1DEval( y, chebPolys[loop_y]) *722 psPolynomial1DEval( z, chebPolys[loop_z]);720 psPolynomial1DEval(chebPolys[loop_x], x) * 721 psPolynomial1DEval(chebPolys[loop_y], y) * 722 psPolynomial1DEval(chebPolys[loop_z], z); 723 723 } 724 724 } … … 798 798 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 799 799 polySum += myPoly->coeff[loop_w][loop_x][loop_y][loop_z] * 800 psPolynomial1DEval( w, chebPolys[loop_w]) *801 psPolynomial1DEval( x, chebPolys[loop_x]) *802 psPolynomial1DEval( y, chebPolys[loop_y]) *803 psPolynomial1DEval( z, chebPolys[loop_z]);800 psPolynomial1DEval(chebPolys[loop_w], w) * 801 psPolynomial1DEval(chebPolys[loop_x], x) * 802 psPolynomial1DEval(chebPolys[loop_y], y) * 803 psPolynomial1DEval(chebPolys[loop_z], z); 804 804 } 805 805 } … … 1160 1160 } 1161 1161 1162 float psPolynomial1DEval( float x, const psPolynomial1D* myPoly)1162 float psPolynomial1DEval(const psPolynomial1D* myPoly, float x) 1163 1163 { 1164 1164 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1176 1176 } 1177 1177 1178 psVector *psPolynomial1DEvalVector(const ps Vector *x,1179 const ps Polynomial1D *myPoly)1178 psVector *psPolynomial1DEvalVector(const psPolynomial1D *myPoly, 1179 const psVector *x) 1180 1180 { 1181 1181 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1189 1189 tmp = psVectorAlloc(x->n, PS_TYPE_F32); 1190 1190 for (i=0;i<x->n;i++) { 1191 tmp->data.F32[i] = psPolynomial1DEval( x->data.F32[i], myPoly);1191 tmp->data.F32[i] = psPolynomial1DEval(myPoly, x->data.F32[i]); 1192 1192 } 1193 1193 … … 1198 1198 } 1199 1199 1200 float psPolynomial2DEval( float x, float y, const psPolynomial2D* myPoly)1200 float psPolynomial2DEval(const psPolynomial2D* myPoly, float x, float y) 1201 1201 { 1202 1202 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1214 1214 } 1215 1215 1216 psVector *psPolynomial2DEvalVector(const psVector *x, 1217 const psVector *y, 1218 const psPolynomial2D *myPoly) 1216 psVector *psPolynomial2DEvalVector(const psPolynomial2D *myPoly, 1217 const psVector *x, 1218 const psVector *y) 1219 1219 1220 { 1220 1221 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1237 1238 tmp = psVectorAlloc(vecLen, PS_TYPE_F32); 1238 1239 for (i=0;i<vecLen;i++) { 1239 tmp->data.F32[i] = psPolynomial2DEval(myX->data.F32[i], 1240 myY->data.F32[i], 1241 myPoly); 1240 tmp->data.F32[i] = psPolynomial2DEval(myPoly, 1241 myX->data.F32[i], 1242 myY->data.F32[i]); 1243 1242 1244 } 1243 1245 … … 1251 1253 } 1252 1254 1253 float psPolynomial3DEval( float x, float y, float z, const psPolynomial3D* myPoly)1255 float psPolynomial3DEval(const psPolynomial3D* myPoly, float x, float y, float z) 1254 1256 { 1255 1257 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1267 1269 } 1268 1270 1269 psVector *psPolynomial3DEvalVector(const psVector *x, 1271 psVector *psPolynomial3DEvalVector(const psPolynomial3D *myPoly, 1272 const psVector *x, 1270 1273 const psVector *y, 1271 const psVector *z ,1272 const psPolynomial3D *myPoly) 1274 const psVector *z) 1275 1273 1276 { 1274 1277 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1297 1300 tmp = psVectorAlloc(vecLen, PS_TYPE_F32); 1298 1301 for (i=0;i<vecLen;i++) { 1299 tmp->data.F32[i] = psPolynomial3DEval(myX->data.F32[i], 1302 tmp->data.F32[i] = psPolynomial3DEval(myPoly, 1303 myX->data.F32[i], 1300 1304 myY->data.F32[i], 1301 myZ->data.F32[i] ,1302 myPoly); 1305 myZ->data.F32[i]); 1306 1303 1307 } 1304 1308 … … 1315 1319 } 1316 1320 1317 float psPolynomial4DEval( float w, float x, float y, float z, const psPolynomial4D* myPoly)1321 float psPolynomial4DEval(const psPolynomial4D* myPoly, float w, float x, float y, float z) 1318 1322 { 1319 1323 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1331 1335 } 1332 1336 1333 psVector *psPolynomial4DEvalVector(const psVector *w, 1337 psVector *psPolynomial4DEvalVector(const psPolynomial4D *myPoly, 1338 const psVector *w, 1334 1339 const psVector *x, 1335 1340 const psVector *y, 1336 const psVector *z, 1337 const psPolynomial4D *myPoly) 1341 const psVector *z) 1338 1342 { 1339 1343 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1368 1372 tmp = psVectorAlloc(vecLen, PS_TYPE_F32); 1369 1373 for (i=0;i<vecLen;i++) { 1370 tmp->data.F32[i] = psPolynomial4DEval(myW->data.F32[i], 1374 tmp->data.F32[i] = psPolynomial4DEval(myPoly, 1375 myW->data.F32[i], 1371 1376 myX->data.F32[i], 1372 1377 myY->data.F32[i], 1373 myZ->data.F32[i] ,1374 myPoly); 1378 myZ->data.F32[i]); 1379 1375 1380 } 1376 1381 … … 1555 1560 1556 1561 1557 double psDPolynomial1DEval( double x, const psDPolynomial1D* myPoly)1562 double psDPolynomial1DEval(const psDPolynomial1D* myPoly, double x) 1558 1563 { 1559 1564 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1571 1576 } 1572 1577 1573 psVector *psDPolynomial1DEvalVector(const psVector *x, 1574 const psDPolynomial1D *myPoly) 1578 psVector *psDPolynomial1DEvalVector(const psDPolynomial1D *myPoly, 1579 const psVector *x) 1580 1575 1581 { 1576 1582 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1584 1590 tmp = psVectorAlloc(x->n, PS_TYPE_F64); 1585 1591 for (i=0;i<x->n;i++) { 1586 tmp->data.F64[i] = psDPolynomial1DEval(x->data.F64[i], myPoly); 1592 tmp->data.F64[i] = psDPolynomial1DEval(myPoly, 1593 x->data.F64[i]); 1587 1594 } 1588 1595 … … 1594 1601 1595 1602 1596 double psDPolynomial2DEval(double x, double y, const psDPolynomial2D* myPoly) 1603 double psDPolynomial2DEval(const psDPolynomial2D* myPoly, 1604 double x, 1605 double y) 1597 1606 { 1598 1607 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1610 1619 } 1611 1620 1612 psVector *psDPolynomial2DEvalVector(const ps Vector *x,1613 const psVector * y,1614 const ps DPolynomial2D *myPoly)1621 psVector *psDPolynomial2DEvalVector(const psDPolynomial2D *myPoly, 1622 const psVector *x, 1623 const psVector *y) 1615 1624 { 1616 1625 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1633 1642 tmp = psVectorAlloc(vecLen, PS_TYPE_F64); 1634 1643 for (i=0;i<vecLen;i++) { 1635 tmp->data.F64[i] = psDPolynomial2DEval(myX->data.F64[i], 1636 myY->data.F64[i], 1637 myPoly); 1644 tmp->data.F64[i] = psDPolynomial2DEval(myPoly, 1645 myX->data.F64[i], 1646 myY->data.F64[i]); 1647 1638 1648 } 1639 1649 … … 1648 1658 1649 1659 1650 double psDPolynomial3DEval(double x, double y, double z, const psDPolynomial3D* myPoly) 1660 double psDPolynomial3DEval(const psDPolynomial3D* myPoly, 1661 double x, 1662 double y, 1663 double z) 1651 1664 { 1652 1665 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1664 1677 } 1665 1678 1666 psVector *psDPolynomial3DEvalVector(const psVector *x, 1679 psVector *psDPolynomial3DEvalVector(const psDPolynomial3D *myPoly, 1680 const psVector *x, 1667 1681 const psVector *y, 1668 const psVector *z ,1669 const psDPolynomial3D *myPoly) 1682 const psVector *z) 1683 1670 1684 { 1671 1685 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1694 1708 tmp = psVectorAlloc(vecLen, PS_TYPE_F64); 1695 1709 for (i=0;i<vecLen;i++) { 1696 tmp->data.F64[i] = psDPolynomial3DEval(myX->data.F64[i], 1710 tmp->data.F64[i] = psDPolynomial3DEval(myPoly, 1711 myX->data.F64[i], 1697 1712 myY->data.F64[i], 1698 myZ->data.F64[i] ,1699 myPoly); 1713 myZ->data.F64[i]); 1714 1700 1715 } 1701 1716 … … 1712 1727 } 1713 1728 1714 double psDPolynomial4DEval(double w, double x, double y, double z, const psDPolynomial4D* myPoly) 1729 double psDPolynomial4DEval(const psDPolynomial4D* myPoly, 1730 double w, 1731 double x, 1732 double y, 1733 double z) 1715 1734 { 1716 1735 PS_POLY_CHECK_NULL(myPoly, NAN); … … 1728 1747 } 1729 1748 1730 psVector *psDPolynomial4DEvalVector(const psVector *w, 1749 psVector *psDPolynomial4DEvalVector(const psDPolynomial4D *myPoly, 1750 const psVector *w, 1731 1751 const psVector *x, 1732 1752 const psVector *y, 1733 const psVector *z, 1734 const psDPolynomial4D *myPoly) 1753 const psVector *z) 1735 1754 { 1736 1755 PS_POLY_CHECK_NULL(myPoly, NULL); … … 1765 1784 tmp = psVectorAlloc(vecLen, PS_TYPE_F64); 1766 1785 for (i=0;i<vecLen;i++) { 1767 tmp->data.F64[i] = psDPolynomial4DEval(myW->data.F64[i], 1786 tmp->data.F64[i] = psDPolynomial4DEval(myPoly, 1787 myW->data.F64[i], 1768 1788 myX->data.F64[i], 1769 1789 myY->data.F64[i], 1770 myZ->data.F64[i] ,1771 myPoly); 1790 myZ->data.F64[i]); 1791 1772 1792 } 1773 1793 … … 2110 2130 2111 2131 if (x < (spline->domains)[0]) { 2112 return(psPolynomial1DEval(x, spline->spline[0])); 2132 return(psPolynomial1DEval(spline->spline[0], 2133 x)); 2113 2134 } else if (x > (spline->domains)[n-1]) { 2114 return(psPolynomial1DEval(x, spline->spline[n-1])); 2115 } 2116 } 2117 2118 return(psPolynomial1DEval(x, spline->spline[binNum])); 2135 return(psPolynomial1DEval(spline->spline[n-1], 2136 x)); 2137 } 2138 } 2139 2140 return(psPolynomial1DEval(spline->spline[binNum], 2141 x)); 2119 2142 } 2120 2143
Note:
See TracChangeset
for help on using the changeset viewer.
