GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
ddawts.f
Go to the documentation of this file.
1  SUBROUTINE ddawts (NEQ, IWT, RTOL, ATOL, Y, WT, RPAR, IPAR)
2 C***BEGIN PROLOGUE DDAWTS
3 C***SUBSIDIARY
4 C***PURPOSE Set error weight vector for DDASSL.
5 C***LIBRARY SLATEC (DASSL)
6 C***TYPE DOUBLE PRECISION (SDAWTS-S, DDAWTS-D)
7 C***AUTHOR PETZOLD, LINDA R., (LLNL)
8 C***DESCRIPTION
9 C-----------------------------------------------------------------------
10 C THIS SUBROUTINE SETS THE ERROR WEIGHT VECTOR
11 C WT ACCORDING TO WT(I)=RTOL(I)*ABS(Y(I))+ATOL(I),
12 C I=1,-,N.
13 C RTOL AND ATOL ARE SCALARS IF IWT = 0,
14 C AND VECTORS IF IWT = 1.
15 C-----------------------------------------------------------------------
16 C***ROUTINES CALLED (NONE)
17 C***REVISION HISTORY (YYMMDD)
18 C 830315 DATE WRITTEN
19 C 901009 Finished conversion to SLATEC 4.0 format (F.N.Fritsch)
20 C 901019 Merged changes made by C. Ulrich with SLATEC 4.0 format.
21 C 901026 Added explicit declarations for all variables and minor
22 C cosmetic changes to prologue. (FNF)
23 C***END PROLOGUE DDAWTS
24 C
25  INTEGER NEQ, IWT, IPAR(*)
26  DOUBLE PRECISION RTOL(*), ATOL(*), Y(*), WT(*), RPAR(*)
27 C
28  INTEGER I
29  DOUBLE PRECISION ATOLI, RTOLI
30 C
31 C***FIRST EXECUTABLE STATEMENT DDAWTS
32  rtoli=rtol(1)
33  atoli=atol(1)
34  DO 20 i=1,neq
35  IF (iwt .EQ.0) GO TO 10
36  rtoli=rtol(i)
37  atoli=atol(i)
38 10 wt(i)=rtoli*abs(y(i))+atoli
39 20 CONTINUE
40  RETURN
41 C-----------END OF SUBROUTINE DDAWTS------------------------------------
42  END
subroutine ddawts(NEQ, IWT, RTOL, ATOL, Y, WT, RPAR, IPAR)
Definition: ddawts.f:2