subroutine ewset (n, itol, rtol, atol, ycur, ewt) clll. optimize c----------------------------------------------------------------------- c this subroutine sets the error weight vector ewt according to c ewt(i) = rtol(i)*abs(ycur(i)) + atol(i), i = 1,...,n, c with the subscript on rtol and/or atol possibly replaced by 1 above, c depending on the value of itol. c----------------------------------------------------------------------- integer n, itol integer i double precision rtol, atol, ycur, ewt dimension rtol(1), atol(1), ycur(n), ewt(n) c go to (10, 20, 30, 40), itol 10 continue do 15 i = 1,n 15 ewt(i) = rtol(1)*dabs(ycur(i)) + atol(1) return 20 continue do 25 i = 1,n 25 ewt(i) = rtol(1)*dabs(ycur(i)) + atol(i) return 30 continue do 35 i = 1,n 35 ewt(i) = rtol(i)*dabs(ycur(i)) + atol(1) return 40 continue do 45 i = 1,n 45 ewt(i) = rtol(i)*dabs(ycur(i)) + atol(i) return c----------------------- end of subroutine ewset ----------------------- end