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