PROGRAM xsplin2 ! driver for routine splin2 USE nrtype; USE nrutil USE nr IMPLICIT NONE INTEGER(I4B), PARAMETER :: M=10,N=10 INTEGER(I4B) :: i REAL(SP) :: f,ff,x1x2,xx1,xx2 REAL(SP), DIMENSION(M) :: x1 REAL(SP), DIMENSION(M,N) :: y,y2 REAL(SP), DIMENSION(N) :: x2 x1(1:M)=0.2_sp*arth(1,1,M) x2(:)=x1(:) y(:,:)=outerprod(x1(:),x2(:)) y(:,:)=y(:,:)*exp(-y(:,:)) call splie2(x1,x2,y,y2) write(*,'(/1x,t9,a,t21,a,t31,a,t43,a)') 'x1','x2','splin2','actual' do i=1,10 xx1=0.1_sp*i xx2=xx1**2 f=splin2(x1,x2,y,y2,xx1,xx2) x1x2=xx1*xx2 ff=x1x2*exp(-x1x2) write(*,'(1x,4f12.6)') xx1,xx2,f,ff end do END PROGRAM xsplin2