xlang v4.0 Release
程序设计语言基础库文档
载入中...
搜索中...
未找到
结构体 | 静态 Public 成员函数 | 包函数
fftw类 参考
类 fftw 继承关系图:
Library

结构体

class  fftwComplex
 

静态 Public 成员函数

包函数

额外继承的成员函数

详细描述

在文件 fftw.xcs4 行定义.

成员函数说明

◆ create_fftw_plan_c2r_1d()

Pointer cdecl create_fftw_plan_c2r_1d ( int  n,
Pointer  in,
ObjectPtr  out,
int  sign,
int  flag 
)
package

被这些函数引用 ifftc2r().

◆ create_fftw_plan_c2r_2d()

Pointer cdecl create_fftw_plan_c2r_2d ( int  n0,
int  n1,
Pointer  in,
ObjectPtr  out,
int  sign,
int  flag 
)
package

◆ create_fftw_plan_c2r_3d()

Pointer cdecl create_fftw_plan_c2r_3d ( int  n0,
int  n1,
int  n2,
Pointer  in,
ObjectPtr  out,
int  sign,
int  flag 
)
package

◆ create_fftw_plan_dft_1d()

Pointer cdecl create_fftw_plan_dft_1d ( int  n,
Pointer  in,
Pointer  out,
int  sign,
int  flag 
)
package

被这些函数引用 fft() , 以及 ifft().

◆ create_fftw_plan_dft_2d()

Pointer cdecl create_fftw_plan_dft_2d ( int  n0,
int  n1,
Pointer  in,
Pointer  out,
int  sign,
int  flag 
)
package

被这些函数引用 fft2(), fft2d(), fft2d(), ifft2(), ifft2d() , 以及 ifft2d().

◆ create_fftw_plan_dft_3d()

Pointer cdecl create_fftw_plan_dft_3d ( int  n0,
int  n1,
int  n2,
Pointer  in,
Pointer  out,
int  sign,
int  flag 
)
package

◆ create_fftw_plan_r2c_1d()

Pointer cdecl create_fftw_plan_r2c_1d ( int  n,
ObjectPtr  in,
Pointer  out,
int  sign,
int  flag 
)
package

被这些函数引用 fftr2c().

◆ create_fftw_plan_r2c_2d()

Pointer cdecl create_fftw_plan_r2c_2d ( int  n0,
int  n1,
ObjectPtr  in,
Pointer  out,
int  sign,
int  flag 
)
package

◆ create_fftw_plan_r2c_3d()

Pointer cdecl create_fftw_plan_r2c_3d ( int  n0,
int  n1,
int  n2,
ObjectPtr  in,
Pointer  out,
int  sign,
int  flag 
)
package

◆ execute_fftw()

void cdecl execute_fftw ( Pointer  p)
package

被这些函数引用 fft(), fft2(), fft2d(), fft2d(), fftr2c(), ifft(), ifft2(), ifft2d(), ifft2d() , 以及 ifftc2r().

◆ extract_complex_double()

void cdecl extract_complex_double ( Pointer  p,
int  offset,
int  size,
int  eoffset,
ObjectPtr  rnp 
)
package

◆ extract_complex_double2()

void cdecl extract_complex_double2 ( Pointer  p,
int  offset,
int  size,
int  eoffset,
ObjectPtr  rnp,
ObjectPtr  inp 
)
package

◆ fft()

static double [][] fft ( double []  rd,
double []  id 
)
static

在文件 fftw.xcs218 行定义.

218 {
219 if (id != nilptr && id.length != rd.length){
220 throw new IllegalArgumentException("rd length != id length");
221 return nilptr;
222 }
223
224 fftwComplex in = new fftwComplex(rd.length);
225 in.fill(rd, id);
226
227 fftwComplex out = new fftwComplex(rd.length);
228
229 long plan = create_fftw_plan_dft_1d(in.s, in.native, out.native, -1, 0x40);
230 if (plan == 0){
231 return nilptr;
232 }
233 execute_fftw(plan);
234 free_plan(plan);
235 return out.extract();
236 }
void cdecl free_plan(Pointer p)
void cdecl execute_fftw(Pointer p)
Pointer cdecl create_fftw_plan_dft_1d(int n, Pointer in, Pointer out, int sign, int flag)

引用了 create_fftw_plan_dft_1d(), execute_fftw() , 以及 free_plan().

◆ fft2()

static double [][] fft2 ( int  n0,
int  n1,
double []  rd,
double []  id 
)
static

在文件 fftw.xcs166 行定义.

166 {
167 if (rd.length != (n0 * n1)){
168 throw new IllegalArgumentException("rd length != n0 *n1");
169 return nilptr;
170 }
171
172 if (id != nilptr && id.length != rd.length){
173 throw new IllegalArgumentException("rd length != id length");
174 return nilptr;
175 }
176
177 fftwComplex in = new fftwComplex(n0, n1);
178 in.fill(rd, id);
179
180 fftwComplex out = new fftwComplex(in.w, in.h);
181
182 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, -1, 0x40);
183 if (plan == 0){
184 return nilptr;
185 }
186 execute_fftw(plan);
187 free_plan(plan);
188
189
190 return out.extract();
191 }
Pointer cdecl create_fftw_plan_dft_2d(int n0, int n1, Pointer in, Pointer out, int sign, int flag)

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ fft2d() [1/2]

static fftwComplex fft2d ( double  rd[][],
double  id[][] 
)
static

在文件 fftw.xcs126 行定义.

126 {
127 if (id != nilptr && id.length != rd.length){
128 throw new IllegalArgumentException("rd length != id length");
129 return nilptr;
130 }
131
132 fftwComplex in = new fftwComplex(rd.length, rd[0].length);
133 in.fill(rd, id);
134
135 fftwComplex out = new fftwComplex(in.w, in.h);
136
137 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, -1, 0x40);
138 if (plan == 0){
139 return nilptr;
140 }
141 execute_fftw(plan);
142 free_plan(plan);
143 return out;
144 }

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ fft2d() [2/2]

static fftwComplex fft2d ( fftwComplex  in)
static

在文件 fftw.xcs104 行定义.

104 {
105 fftwComplex out = new fftwComplex(in.w, in.h);
106 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, -1, 0x40);
107 if (plan == 0){
108 return nilptr;
109 }
110 execute_fftw(plan);
111 free_plan(plan);
112 return out;
113 }

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ fftr2c()

static double [][] fftr2c ( double []  rd,
double []  id 
)
static

在文件 fftw.xcs258 行定义.

258 {
259 if (id != nilptr && id.length != rd.length){
260 throw new IllegalArgumentException("rd length != id length");
261 return nilptr;
262 }
263
264 fftwComplex in = new fftwComplex(rd.length);
265 in.fill(rd, id);
266
267 fftwComplex out = new fftwComplex(rd.length);
268
269 long plan = create_fftw_plan_r2c_1d(in.s, in.native, out.native, -1, 0x40);
270 if (plan == 0){
271 return nilptr;
272 }
273 execute_fftw(plan);
274 free_plan(plan);
275 return out.extract();
276 }
Pointer cdecl create_fftw_plan_r2c_1d(int n, ObjectPtr in, Pointer out, int sign, int flag)

引用了 create_fftw_plan_r2c_1d(), execute_fftw() , 以及 free_plan().

◆ fill_complex_double()

void cdecl fill_complex_double ( Pointer  p,
int  offset,
int  size,
int  eoffset,
ObjectPtr  rnp 
)
package

◆ fill_complex_double2()

void cdecl fill_complex_double2 ( Pointer  p,
int  offset,
int  size,
int  eoffset,
ObjectPtr  rnp,
ObjectPtr  inp 
)
package

◆ free_complex()

void cdecl free_complex ( Pointer  p)
package

◆ free_plan()

void cdecl free_plan ( Pointer  p)
package

被这些函数引用 fft(), fft2(), fft2d(), fft2d(), fftr2c(), ifft(), ifft2(), ifft2d(), ifft2d() , 以及 ifftc2r().

◆ get_complex_double()

double cdecl get_complex_double ( Pointer  p,
int  index,
bool  bi 
)
package

◆ ifft()

static double [][] ifft ( double []  rd,
double []  id 
)
static

在文件 fftw.xcs238 行定义.

238 {
239 if (id != nilptr && id.length != rd.length){
240 throw new IllegalArgumentException("rd length != id length");
241 return nilptr;
242 }
243
244 fftwComplex in = new fftwComplex(rd.length);
245 in.fill(rd, id);
246
247 fftwComplex out = new fftwComplex(rd.length);
248
249 long plan = create_fftw_plan_dft_1d(in.s, in.native, out.native, 1, 0x40);
250 if (plan == 0){
251 return nilptr;
252 }
253 execute_fftw(plan);
254 free_plan(plan);
255 return out.extract();
256 }

引用了 create_fftw_plan_dft_1d(), execute_fftw() , 以及 free_plan().

◆ ifft2()

static double [][] ifft2 ( int  n0,
int  n1,
double []  rd,
double []  id 
)
static

在文件 fftw.xcs193 行定义.

193 {
194 if (rd.length != (n0 * n1)){
195 throw new IllegalArgumentException("rd length != n0 *n1");
196 return nilptr;
197 }
198
199 if (id != nilptr && id.length != rd.length){
200 throw new IllegalArgumentException("rd length != id length");
201 return nilptr;
202 }
203
204 fftwComplex in = new fftwComplex(n0, n1);
205 in.fill(rd, id);
206
207 fftwComplex out = new fftwComplex(in.w, in.h);
208
209 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, 1, 0x40);
210 if (plan == 0){
211 return nilptr;
212 }
213 execute_fftw(plan);
214 free_plan(plan);
215 return out.extract();
216 }

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ ifft2d() [1/2]

static fftwComplex ifft2d ( double  rd[][],
double  id[][] 
)
static

在文件 fftw.xcs146 行定义.

146 {
147 if (id != nilptr && id.length != rd.length){
148 throw new IllegalArgumentException("rd length != id length");
149 return nilptr;
150 }
151
152 fftwComplex in = new fftwComplex(rd.length, rd[0].length);
153 in.fill(rd, id);
154
155 fftwComplex out = new fftwComplex(in.w, in.h);
156
157 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, 1, 0x40);
158 if (plan == 0){
159 return nilptr;
160 }
161 execute_fftw(plan);
162 free_plan(plan);
163 return out;
164 }

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ ifft2d() [2/2]

static fftwComplex ifft2d ( fftwComplex  in)
static

在文件 fftw.xcs115 行定义.

115 {
116 fftwComplex out = new fftwComplex(in.w, in.h);
117 long plan = create_fftw_plan_dft_2d(in.w, in.h, in.native, out.native, 1, 0x40);
118 if (plan == 0){
119 return nilptr;
120 }
121 execute_fftw(plan);
122 free_plan(plan);
123 return out;
124 }

引用了 create_fftw_plan_dft_2d(), execute_fftw() , 以及 free_plan().

◆ ifftc2r()

static double [][] ifftc2r ( double []  rd,
double []  id 
)
static

在文件 fftw.xcs278 行定义.

278 {
279 if (id != nilptr && id.length != rd.length){
280 throw new IllegalArgumentException("rd length != id length");
281 return nilptr;
282 }
283
284 fftwComplex in = new fftwComplex(rd.length);
285 in.fill(rd, id);
286
287 fftwComplex out = new fftwComplex(rd.length);
288
289 long plan = create_fftw_plan_c2r_1d(in.s, in.native, out.native, 1, 0x40);
290 if (plan == 0){
291 return nilptr;
292 }
293 execute_fftw(plan);
294 free_plan(plan);
295 return out.extract();
296 }
Pointer cdecl create_fftw_plan_c2r_1d(int n, Pointer in, ObjectPtr out, int sign, int flag)

引用了 create_fftw_plan_c2r_1d(), execute_fftw() , 以及 free_plan().