GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
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
subroutine cffti1(n, wa, ifac)
Definition: cffti1.f:2
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)