File: fftpack.H

package info (click to toggle)
tela 1.28-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 6,596 kB
  • ctags: 5,519
  • sloc: ansic: 14,013; cpp: 13,376; lex: 1,651; fortran: 1,048; yacc: 834; sh: 715; makefile: 464
file content (115 lines) | stat: -rw-r--r-- 3,390 bytes parent folder | download
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
/*
 * This file is part of tela the Tensor Language.
 * Copyright (c) 1994-1996 Pekka Janhunen
 */

extern "C" {

extern void cfftf(Tint N, Tcomplex data[], const Treal wrk[]);
extern void cfftb(Tint N, Tcomplex data[], const Treal wrk[]);
extern void cffti(Tint N, Treal wrk[]);

extern void rfftf(Tint N, Treal data[], const Treal wrk[]);
extern void rfftb(Tint N, Treal data[], const Treal wrk[]);
extern void rffti(Tint N, Treal wrk[]);

extern void sint(Tint N, Treal data[], const Treal wrk[]);
extern void sinti(Tint N, Treal wrk[]);

extern void cost(Tint N, Treal data[], const Treal wrk[]);
extern void costi(Tint N, Treal wrk[]);

extern void sinqf(Tint N, Treal data[], const Treal wrk[]);
extern void sinqb(Tint N, Treal data[], const Treal wrk[]);
extern void sinqi(Tint N, Treal wrk[]);

extern void cosqf(Tint N, Treal data[], const Treal wrk[]);
extern void cosqb(Tint N, Treal data[], const Treal wrk[]);
extern void cosqi(Tint N, Treal wrk[]);

#define CFFTF cfftf
#define CFFTB cfftb
#define CFFTI cffti
#define RFFTF rfftf
#define RFFTB rfftb
#define RFFTI rffti
#define SINTI sinti
#define SINT sint
#define COSTI costi
#define COST cost
#define SINQF sinqf
#define SINQB sinqb
#define SINQI sinqi
#define COSQF cosqf
#define COSQB cosqb
#define COSQI cosqi

}

#if 0

#if defined(HPUX) && !defined(__GNUC__)
#  define NO_UNDERSCORE_IN_FORTRAN_NAMES
#endif

#ifdef NO_UNDERSCORE_IN_FORTRAN_NAMES
#  define Fortran(x) x
#else
#  define Fortran(x) x##_
#endif

#ifndef UNICOS

#  define CFFTF Fortran(cfftf)		// complex transform
#  define CFFTB Fortran(cfftb)		// its inverse
#  define CFFTI Fortran(cffti)		// initializer of the above routine pair

#  define RFFTF Fortran(rfftf)		// real transform
#  define RFFTB Fortran(rfftb)		// its inverse
#  define RFFTI Fortran(rffti)		// initializer for rfft

#  define SINT Fortran(sint)		// sine transform
#  define SINTI Fortran(sinti)		// initializer for sint

#  define COST Fortran(cost)		// cosine transform
#  define COSTI Fortran(costi)		// initializer for cost

#  define SINQF Fortran(sinqf)		// quarter-wave sine transform
#  define SINQB Fortran(sinqb)		// its inverse
#  define SINQI Fortran(sinqi)		// initializer for sinq

#  define COSQF Fortran(cosqf)		// quarter-wave cosine transform
#  define COSQB Fortran(cosqb)		// its inverse
#  define COSQI Fortran(cosqi)		// initializer for cosq

#endif

extern "C" {

// FFTPACK functions
	
extern void CFFTF(const Tint& N, Tcomplex data[], const Treal wrk[]);
extern void CFFTB(const Tint& N, Tcomplex data[], const Treal wrk[]);
extern void CFFTI(const Tint& N, Treal wrk[]);

extern void RFFTF(const Tint& N, Treal data[], const Treal wrk[]);
extern void RFFTB(const Tint& N, Treal data[], const Treal wrk[]);
extern void RFFTI(const Tint& N, Treal wrk[]);

extern void SINT(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINTI(const Tint& N, Treal wrk[]);

extern void COST(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSTI(const Tint& N, Treal wrk[]);

extern void SINQF(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINQB(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINQI(const Tint& N, Treal wrk[]);

extern void COSQF(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSQB(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSQI(const Tint& N, Treal wrk[]);

}

#endif