blob: 23b233073688954d7ff3fc3c004ba5e1f1dd6b95 (
plain) (
blame)
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
|
c function factor.f
c
c source
c Bevington, page 32.
c
c purpose
c calculates factorial function for integers
c
c usage
c result = factor (n)
c
c description of parameters
c n - integer argument
c
c subroutines and function subprograms required
c none
c
function factor (n)
double precision fi,sum
11 factor=1.
if (n-1) 40,40,13
13 if (n-10) 21,21,31
c
c n less than 11
c
21 do 23 i=2,n
fi=i
23 factor=factor*fi
goto 40
c
c n greater than 10
c
31 sum=0.
do 34 i=11,n
fi=i
34 sum=sum+dlog(fi)
35 factor=3628800.*dexp(sum)
40 return
end
|