Devon McCormick schreef:
> You'll also need
>
> ffit2=: [:+/[ (**)@:- ]
>
> On 12/3/07, Devon McCormick <[EMAIL PROTECTED]> wrote:
>> Here's a debugged version incorporating my suggestions:
>>
>> evolueer2=: 4 : 0
>>    'x oud'=. ord &.> x;y
>>    s=. x ffit2 oud
>>    g=. 0
>>    (('gen: '),(":g),'(',(":s),')',chr oud) (1!:2) 2
>>    while. 0<s do.
>>        'kind kinds'=. |:(<x) evo2 &> 10$<oud
>>        wh=. kinds i. <./kinds,s
>>        's oud'=. wh{&.>(kinds,s);<kind,oud
>>        g=.g+1
>>    end.
>>    'gen: ',(":g),'(',(":s),') ',chr oud
>> )
>>
>> evo2=: 4 : 0
>>    p=. ?#y
>>    tc=. p{y
>>    vk=. (?3){(32+?95),tc+1 _1
>>    kind=. vk p}y
>>    kinds=. x ffit2 kind
>>    kind;<kinds
>> )
>>
Improvement:

ffit=: [:+/(**)@:-

evolueer=: 4 : 0
 s=.x ffit y
 oud=.y
 l=. #y
 g=.0
 pw=.x
 (('gen: '),(":g),'(',(":s),') ',chr oud) (1!:2) 2
 while. 0<s do.
  p=. 1+?l
  tc=. (p-1){oud
  vk=. (?3){ (32+?95), (tc+1), tc-1
  kind=. vk (p-1)} oud
  kinds=. pw ffit kind
  if. kinds < s do.
     s=. kinds
     oud=.kind
  end.
  g=.g+1
NB.  ('gen: ',(":g),'(',(":s),') ',chr oud) (1!:2) 2
 end.
 'gen: ',(":g),'(',(":s),') ',chr oud
)

On average it seems my version is slightly faster:

   ts 'it=:(] evolueer 32+[:?95$~#) ord ''Een nog langere reeks te
verwerken!'''
gen: 0(1162) ~([EMAIL PROTECTED]>*Aq*F|SQ)u,xNMD~7
gen: 0(1090) =HlL&YzW1vYj#X*8O7r`]AWzm8$|s3wIz^'
0.096192 6784

   ts 'it=:(] evolueer 32+[:?95$~#) ord ''Een nog langere reeks te
verwerken!'''
gen: 0(1313) 8Vm<Z?COY*?onL.v$y.cPrOy}AJCz2}|9Ca
gen: 0(886) /@mYjn:4DEAr=Hh[aqz;i YyE}o7:efFpoJ
0.082022 6784


Modifying yours a bit:

evolueer2=: 4 : 0
   'x oud'=. x;y
   ...


   ts 'it=:(] evolueer2 32+[:?95$~#) ord ''Een nog langere reeks te
verwerken!'''
gen: 0(1194)Bb[[Jj%l8Gv-^AH%FJH9cL;nOe,_U"I%A_/
gen: 0(1076)4T%2y'InjQ<3w>gO]?c{Q0iAB_,gNzX8Ue[
0.141001 14208

   ts 'it=:(] evolueer2 32+[:?95$~#) ord ''Een nog langere reeks te
verwerken!'''
gen: 0(1182)l%19n.fD$nl%1Jys]yqnj$/QT.<H`'ec)e$
gen: 0(1318)xDX~F/VaTeUTmA|:#%M,Q;CQx+hQ9"c`Nn2
0.227268 14208

Thanks for the suggestions.


=@@i

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

Reply via email to