大概就像这样,我只复原了 D_SURFACE_FITTING 和 DV_SURFACE_VALUES 两个函数。没有写其他接口。
某些版本的IMSL可能是 D_SURFACE_VALUES 而不是 DV_SURFACE_VALUES。
[Fortran] 纯文本查看 复制代码 Module surface_fitting_int
USE norm_int
implicit none
interface surface_fitting
function D_SURFACE_FITTING(DATA,KNOTSX,KNOTSY,CONSTRAINTS,COVARIANCE,IOPT,epack)
import
implicit none
type (d_spline_knots) :: knotsx, knotsy
real(kind(1d0)) :: DATA(:,:)
type (d_SURFACE_CONSTRAINTS) , optional :: CONSTRAINTS(:)
real(kind(1d0)) , optional :: COVARIANCE(:,:)
type (d_options) , optional :: iopt(:)
type (d_error) , optional :: epack
real(kind(1d0)) :: D_SURFACE_FITTING(size(KNOTSX%D_KNOTS)-KNOTSX%SPLINE_DEGREE-1,size(KNOTSY%D_KNOTS)-KNOTSY%SPLINE_DEGREE-1)
end function D_SURFACE_FITTING
end interface surface_fitting
interface SURFACE_VALUES
function DV_SURFACE_VALUES(DERIVATIVE, VARIABLESX, VARIABLESY, KNOTSX, KNOTSY, COEFFS)
import
implicit none
integer :: DERIVATIVE(2)
real(kind(1d0)) :: VARIABLESX(:), VARIABLESY(:)
type (d_spline_knots) :: knotsx, knotsy
real(kind(1d0)) :: COEFFS(:,:)
real(kind(1d0)) :: DV_SURFACE_VALUES(size(VARIABLESX),size(VARIABLESY))
end function DV_SURFACE_VALUES
end interface SURFACE_VALUES
End Module surface_fitting_int
|