John,<br><br>Attached is the latest FFT code that I have. Vincent also has a typed Racket version of the code that he used to test the typed optimization that may be safer and outperform this code.<br><br>Doug<br><br><div class="gmail_quote">
On Tue, Oct 19, 2010 at 12:18 PM, Doug Williams <span dir="ltr">&lt;<a href="mailto:m.douglas.williams@gmail.com">m.douglas.williams@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Yes it has. The main thing is that it has accelerators for 6 and 7 as factors - the old accelerators stopped at 5. 8192 doesn&#39;t have either of those factors (since it is a power of 2). But, there may have been bug fixes that I don&#39;t remember. I will zip up the latest code and send them to you this afternoon.<div>
<div></div><div class="h5"><br>

<br><div class="gmail_quote">On Tue, Oct 19, 2010 at 9:15 AM, John Clements <span dir="ltr">&lt;<a href="mailto:clements@brinckerhoff.org" target="_blank">clements@brinckerhoff.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div><br>
On Oct 19, 2010, at 5:17 AM, Doug Williams wrote:<br>
<br>
&gt; On my laptop:<br>
&gt;<br>
&gt; #lang racket<br>
&gt;<br>
&gt; (require &quot;fft.rkt&quot;)<br>
&gt;<br>
&gt; (define v (build-vector 16384 (lambda (i) (random))))<br>
&gt;<br>
&gt; (define v1 (vector-copy v))<br>
&gt;<br>
&gt; (collect-garbage)<br>
&gt; (collect-garbage)<br>
&gt; (collect-garbage)<br>
&gt; (time (fft-complex-radix2-forward v1))<br>
&gt;<br>
&gt; (define v2 (vector-copy v))<br>
&gt;<br>
&gt; (collect-garbage)<br>
&gt; (collect-garbage)<br>
&gt; (collect-garbage)<br>
&gt; (time (fft-complex-forward v2))<br>
&gt;<br>
&gt; (for/and ([i (in-range (vector-length v))])<br>
&gt;  (&lt; (magnitude (- (vector-ref v1 i) (vector-ref v2 i))) 1e-4))<br>
&gt;<br>
&gt; ==&gt;<br>
&gt;<br>
&gt; cpu time: 94 real time: 94 gc time: 0<br>
&gt; cpu time: 79 real time: 78 gc time: 0<br>
&gt; #t<br>
&gt;<br>
&gt; I&#39;ll look at the rsound/fft implementation and see if I see the problem.<br>
<br>
</div>It certainly sounds as though I broke it, or it changed after I got it.  Has the source changed since you sent it to me last year?<br>
<font color="#888888"><br>
John<br>
<br>
</font></blockquote></div><br>
</div></div></blockquote></div><br>