Not yet, but here are some faster and leaner versions:

enum=: ,@|:&.#:"1 @ (#: i.) @ (2 2&^)
enum1=: ,@|:"2&.#: @ (#: i.) @ (2 2&^)
enum2=: ,./^:2@(((i.2 2) * *:@#) +/ ])^:(]`((1 1$0)"0))

   (enum -: enum1)"0 i.7
1 1 1 1 1 1 1
   (enum -: enum2)"0 i.7
1 1 1 1 1 1 1

   ts 'enum 6'
0.200239 1.6231e6
   ts 'enum1 6'
0.134659 1.72365e6
   ts 'enum2 6'
9.47048e_5 107968

p.s. Strictly speaking, the inverse of enum is 2^.#   :-)



----- Original Message -----
From: John Randall <[EMAIL PROTECTED]>
Date: Wednesday, May 21, 2008 11:39
Subject: Re: RE: [Jprogramming] Enumerating the plane
To: Programming forum <[email protected]>

> Roger Hui wrote:
> > enum=: ,@|:&.#:"1 @ (#: i.) @ (2&^) @ ,~
> 
> Nice one.  Do you have an inverse for this?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to