If I understand you correctly, you say
for_p. x do. for_q. y do.
is as (in)efficient as
for_q. y do. for_p. x do.
Right?
I was thinking of something like doing some smart tricks on y , (x+/y) ,:
x*/y
but probably you are right and there is not much to be gained.
Thanks for pointing out.
R.E. boss
-----Oorspronkelijk bericht-----
Van: [email protected]
[mailto:[email protected]] Namens Raul Miller
Verzonden: dinsdag 5 januari 2010 21:56
Aan: Programming forum
Onderwerp: Re: [Jprogramming] a J-ish way to generalize a suffix scan
On Tue, Jan 5, 2010 at 11:27 AM, R.E. Boss <[email protected]> wrote:
> 2 3 5 (4 : '(]`(]>.x+[)`(]<.x*[))@.(*...@-)/\.y')"0 _ ?.#~10
> 10 10 11 4 8 11 0 9 0 4
> 12 12 12 6 12 12 0 10 0 4
> 10 10 10 10 14 14 0 12 0 4
>
> It does the job but this is a simplified example and actually x and y have
> much more items and the gerund is more complicated as well.
>
> So scanning the complete y for every atom of x does not seem very
efficient.
But that seems to be the essence of what you are doing. In
the general case for each scan step, you are using a different
member from your agenda's gerund for each different atom of x.
With a bit of work you could do this in a single scan, but your
overhead is from the many uses of the agenda which will have
to remain unchanged. If anything pushing everything into a
single scan would make things less efficient since you would
have to iterate over the values of x for each scan element instead
of once per scan.
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm