Your explanations helped a lot.  One last puzzle. How can there be a result
when there is no  x  ?  I start up and do this first in  jijx . Is it timing
a syntax error of some sort?

J Http Server
    
   timer=: 6!:2
   10 timer '<;.1 x'
5.73397e_6
   5.99238e_6
5.99238e_6
   x
|value error: x
   

Linda

-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
Sent: Friday, March 09, 2012 1:35 AM
To: Programming forum
Subject: Re: [Jprogramming] Sequential Machine

x was defined in my msg; it was:

  x=: 1e6$' the quick brown fox jumps over the lazy dog'
new
It is hard to draw any conclusions on arguments as small as those used in
your msg.  However, anything in J coming within a factor of 2 of handcoded
C, as in the timings in your example, is an accomplishment.



2012/3/8 Linda Alvord <lindaalv...@verizon.net>

> When I tried your example I got a result for the variable  x  when it 
> was not defined.  That's a neat trick! You probably timed a variable 
> that differed from the "fox" sentence as our results are quite 
> different. Also, my results are also not as close as you indicated.
>
>   state=: 3 2 2$ 1 1 2 1  2 0 2 2 1 0 2 2
>   S=:0;state;<a.={.a
>   (S&;: -: <;.1) k=:' the quick brown fox jumps over the lazy dog'
> 1
>   timer=: 6!:2
>
>   10 timer '<;.1 x'
> 5.85968e_6
>   10 timer 'S&;: x'
> 7.87111e_6
>   x
> |value error: x
>
>   timer '<;.1 '' the quick brown fox jumps over the lazy dog'''
> 1.61333e_5
>   timer 'S&;: '' the quick brown fox jumps over the lazy dog'''
> 2.57016e_5
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com 
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
> Sent: Thursday, March 08, 2012 10:05 PM
> To: Programming forum
> Subject: Re: [Jprogramming] Sequential Machine
>
> Yes it is.  The example looks strange because the first character of a 
> is "a", not normally used as a separator.  If the first character is a 
> blank (say), then it looks more normal.  e.g.
>
>   state=: 3 2 2$ 1 1 2 1  2 0 2 2 1 0  2 2
>   a=: ' a good way to start the day'
>   (0;state;<a.={.a);:a;:a
> ---T-----T----T---T------T----T----┐
> │ a│ good│ way│ to│ start│ the│ day│
> L--+-----+----+---+------+----+-----
>   <;.1 a
> ---T-----T----T---T------T----T----┐
> │ a│ good│ way│ to│ start│ the│ day│
> L--+-----+----+---+------+----+-----
>   S=: 0;state;<a.={.a
>   (S&;: -: <;.1) a
> 1
>   (S&;: -: <;.1) ' the quick brown fox jumps over the lazy dog'
> 1
>   x=: 1e6$' the quick brown fox jumps over the lazy dog'
>   (S&;: -: <;.1) x
> 1
>
> Now the thing that surprised me when I saw it the first time:
>
>   timer=: 6!:2
>   10 timer '<;.1 x'
> 0.0630174
>   10 timer 'S&;: x'
> 0.0675069
>
> <;.1 is implemented using hand-coded C.
>
>
>
> 2012/3/8 Linda Alvord <lindaalv...@verizon.net>
>
> > Roger, I'm not sure that this is  what you had in mind.
> >
> >
> >   a=:'a good way to start the day'
> >   <;.1 a
> > ---------T--------T---------T--┐
> > │a good w│ay to st│art the d│ay│
> > L--------+--------+---------+---
> >   state=: 3 2 2$ 1 1 2 1  2 0 2 2 1 0  2 2
> >   (0;state;<a.={.a);:a
> > ---------T--------T---------T--┐
> > │a good w│ay to st│art the d│ay│
> > L--------+--------+---------+---
> >
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

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

Reply via email to