Computational routine
eng

##
intrp2

### File content

          subroutine intrp2(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,
         &     rpar,nrpar,ipar,nipar,u1,nu1,u2,nu2,y1,ny1)
    c     Copyright INRIA

    c     Scicos block simulator
    c     ipar(1) : the number of input
    c
          double precision t,xd(*),x(*),z(*),tvec(*),rpar(*)
          double precision y1,u1,u2
          double precision vx1,vx2,vy1,vy2,vz1,vz2,vz3,vz4
          integer flag,nevprt,nx,nz,ntvec,nrpar,ipar(*),i
          integer nipar
    c
    c
          do 100 i=2,ipar(1)
             if (u1.le.rpar(i)) goto 200
     100  continue
          i=ipar(1)
     200  do 300 j=2,ipar(2)
             if (u2.le.rpar(j+ipar(1))) goto 400
     300  continue
          j=ipar(2)
     400  continue
          vy1=rpar(ipar(1)+j-1)
          vy2=rpar(ipar(1)+j)
          vz1=rpar(ipar(1)+ipar(2)+(i-2)*ipar(2)+j-1)
          vz4=rpar(ipar(1)+ipar(2)+(i-2)*ipar(2)+j)
          vz2=rpar(ipar(1)+ipar(2)+(i-1)*ipar(2)+j-1)
          vz3=rpar(ipar(1)+ipar(2)+(i-1)*ipar(2)+j)
          vx1=rpar(i-1)
          vx2=rpar(i)
          y1=(1.0d0-(u2-vy1)/(vy2-vy1))*(vz1+(vz2-vz1)*(u1-vx1)/(vx2-vx1))
         $     +((u2-vy1)/(vy2-vy1))*(vz4+(vz3-vz4)*(u1-vx1)/(vx2-vx1))
          return
          end