https://github.com/cran/quantreg
Tip revision: 5ad24cff87e41a020a678cf6e742678aa2ee9dce authored by Roger Koenker on 29 May 2018, 10:33:02 UTC
version 5.36
version 5.36
Tip revision: 5ad24cf
boundc.f
c 1 2 3 4 5 6 7
c23456789012345678901234567890123456789012345678901234567890123456789012
c
c Function to obtain the step length
c
c 1 2 3 4 5 6 7
c23456789012345678901234567890123456789012345678901234567890123456789012
c
subroutine boundc(x1,dx1,x2,dx2,s,ds,z1,dz1,z2,dz2,w,dw,n1,n2,
& beta,deltap,deltad)
c
integer n1,n2
double precision x1(n1),dx1(n1),x2(n2),dx2(n2),s(n1),ds(n1),
& z1(n1),dz1(n1),z2(n2),dz2(n2),w(n1),dw(n1)
double precision deltap,deltad,dmin1,big,one,beta
parameter (big = 1.0d20, one = 1.0d0)
deltap = big
deltad = big
do i = 1,n1
if(dx1(i) .lt. 0) deltap = dmin1(deltap, -x1(i)/dx1(i))
if(ds(i) .lt. 0) deltap = dmin1(deltap, -s(i)/ds(i))
if(dz1(i) .lt. 0) deltad = dmin1(deltad, -z1(i)/dz1(i))
if(dw(i) .lt. 0) deltad = dmin1(deltad, -w(i)/dw(i))
enddo
do i = 1,n2
if(dx2(i) .lt. 0) deltap = dmin1(deltap, -x2(i)/dx2(i))
if(dz2(i) .lt. 0) deltad = dmin1(deltad, -z2(i)/dz2(i))
enddo
deltap = dmin1(beta*deltap,one)
deltad = dmin1(beta*deltad,one)
return
end