Hello to All,

CORRECTION to my previous post:

I produced a horrible bug in the display of time/space measurements at the end 
of the script.
With the bugfix, the time/space display, the use of ^: does not appear very 
fast any more.

Please accept my apologies,
JoHo
//////////////////////////////////////////////////////////////////////////////////////////////

   NB. ... using Function Power for the iteration ... J807  JoHo

   niter=: 4



   (]([,<@])6&?@:>@:{.)^:niter[,<55 NB. deal 6 out of 55 in boxes

+--+----------------+----------------+---------------+---------------+

|55|21 19 0 45 32 25|31 42 35 8 28 32|11 10 0 44 53 8|50 53 36 9 0 29|

+--+----------------+----------------+---------------+---------------+







   NB. more readable ...

   deal6=: 6&?

   linkr=: [  , <@] NB. similar to ; ... but boxes the the right side only

   NB. Explict> applytofirst =: 1 : ' u@:>@:{. '

   APPLYTOFIRST=:  @:(>@{.)

   fnpower=: ^:

   deal6power=: ((]  linkr (deal6 APPLYTOFIRST))fnpower)

   boxit=:<





   (niter deal6power) boxit 55

+--+--------------+---------------+---------------+-----------------+

|55|4 7 48 31 9 29|23 5 28 26 0 15|31 32 6 43 40 8|15 14 28 17 34 13|

+--+--------------+---------------+---------------+-----------------+



   NB. - - more general using explicit definitions for adverbs and conjuntions

   NB. NOK tacit: dealpower=: ( (]  linkr ( (&?) applytofirst))fnpower ) @: 
boxit





   powercosmetics=: 1 : '( ]  linkr (u APPLYTOFIRST))' NB. u is monadic

   dealpower     =: 2 : '((u powercosmetics)fnpower n)@:boxit y' NB. u is 
moniadic



   (6&? dealpower niter) 55

+--+-----------------+----------------+-----------------+---------------+

|55|15 10 43 31 41 14|44 4 23 34 52 10|32 36 34 14 44 39|17 8 44 35 22 7|

+--+-----------------+----------------+-----------------+---------------+





   NB.- evaluation -

   ts=: 6!:2, 7!:2@] NB. Phrases 14A

   ft=: 12j6 12&":

   rt=:{. ([ , (<.&.(1000&*))@:(100&*)@:(] %"1 [)) }.



   niter=:2000

   sink=:niter#<1 2 3



   a=:'sink=: (]([,<@])6&?@:>@:{.)^:niter[ boxit 55'

   b=:'sink=: (niter deal6power)           boxit 55'

   c=:'sink=: (6&? dealpower niter)              55'

   R=:'sink=:  6&?&.> niter $                    55'

   M=:'sink=: ;/  6?  niter #                    55'



   NB. Intel Pentium(M) 2.31GHz (Single Core)

   ( <"0@: (] ,"1 rt)@: >@:(100&ts each) ,"1 0 ] ) R;M;a;b;c

+----------+------+----------+------+--------------------------------------------+

|0.00150774|913920|0.00150774|913920|sink=:  6&?&.> niter $                    
55|

+----------+------+----------+------+--------------------------------------------+

|0.00171113|211264|113.489   |23.116|sink=: ;/  6?  niter #                    
55|

+----------+------+----------+------+--------------------------------------------+

|0.0404131 |146560|2680.37   |16.036|sink=: (]([,<@])6&?@:>@:{.)^:niter[ boxit 
55|

+----------+------+----------+------+--------------------------------------------+

|0.0423511 |145920|2808.9    |15.966|sink=: (niter deal6power)           boxit 
55|

+----------+------+----------+------+--------------------------------------------+

|0.0415871 |147200|2758.23   |16.106|sink=: (6&? dealpower niter)              
55|

+----------+------+----------+------+--------------------------------------------+



   $sink

2001



   NB. //////////////////////////////////////////////////////////////////

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to