| 46 |  | !!  PURPOSE: Generic Spline interpolation routines. | 
| 47 |  | !! | 
| 48 |  | !! @author Charles F. Vardeman II | 
| 49 | < | !! @version $Id: interpolation.F90,v 1.7 2006-04-20 18:24:24 gezelter Exp $ | 
| 49 | > | !! @version $Id: interpolation.F90,v 1.8 2006-05-17 15:37:15 gezelter Exp $ | 
| 50 |  |  | 
| 51 |  |  | 
| 52 |  | module interpolation | 
| 224 |  | cs%b(n) = cs%b(n-1) + h(n-1) * (2.0_dp*cs%c(n-1) + h(n-1)*3.0_dp*cs%d(n-1)) | 
| 225 |  |  | 
| 226 |  | if (isUniform) then | 
| 227 | < | cs%dx_i = 1.0d0 / (x(2) - x(1)) | 
| 227 | > | cs%dx_i = 1.0_dp / (x(2) - x(1)) | 
| 228 |  | endif | 
| 229 |  |  | 
| 230 |  | return | 
| 310 |  | !  Find the interval J = [ cs%x(J), cs%x(J+1) ] that contains | 
| 311 |  | !  or is nearest to xval. | 
| 312 |  |  | 
| 313 | < | j = MAX(1, MIN(cs%n-1, idint((xval-cs%x(1)) * cs%dx_i) + 1)) | 
| 313 | > | j = MAX(1, MIN(cs%n-1, int((xval-cs%x(1)) * cs%dx_i) + 1)) | 
| 314 |  |  | 
| 315 |  | dx = xval - cs%x(j) | 
| 316 |  | yval = cs%y(j) + dx*(cs%b(j) + dx*(cs%c(j) + dx*cs%d(j))) | 
| 332 |  | !  or is nearest to xval. | 
| 333 |  |  | 
| 334 |  |  | 
| 335 | < | j = MAX(1, MIN(cs%n-1, idint((xval-cs%x(1)) * cs%dx_i) + 1)) | 
| 335 | > | j = MAX(1, MIN(cs%n-1, int((xval-cs%x(1)) * cs%dx_i) + 1)) | 
| 336 |  |  | 
| 337 |  | dx = xval - cs%x(j) | 
| 338 |  | yval = cs%y(j) + dx*(cs%b(j) + dx*(cs%c(j) + dx*cs%d(j))) | 
| 339 |  |  | 
| 340 | < | dydx = cs%b(j) + dx*(2.0d0 * cs%c(j) + 3.0d0 * dx * cs%d(j)) | 
| 340 | > | dydx = cs%b(j) + dx*(2.0_dp * cs%c(j) + 3.0_dp * dx * cs%d(j)) | 
| 341 |  |  | 
| 342 |  | return | 
| 343 |  | end subroutine lookupUniformSpline1d |