]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/d/elanal.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / d / elanal.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:18 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10 SUBROUTINE ELANAL (MP,N,IBCX,POT,POTW,POTE,POTS,POTN)
11 COMMON/FW1/W1(774)/FW2/W2(100)
12 DIMENSION POT(MP,N)
13 DIMENSION POTW(N),POTE(N),POTS(MP),POTN(MP)
14 M=MP-1
15 MD=MP+M
16 AX=(1./LOG10(2.))+.01
17 XM=M
18 AM=AX*LOG10(XM)
19 IM=INT(AM)
20 IF(IBCX.EQ.4) GO TO 400
21C THE RFT ROUTINE IS A MODIFIED
22C VERSION OF HOCKNEY FAST FOURIER
23C TRANSFORM PACKAGE AND CORRESPONDS TO
24C ISELIN LIBRARY PROGRAM D 700
25C
26 CALL RFT(IM,POTS,1,W1(2*MP+1),1,IBCX)
27 CALL RFT(IM,POTN,1,W1(3*MP+1),1,IBCX)
28 DO 1 J=1,N
29 1 CALL RFT(IM,POT(1,J),1,POT(1,J),1,IBCX)
30 RETURN
31C
32C THE MFT ROUTINE IS USED FOR
33C THE FOURTH TYPE OF BOUNDARY
34C CONDITION ALONG X
35C
36 400 CALL MFT(MP,MD,POTS,W1(2*MP+1),W1(4*MP+1),1)
37 CALL MFT(MP,MD,POTN,W1(3*MP+1),W1(4*MP+1),1)
38C
39 DO 2 J=1,N
40 DO 3 I=1,MP
41 3 W1(I)=POT(I,J)
42C
43 CALL MFT(MP,MD,W1,W1(MP+1),W1(4*MP+1),1)
44C
45 DO 4 I=1,MP
46 4 POT(I,J)=W1(I+MP)
47 2 CONTINUE
48 RETURN
49 END