- Timestamp:
- Nov 25, 2008, 4:51:39 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/interpolate.c
r7917 r20839 22 22 23 23 yout[0].Nelements = xout[0].Nelements; 24 REALLOCATE (yout[0].elements , float, yout[0].Nelements);24 REALLOCATE (yout[0].elements.Flt, opihi_flt, yout[0].Nelements); 25 25 26 dx = xin[0].elements [1] - xin[0].elements[0];27 dy = yin[0].elements [1] - yin[0].elements[0];28 x0 = xin[0].elements [0];29 y0 = yin[0].elements [0];26 dx = xin[0].elements.Flt[1] - xin[0].elements.Flt[0]; 27 dy = yin[0].elements.Flt[1] - yin[0].elements.Flt[0]; 28 x0 = xin[0].elements.Flt[0]; 29 y0 = yin[0].elements.Flt[0]; 30 30 31 31 /* in vectors are sorted, out vectors are not */ 32 32 for (j = 0; j < xin[0].Nelements - 1; j++) { 33 dx = xin[0].elements [j+1] - xin[0].elements[j];34 dy = yin[0].elements [j+1] - yin[0].elements[j];35 x0 = xin[0].elements [j];36 y0 = yin[0].elements [j];37 x1 = xin[0].elements [j+1];33 dx = xin[0].elements.Flt[j+1] - xin[0].elements.Flt[j]; 34 dy = yin[0].elements.Flt[j+1] - yin[0].elements.Flt[j]; 35 x0 = xin[0].elements.Flt[j]; 36 y0 = yin[0].elements.Flt[j]; 37 x1 = xin[0].elements.Flt[j+1]; 38 38 for (i = 0; i < xout[0].Nelements; i++) { 39 if ((xout[0].elements [i] >= x0) && (xout[0].elements[i] < x1)) {40 yout[0].elements [i] = (dy/dx)*(xout[0].elements[i] - x0) + y0;39 if ((xout[0].elements.Flt[i] >= x0) && (xout[0].elements.Flt[i] < x1)) { 40 yout[0].elements.Flt[i] = (dy/dx)*(xout[0].elements.Flt[i] - x0) + y0; 41 41 } 42 if ((j == 0) && (xout[0].elements [i] < x0)) {43 yout[0].elements [i] = (dy/dx)*(xout[0].elements[i] - x0) + y0;42 if ((j == 0) && (xout[0].elements.Flt[i] < x0)) { 43 yout[0].elements.Flt[i] = (dy/dx)*(xout[0].elements.Flt[i] - x0) + y0; 44 44 } 45 if ((j == xin[0].Nelements - 2) && (xout[0].elements [i] >= x1)) {46 yout[0].elements [i] = (dy/dx)*(xout[0].elements[i] - x0) + y0;45 if ((j == xin[0].Nelements - 2) && (xout[0].elements.Flt[i] >= x1)) { 46 yout[0].elements.Flt[i] = (dy/dx)*(xout[0].elements.Flt[i] - x0) + y0; 47 47 } 48 48 }
Note:
See TracChangeset
for help on using the changeset viewer.
