I have found and fixed the bug. It is in phrase {&n^:a: y
Thank you for finding and reporting this error.
----- Original Message -----
From: Roger Hui <[EMAIL PROTECTED]>
Date: Thursday, March 13, 2008 13:53
Subject: Re: [Jprogramming] tree sum and difference
To: Programming forum <[email protected]>
> I can reproduce the bug and I'll look into it.
> Basically the header of the matrix m is messed up.
>
> tclose=: 3 : '{&y^:a:i.#y'
> ]m=: |.tclose ?.1>.i.10
> 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0 1 0 1 1 0
> 0 0 0 0 1 2 1 2 2 1
> 0 0 1 1 2 4 2 4 4 2
> 0 1 2 3 4 5 6 7 8 9
> ({:@{: -: {:@,) m
> 0
> {:m NB. wrong!
> 7 8 9 0 0 0 0 0 0 0 0
> 6 {. 0 (3!:3) m
> e0000000
> 00000004
> 0000003b
> 00000002
> 00000005
> 0000000a
> 6 {. 0 (3!:3) i.$m
> e0000000
> 00000004
> 00000032
> 00000002
> 00000005
> 0000000a
>
> The element count should be 0x32 in both cases,
> but in m it is incorrectly 0x3b .
>
>
>
> ----- Original Message -----
> From: Raul Miller <[EMAIL PROTECTED]>
> Date: Thursday, March 13, 2008 10:30
> Subject: Re: [Jprogramming] tree sum and difference
> To: Programming forum <[email protected]>
>
> > (I think this message constitutes a spoiled spoiler..)
> >
> > On 3/13/08, Roger Hui <[EMAIL PROTECTED]> wrote:
> > > What was the solution you anticipated?
> >
> > I was cleaning up my solution for presentation
> > purposes, and I ran into a problem:
> > tclose=: 3 : '{&y^:a:i.#y'
> > ]m=: |.tclose ?.1>.i.10
> > 0 0 0 0 0 0 0 0 0 0
> > 0 0 0 0 0 1 0 1 1 0
> > 0 0 0 0 1 2 1 2 2 1
> > 0 0 1 1 2 4 2 4 4 2
> > 0 1 2 3 4 5 6 7 8 9
> > _1{|.tclose ?.1>.i.10
> > 7 8 9 0 0 0 0 0 0 0 0
> > ({:@{: -: {:@,) m
> > 0
> >
> > This happens to me in both J601 and J602, and I do not
> > understand why I was not having this problem earlier,
> > and I have already overwritten my earlier versions of
> > my code.
> >
> > Also, I am now having similar problems with for loops.
> >
> > Anyways, my basic approach might have been expressed
> > something like this (except that this does not work)
> > trmerge=: ([EMAIL PROTECTED]@] , [) <@~.@;/. ,[EMAIL PROTECTED]
> > trinds=: trmerge/@|[EMAIL PROTECTED]
> > trsum=: <@[ +/@:{~&> [EMAIL PROTECTED]
> > (?.100+i.10) trsum ?.1>.i.10
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm