Yes, ... maybe I should replace my caching wrapper with M.

That said, using the fft cyclotomic000 implementation and the caching
wrapper from the rosettacode page (and the fftw implementation for fft
and ifft):

taskorder=: {{
  r=.$k=.0
  while.y>#r do.k=.k+1
    if.(1+#r) e.|u k do.
      r=. r,k
      k=. k-1
    end.
  end.r
}}

   timespacex 'cyclotomic taskorder 10 [ cache=: 2 {. cache'
8.17343 5.70164e8

vs.

   timespacex '(cyclotomic=:{{if.2>y do._1 1 else. unpad cyclotomic000
y end.}}M."0) taskorder 10'
15.1576 6.86114e8

I'm not sure that this is an improvement.

-- 
Raul

On Wed, Mar 2, 2022 at 7:01 PM 'Michael Day' via Programming
<programm...@jsoftware.com> wrote:
>
> Interesting!   I've got some thoughts on this,  but it's getting late
> here,  so I'll
> defer a fuller reply.
>
> Meanwhile,  a quickie:  since the memoisation does seem to work, might
> it be better
> to dispense with cache?  A pity as you put some effort into its use,
> but the code is
> simpler without it.
>
> Thanks,
>
> Mike
>
> On 02/03/2022 19:57, Raul Miller wrote:
> > I've updated the rosettacode page to include this implementation. And,
> > I plan on updating the j wiki polynomial division essay, also, once I
> > think through a bit how to describe this approach. (Descriptive
> > phrases and sentences would be welcome. Documentation needs good
> > perspectives, above all else.)
> >
> > For the purpose of the rosettacode page, I used a different phrasing of rou:
> >
> > rou       =: {{(,j.) r,(%:0j1),j.+|.}.r=.^o.j.(i.@%&8 % -:) y}}  NB.
> > roots of unity
> >
> > This seems (to me) to be more concise, and straightforward, than the
> > purely tacit expression.
> >
> > (That said, I'm not sure if this change in notation would be a good
> > fit for the FFT essay.)
> >
> > Thanks,
> >
>
>
> --
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to