There is an enhancement to batchtest to show barchart
and quivalence.

   http://www.jsoftware.com/jwiki/Guides/Batch_Test

+--+--------+---------------------+
|  |A       |B                    |
+--+--------+---------------------+
|0 |**  *** |******     ********* |
|1 |*   *** |**         ******    |
|2 |*   *** |***        ********* |
|2a|**  ****|*****      **********|
|3 |*** ****|********** ********* |
|3a|**  *** |*****      ********* |
|4 |*   *   |**         ***       |
+--+--------+---------------------+

   eqtest'pcopy1'
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1

NB. here is the full script ============================

require 'user/batchtest/batchtest.ijs'
(coclass [ coerase@<) 'pcopy1'
coextend 'pbatchtest'

create=: 3 : 0
  CASPR=: 'copy'
  create_pbatchtest_ f. ''
  TITLE=: 'Copy'
  SHOWWHAT=: ;:'tableout barsout plot'
  ITERATIONS=: 5
  XPOSE=: 1
  XARG=: '2000'
)

copy0=: 13 : ',./ > x $< y'
copy1=: ([ (* $ [EMAIL PROTECTED]) {:@[EMAIL PROTECTED]) {"1 ]
copy2=: 4 : '> ,.&.>/ ,.~&.>^:(I.|.#:x) <y'
copy2a=: 4 : '(x*{:$y) {."1 ,.~^:(>.2^.1>.x) y'
copy3=: ,/@(#,:)&.|:
copy3a=: [:,./ (#,:)
copy4=: (* {:@$) $"1 ]

seriesA=: 10 10 $'abcd'
seriesB=: 20 10 $'abcd'

btest >coname''   NB. run with Ctrl+W


--- Oleg Kobchenko <[EMAIL PROTECTED]> wrote:

> Here is another
> 
>    copy4=: (* {:@$) $"1 ]
> 
> +--+------------------+---------------------+
> |  |A                 |B                    |
> +--+------------------+---------------------+
> |0 | 0.00101577 526144| 0.00291462 1.05043e6|
> |1 | 0.00053694 525632| 0.00103952    787776|
> |2 |0.000362057 523520| 0.00171139 1.04192e6|
> |2a| 0.00118339 528384| 0.00272772 1.05267e6|
> |3 | 0.00150857 526720| 0.00523586 1.05101e6|
> |3a|0.000719645 526144| 0.00256317 1.05043e6|
> |4 | 6.95619e_5 263552|0.000824127    525696|
> +--+------------------+---------------------+
> 
> copy0=: 13 : ',./ > x $< y'
> copy1=: ([ (* $ [EMAIL PROTECTED]) {:@[EMAIL PROTECTED]) {"1 ]
> copy2=: 4 : '> ,.&.>/ ,.~&.>^:(I.|.#:x) <y'
> copy2a=: 4 : '(x*{:$y) {."1 ,.~^:(>.2^.1>.x) y'
> copy3=: ,/@(#,:)&.|:
> copy3a=: [:,./ (#,:)
> copy4=: (* {:@$) $"1 ]
> 
> seriesA=: 10 10 $'abcd'
> seriesB=: 20 10 $'abcd'
> 
>    2000 (copy0 -: copy4) seriesA
> 1
> 
> --- "R.E. Boss" <[EMAIL PROTECTED]> wrote:
> 
> > Some alternatives:
> > 
> >    copy3=: ,/@(#,:)&.|:
> >    copy3a=: [:,./ (#,:)
> > 
> >    20000 (copy2a-:copy3a) b
> > 1
> >    20000 (copy2a-:copy3) b
> > 1
> > 
> >    ts '20000 copy2a b'
> > 0.00030425237 396992
> >    ts '20000 copy3 b'
> > 0.00071625735 264064        NB. slower by a factor 2
> >    ts'20000 copy3a b'
> > 0.00035746269 263680     
> >  
> > R.E. BOSS
> > 
> > 
> > -----Oorspronkelijk bericht-----
> > Van: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Namens Roger Hui
> > Verzonden: zaterdag 18 maart 2006 18:33
> > Aan: Programming forum
> > Onderwerp: Re: [Jprogramming] Different(and maybe more elegant) ways of
> > copying?
> > 
> > Variation on the copy2 theme:  overshoot and then crop.
> > 
> >    copy2a=: 4 : '(x*{:$y) {."1 ,.~^:(>.2^.1>.x) y'
> >    2000 (copy -: copy2a) b
> > 1
> >    ts '2000 copy2a b'
> > 0.000196394 28352
> > 
> > 
> > 
> > ----- Original Message ----- 
> > From: "Roger Hui" <[EMAIL PROTECTED]>
> > To: "Programming forum" <[email protected]>
> > Sent: Saturday, March 18, 2006 8:59 AM
> > Subject: Re: [Jprogramming] Different(and maybe more elegant) ways of
> > copying?
> > 
> > Yet another alternative is powers of the monad ,.~ .
> > If x is a power of 2 then the method is really short and fast.
> > If x is not a power of 2 then more code is required.
> > 
> >    (1024 copy b)-: ,.~^:10 b
> > 1
> > 
> >    ts=: 6!:2 , 7!:[EMAIL PROTECTED]
> >    ts '1024 copy b'
> > 0.000481905 17920
> >    ts ',.~^:10 b'
> > 8.63238e_5 13248
> > 
> >    copy2=: 4 : '> ,.&.>/ ,.~&.>^:(I.|.#:x) <y'
> >    
> >    2000 (copy -: copy1) b
> > 1
> >    2000 (copy -: copy2) b
> > 1
> > 
> >    ts '2000 copy b'
> > 0.000918273 25664
> >    ts '2000 copy1 b'
> > 0.000234387 41984
> >    ts '2000 copy2 b'
> > 0.000215949 29056
> > 
> > 
> > 
> > ----- Original Message ----- 
> > From: "Roger Hui" <[EMAIL PROTECTED]>
> > To: "Programming forum" <[email protected]>
> > Sent: Saturday, March 18, 2006 8:47 AM
> > Subject: Re: [Jprogramming] Different(and maybe more elegant) ways of
> > copying?
> > 
> > An alternative is to use indexing:
> > 
> >    copy1=: ([ (* $ [EMAIL PROTECTED]) {:@[EMAIL PROTECTED]) {"1 ]
> >    1000 (copy -: copy1) b
> > 1
> > 
> > 
> > 
> > ----- Original Message ----- 
> > From: "June Kim" <[EMAIL PROTECTED]>
> > To: "Programming forum" <[email protected]>
> > Sent: Saturday, March 18, 2006 8:32 AM
> > Subject: [Jprogramming] Different(and maybe more elegant) ways of copying?
> > 
> >    b=. 2 2 $'abcd'
> >    copy=.13 : ',./ > x $< y '   NB. copies the box side by side
> >    3 copy b
> > ababab
> > cdcdcd
> >    4 copy b
> > abababab
> > cdcdcdcd
> > 
> > Maybe, I could use under(as in  13 : ',./ (x&$)&.< y') but the final
> > form isn't tacit, which is not a big problem; however I'm interested
> > in knowing other possibilities.
> > 
> > Any suggestions?
> > 
> > 
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > 
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to