Mercurial > octave-nkf
view libcruft/odessa/odessa_ewset.f @ 5018:1c65a8e44ef9 ss-2-1-59
[project @ 2004-09-22 03:33:29 by jwe]
author | jwe |
---|---|
date | Wed, 22 Sep 2004 03:33:29 +0000 |
parents | 258c1d15ad78 |
children |
line wrap: on
line source
SUBROUTINE ODESSA_EWSET (N, ITOL, RTOL, ATOL, YCUR, EWT) 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----------------------------------------------------------------------- IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION RTOL(*), ATOL(*), YCUR(N), EWT(N) RTOLI = RTOL(1) ATOLI = ATOL(1) DO 10 I = 1,N IF (ITOL .GE. 3) RTOLI = RTOL(I) IF (ITOL .EQ. 2 .OR. ITOL .EQ. 4) ATOLI = ATOL(I) EWT(I) = RTOLI*DABS(YCUR(I)) + ATOLI 10 CONTINUE RETURN C----------------------- END OF SUBROUTINE ODESSA_EWSET ----------------------- END