Yep - a blocky approach addresses the virtues of a vector approach and

minimises the hit with extended.  Could fine tune it but why bother!?

I quite often end up using blocks in this sort of fashion, though overlooked

it here.

Note to self, though - must look into why /\. with reverse is better!

Thanks again, Raul,

Mike


On 16/05/2017 17:04, Raul Miller wrote:
Oops, need x: instead of <.

    |. 281474976710656&|@*/\.x:1+2*i.-2^24

Sorry about that, was using <. earlier to test whether that fixed the
overflow issue (it does not), and grabbed that instance for this
variant.

This is bulkier, though, just like your */\ version:

     timespacex'|. 281474976710656&|@*/\.x:1+2*i.-2^12'
0.005394 2.72333e6
     datatype |. 281474976710656&|@*/\.x:1+2*i.-2^12
extended

And if I could think of an efficient way of demoting the result type
to integer, I think I could use that reduce some of the bulk.

Sadly, though, the obvious approach doesn't do it:

     timespacex'|. 281474976710656&|@*/\.&.x:1+2*i.-2^12'
0.004687 2.65882e6

Still... why not break this into pieces?

Something like (warning, untested code):

genseries=:3 :0
   r=. ''
   n=.1
   for. i.2^6 do.
     r=. r,|. 281474976710656&|@*/\.&.x:n+2*i.-2^18
     n=. {:r
   end.
   r
)

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

Reply via email to