Changeset 1781 for trunk/psLib/src/dataManip/psFunctions.c
- Timestamp:
- Sep 10, 2004, 12:26:09 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/dataManip/psFunctions.c (modified) (21 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psFunctions.c
r1775 r1781 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.3 3$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-09-10 02:52:02$9 * @version $Revision: 1.34 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-09-10 22:25:59 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 441 441 float xSum = 1.0; 442 442 443 psTrace(".psLib.dataManip.psFunctions.p_psOrdPolynomial1DEval", 4, 444 "---- Calling p_psOrdPolynomial1DEval(%f)\n", x); 445 psTrace(".psLib.dataManip.psFunctions.p_psOrdPolynomial1DEval", 4, 446 "Polynomial order is %d\n", myPoly->n); 447 for (loop_x = 0; loop_x < myPoly->n; loop_x++) { 448 psTrace(".psLib.dataManip.psFunctions.p_psOrdPolynomial1DEval", 4, 449 "Polynomial coeff[%d] is %f\n", loop_x, myPoly->coeff[loop_x]); 450 } 451 452 443 453 if (NULL == myPoly) { 444 454 psAbort(__func__, "psPolynomial1DEval(): myPoly is NULL\n"); … … 455 465 456 466 for (loop_x = 0; loop_x < myPoly->n; loop_x++) { 457 if (myPoly->mask[loop_x] != 0) {467 if (myPoly->mask[loop_x] == 0) { 458 468 polySum += xSum * myPoly->coeff[loop_x]; 459 469 xSum *= x; … … 535 545 ySum = xSum; 536 546 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 537 if (myPoly->mask[loop_x][loop_y] != 0) {547 if (myPoly->mask[loop_x][loop_y] == 0) { 538 548 polySum += ySum * myPoly->coeff[loop_x][loop_y]; 539 549 ySum *= y; … … 564 574 for (loop_x = 0; loop_x < myPoly->nX; loop_x++) { 565 575 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 566 if (myPoly->mask[loop_x][loop_y] != 0) {576 if (myPoly->mask[loop_x][loop_y] == 0) { 567 577 polySum += myPoly->coeff[loop_x][loop_y] * 568 578 psPolynomial1DEval(x, chebPolys[loop_x]) * … … 639 649 zSum = ySum; 640 650 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 641 if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {651 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 642 652 polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z]; 643 653 zSum *= z; … … 675 685 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 676 686 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 677 if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {687 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 678 688 polySum += myPoly->coeff[loop_x][loop_y][loop_z] * 679 689 psPolynomial1DEval(x, chebPolys[loop_x]) * … … 768 778 zSum = ySum; 769 779 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 770 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {780 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 771 781 polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z]; 772 782 zSum *= z; … … 811 821 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 812 822 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 813 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {823 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 814 824 polySum += myPoly->coeff[loop_w][loop_x][loop_y][loop_z] * 815 825 psPolynomial1DEval(w, chebPolys[loop_w]) * … … 1129 1139 1130 1140 for (loop_x = 0; loop_x < myPoly->n; loop_x++) { 1131 if (myPoly->mask[loop_x] != 0) {1141 if (myPoly->mask[loop_x] == 0) { 1132 1142 polySum += xSum * myPoly->coeff[loop_x]; 1133 1143 xSum *= x; … … 1210 1220 ySum = xSum; 1211 1221 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 1212 if (myPoly->mask[loop_x][loop_y] != 0) {1222 if (myPoly->mask[loop_x][loop_y] == 0) { 1213 1223 polySum += ySum * myPoly->coeff[loop_x][loop_y]; 1214 1224 ySum *= y; … … 1239 1249 for (loop_x = 0; loop_x < myPoly->nX; loop_x++) { 1240 1250 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 1241 if (myPoly->mask[loop_x][loop_y] != 0) {1251 if (myPoly->mask[loop_x][loop_y] == 0) { 1242 1252 polySum += myPoly->coeff[loop_x][loop_y] * 1243 1253 psPolynomial1DEval(x, chebPolys[loop_x]) * … … 1313 1323 zSum = ySum; 1314 1324 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 1315 if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {1325 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 1316 1326 polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z]; 1317 1327 zSum *= z; … … 1349 1359 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 1350 1360 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 1351 if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {1361 if (myPoly->mask[loop_x][loop_y][loop_z] == 0) { 1352 1362 polySum += myPoly->coeff[loop_x][loop_y][loop_z] * 1353 1363 psPolynomial1DEval(x, chebPolys[loop_x]) * … … 1444 1454 zSum = ySum; 1445 1455 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 1446 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {1456 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 1447 1457 polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z]; 1448 1458 zSum *= z; … … 1487 1497 for (loop_y = 0; loop_y < myPoly->nY; loop_y++) { 1488 1498 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) { 1489 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {1499 if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] == 0) { 1490 1500 polySum += myPoly->coeff[loop_w][loop_x][loop_y][loop_z] * 1491 1501 psPolynomial1DEval(w, chebPolys[loop_w]) * … … 1608 1618 tmp->domains = (float *) psAlloc((numSplines+1) * sizeof(float)); 1609 1619 width = (max - min) / ((float) numSplines); 1610 tmpDomain = min; 1611 for (i=0;i<numSplines+1;i++) { 1620 1621 (tmp->domains)[0] = min; 1622 tmpDomain = min+width; 1623 for (i=1;i<numSplines+1;i++) { 1612 1624 (tmp->domains)[i] = tmpDomain; 1613 1625 tmpDomain+= width; 1614 1626 } 1627 (tmp->domains)[numSplines] = max; 1615 1628 1616 1629 return(tmp); … … 1661 1674 int mid; 1662 1675 1676 psTrace(".psLib.dataManip.psFunctions.VectorBinDisect", 4, 1677 "---- Calling VectorBinDisect(%f)\n", x); 1678 1663 1679 if ((x < bins[0]) || 1664 1680 (x > bins[numBins-1])) { … … 1670 1686 1671 1687 min = 0; 1672 max = numBins-1; 1673 mid = (max-min)/2; 1674 1675 while (min+1 < max) { 1676 psTrace(".psLib.dataManip.psFunctions.VectorBinDisect", 4, "(min, max) is (%d, %d)\n", min, max); 1677 mid = (max-min)/2; 1678 1679 if (x < bins[mid]) { 1680 max = mid; 1688 max = numBins-2; 1689 mid = ((max+1)-min)/2; 1690 1691 while (min != max) { 1692 psTrace(".psLib.dataManip.psFunctions.VectorBinDisect", 4, 1693 "(min, mid, max) is (%d, %d, %d): (x, bins) is (%f, %f)\n", 1694 min, mid, max, x, bins[mid]); 1695 1696 if (x == bins[mid]) { 1697 psTrace(".psLib.dataManip.psFunctions.VectorBinDisect", 4, 1698 "---- Exiting VectorBinDisect(): bin %d\n", min); 1699 return(min); 1700 } else if (x < bins[mid]) { 1701 max = mid-1; 1681 1702 } else { 1682 1703 min = mid; 1683 1704 } 1684 } 1685 1705 mid = ((max+1)+min)/2; 1706 } 1707 1708 psTrace(".psLib.dataManip.psFunctions.VectorBinDisect", 4, 1709 "---- Exiting VectorBinDisect(): bin %d\n", min); 1686 1710 return(min); 1687 1711 } … … 1733 1757 float slope; 1734 1758 1759 psTrace(".psLib.dataManip.psFunctions.psSpline1DGen", 4, 1760 "---- Calling psSpline1DGen()\n"); 1761 1735 1762 if (data->n != (1 + spline->n)) { 1736 1763 psLogMsg(__func__, PS_LOG_WARN, … … 1744 1771 slope = (data->data.F32[i+1] - data->data.F32[i]) / 1745 1772 (spline->domains[i+1] - spline->domains[i]); 1746 (spline->spline[ 0])->coeff[0] = data->data.F32[i] -1773 (spline->spline[i])->coeff[0] = data->data.F32[i] - 1747 1774 (slope * spline->domains[i]); 1748 (spline->spline[0])->coeff[1] = slope; 1749 } 1775 //printf("HMMM (%f, %f, %f)\n", data->data.F32[i], slope, spline->domains[i]); 1776 1777 (spline->spline[i])->coeff[1] = slope; 1778 psTrace(".psLib.dataManip.psFunctions.psSpline1DGen", 4, 1779 "---- spline %d coeffs are (%f, %f)\n", i, 1780 (spline->spline[i])->coeff[0], 1781 (spline->spline[i])->coeff[1]); 1782 } 1783 psTrace(".psLib.dataManip.psFunctions.psSpline1DGen", 4, 1784 "---- Exiting psSpline1DGen()\n"); 1750 1785 return((psSpline1D *) spline); 1751 1786 } else if (4 == (spline->spline[0])->n) {
Note:
See TracChangeset
for help on using the changeset viewer.
