projects
/
my-code
/
api.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
0e73e99
)
improved "clever way" method - seems to work now .. strange it didnt before!
author
hackbard
<hackbard>
Fri, 8 Oct 2004 10:06:09 +0000
(10:06 +0000)
committer
hackbard
<hackbard>
Fri, 8 Oct 2004 10:06:09 +0000
(10:06 +0000)
fourier/fourier.c
patch
|
blob
|
history
diff --git
a/fourier/fourier.c
b/fourier/fourier.c
index
9f810ec
..
89f42c2
100644
(file)
--- a/
fourier/fourier.c
+++ b/
fourier/fourier.c
@@
-220,22
+220,22
@@
int fourier_dft_2d(t_fourier *fourier) {
}
// dft on index 2 of 'index 1 transformed data'
for(x=0;x<X;x++) {
}
// dft on index 2 of 'index 1 transformed data'
for(x=0;x<X;x++) {
- off_f=
0
;
+ off_f=
x
;
for(v=0;v<Y;v++) {
//dprintf(fourier->outfd,"[fourier] (u=%d,v=%d)\n",v,x);
for(v=0;v<Y;v++) {
//dprintf(fourier->outfd,"[fourier] (u=%d,v=%d)\n",v,x);
- off_r=
0
;
+ off_r=
x
;
for(y=0;y<Y;y++) {
arg=-2.0*M_PI*v*y/Y;
for(y=0;y<Y;y++) {
arg=-2.0*M_PI*v*y/Y;
- fourier->ftdata[off_f
+x].r+=(cos(arg)*data[off_r+x].r-sin(arg)*data[off_r+x
].i);
- fourier->ftdata[off_f
+x].r+=(sin(arg)*data[off_r+x].r+cos(arg)*data[off_r+x
].i);
+ fourier->ftdata[off_f
].r+=(cos(arg)*data[off_r].r-sin(arg)*data[off_r
].i);
+ fourier->ftdata[off_f
].r+=(sin(arg)*data[off_r].r+cos(arg)*data[off_r
].i);
off_r+=X;
}
off_r+=X;
}
- fourier->ftdata[off_f
+x
].r/=Y;
- fourier->ftdata[off_f
+x
].i/=Y;
+ fourier->ftdata[off_f].r/=Y;
+ fourier->ftdata[off_f].i/=Y;
off_f+=X;
}
}
off_f+=X;
}
}
-
+
free(data);
return F_SUCCESS;
free(data);
return F_SUCCESS;