]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/d/rknys64.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / d / rknys64.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:17 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10#if defined(CERNLIB_DOUBLE)
11 SUBROUTINE DRKNYS(N,H,X,Y,YP,SUB,W)
12C
13#include "gen/imp64.inc"
14C
15 CHARACTER*(*) NAME
16 PARAMETER(NAME='DRKNYS')
17#endif
18#if !defined(CERNLIB_DOUBLE)
19 SUBROUTINE RRKNYS(N,H,X,Y,YP,SUB,W)
20C
21 CHARACTER*(*) NAME
22 PARAMETER(NAME='RRKNYS')
23#endif
24 DIMENSION Y(*),YP(*),W(N,*)
25
26 PARAMETER (Z1 = 1, R2 = Z1/2, R6 = Z1/6, R8 = Z1/8)
27
28#if !defined(CERNLIB_DOUBLE)
29 ENTRY RKNYS(N,H,X,Y,YP,SUB,W)
30#endif
31
32 IF(N .LE. 0 .OR. H .EQ. 0) RETURN
33 H2=R2*H
34 H6=R6*H
35 HH2=H*H2
36 HH6=H*H6
37 HH8=R8*H*H
38 XH=X+H
39 XH2=X+H2
40 CALL SUB(X,Y,YP,W(1,1))
41 DO 1 J = 1,N
42 W(J,4)=Y(J)+H2*YP(J)
43 W(J,5)=W(J,4)+HH8*W(J,1)
44 1 W(J,6)=YP(J)+H2*W(J,1)
45 CALL SUB(XH2,W(1,5),W(1,6),W(1,2))
46 DO 2 J = 1,N
47 W(J,6)=YP(J)+H2*W(J,2)
48 W(J,1)=W(J,1)+W(J,2)
49 2 W(J,2)=W(J,1)+W(J,2)
50 CALL SUB(XH2,W(1,5),W(1,6),W(1,3))
51 DO 3 J = 1,N
52 W(J,4)=W(J,4)+H2*YP(J)
53 W(J,5)=W(J,4)+HH2*W(J,3)
54 W(J,6)=YP(J)+H*W(J,3)
55 W(J,1)=W(J,1)+W(J,3)
56 3 W(J,2)=W(J,2)+2*W(J,3)
57 CALL SUB(XH,W(1,5),W(1,6),W(1,3))
58 DO 4 J = 1,N
59 Y(J)=W(J,4)+HH6*W(J,1)
60 4 YP(J)=YP(J)+H6*(W(J,2)+W(J,3))
61 X=XH
62 RETURN
63 END