GNU Octave
4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
liboctave
cruft
fftpack
cffti1.f
Go to the documentation of this file.
1
subroutine
cffti1
(n,wa,ifac)
2
dimension
wa(*) ,ifac(*) ,ntryh(4)
3
data
ntryh(1),ntryh(2),ntryh(3),ntryh(4)/3,4,2,5/
4
nl = n
5
nf = 0
6
j = 0
7
101 j = j+1
8
if
(j-4) 102,102,103
9
102 ntry = ntryh(j)
10
go to 104
11
103 ntry = ntry+2
12
104 nq = nl/ntry
13
nr = nl-ntry*nq
14
if
(nr) 101,105,101
15
105 nf = nf+1
16
ifac(nf+2) = ntry
17
nl = nq
18
if
(ntry .ne. 2) go to 107
19
if
(nf .eq. 1) go to 107
20
do
106 i=2,nf
21
ib = nf-i+2
22
ifac(ib+2) = ifac(ib+1)
23
106
continue
24
ifac(3) = 2
25
107
if
(nl .ne. 1) go to 104
26
ifac(1) = n
27
ifac(2) = nf
28
tpi = 6.28318530717959
29
argh = tpi/dble(n)
30
i = 2
31
l1 = 1
32
do
110 k1=1,nf
33
ip = ifac(k1+2)
34
ld = 0
35
l2 = l1*ip
36
ido = n/l2
37
idot = ido+ido+2
38
ipm = ip-1
39
do
109 j=1,ipm
40
i1 = i
41
wa(i-1) = 1.
42
wa(i) = 0.
43
ld = ld+l1
44
fi
= 0.
45
argld = dble(ld)*argh
46
do
108 ii=4,idot,2
47
i = i+2
48
fi
=
fi
+1.
49
arg =
fi
*argld
50
wa(i-1) =
cos
(arg)
51
wa(i) =
sin
(arg)
52
108
continue
53
if
(ip .le. 5) go to 109
54
wa(i1-1) = wa(i-1)
55
wa(i1) = wa(i)
56
109
continue
57
l1 = l2
58
110
continue
59
return
60
end
workspace_element::dimension
std::string dimension(void) const
Definition:
workspace-element.h:74
cffti1
subroutine cffti1(n, wa, ifac)
Definition:
cffti1.f:1
octave_value::sin
octave_value sin(void) const
Definition:
ov.h:1198
octave_value::cos
octave_value cos(void) const
Definition:
ov.h:1170
fi
static double fi[256]
Definition:
randmtzig.c:443
Generated on Thu Jun 4 2015 23:30:23 for GNU Octave by
1.8.8