File: dixr1s.f

package info (click to toggle)
lorene 0.0.0~cvs20161116%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, stretch
  • size: 26,444 kB
  • ctags: 13,953
  • sloc: cpp: 212,946; fortran: 21,645; makefile: 1,750; sh: 4
file content (126 lines) | stat: -rw-r--r-- 2,954 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
C
C   Copyright (c) 1998 Silvano Bonazzola
C
C    This file is part of LORENE.
C
C    LORENE is free software; you can redistribute it and/or modify
C    it under the terms of the GNU General Public License as published by
C    the Free Software Foundation; either version 2 of the License, or
C    (at your option) any later version.
C
C    LORENE is distributed in the hope that it will be useful,
C    but WITHOUT ANY WARRANTY; without even the implied warranty of
C    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
C    GNU General Public License for more details.
C
C    You should have received a copy of the GNU General Public License
C    along with LORENE; if not, write to the Free Software
C    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
C
C
C
C $Id: dixr1s.f,v 1.2 2012/03/30 12:12:43 j_novak Exp $
C $Log: dixr1s.f,v $
C Revision 1.2  2012/03/30 12:12:43  j_novak
C Cleaning of fortran files
C
C Revision 1.1.1.1  2001/11/20 15:19:30  e_gourgoulhon
C LORENE
C
c Revision 1.1  1998/06/22  10:40:59  eric
c Initial revision
c
C
C $Header: /cvsroot/Lorene/F77/Source/Poisson2d/dixr1s.f,v 1.2 2012/03/30 12:12:43 j_novak Exp $
C
C

	SUBROUTINE DIXR1S(N,IND,CS,CC)

	IMPLICIT double PRECISION (A-H,O-Z)

C
C	    ROUTINE MULTIPLIANT OU DIVISANT UNE FONCTION AVEC ECHAN-
C	    TILLONNAGE RAREFIE' A L'ORIGINE PAR x. LA FONCTION AINSI
C	    TRAITEE CHANGE DE PARITE'. (DI(vision) (par) X (d'une
C	    fonction) R(arefiee) S(imple precision).
C
C		ARGUMENTS DE LA ROUTINE:
C
C	    N	=NOMBRE DE DEGRES DE LIBERTE'
C
C	    IND	=PARAMETRE:
C
C		    IND=0  LA FONCTION PAIRE EST DIVISEE PAR x ET
C			   RENDUE IMPAIRE,
C		    IND=1  LA FONCTION IMPAIRE EST DIVISEE PAR x
C			   ET RENDUE PAIRE,
C		    IND=2  LA FONCTION PAIRE EST MULTIPLIEE PAR x
C			   ET RENDUE IMPAIRE,
C		    IND=3  LA FONCTION IMPAIRE EST MULTIPLIEE PAR x
C			   ET RENDUE PAIRE.
C
C	    CS	=TABLEAU INPUT
C	    CC	=TABLEAU OUTPUT
C
C##	Routine testee le 13/04/85
C
C......................................................................
C
	character*120 header
	data header/'$Header: /cvsroot/Lorene/F77/Source/Poisson2d/dixr1s.f,v 1.2 2012/03/30 12:12:43 j_novak Exp $'/

	DIMENSION CS(*),CC(*)
C
C		CAS IND=0: LA FONCTION PAIRE EST DIVISEE PAR x
C
	N1=N+1
C
	IF(IND.EQ.0) THEN
C
	CC(1)=-CS(1)
	DO L=2,N
	CC(L)=-CC(L-1)-CS(L)-CS(L)
	ENDDO
	CC(N1)=0
	RETURN
	ENDIF
C
C		CAS IND=3: LA FONCTION IMPAIRE EST MULTIPLIEE PAR x
C
	IF(IND.EQ.3) THEN
C
	CC(1)=-CS(1)
	DO L=2,N
	CC(L)=-(CS(L)+CS(L-1))*.5D+00
	ENDDO
	CC(N1)=-CS(N)
	RETURN
	ENDIF
C
C		CAS IND=2: LAFONCTION PAIRE EST MULTIPLIEE PAR x
C
	IF(IND.EQ.2) THEN
	DO L=1,N
	CC(L)=-(CS(L)+CS(L+1))*.5D+00
	ENDDO
	CC(N1)=0
	RETURN
	ENDIF
C
C		CAS IND=1: LA FONCTION IMPAIRE EST DIVISEE PAR x
C
	IF(IND.EQ.1) THEN
C
	CC(N)=-CS(N)-CS(N)
	DO L=1,N-1
	LL=N-L
	CC(LL)=-(CS(LL)+CS(LL)+CC(LL+1))
	ENDDO
	CC(N1)=0
	ENDIF
C
C  100	FORMAT(1X,'PIMP',1X,5D24.16)
C  101	FORMAT(1X,' ')
	RETURN
	END