Re: Faster please....
- Posted by "Euman" <euman at bellsouth.net> Jan 12, 2004
- 402 views
Darned Outlook, now it shouldnt have those 3D in there, Im now sending plaintext instead of html. I dont know how that couldve changed on its own.. Heres the code again for the last time global function sDelimited1(sequence s1, sequence s2) integer len, start, endx sequence dseq,dl -- didn't define dl dseq=3D{} -- didn't initialize this len =3D length(s2) start =3D 1 for i =3D 1 to len do if equal(s2[i..i],s1) then endx =3D i - 1 dseq &=3D {s2[start..endx]} start =3D i + 1 end if end for return dseq end function function sNest(sequence s1, sequence s2) integer start, endx sequence dseq dseq =3D {} start =3D 1 for i =3D 1 to length(s1) do endx =3D s1[i] dseq &=3D {s2[start..endx-1]} start =3D endx + 1 end for return dseq end function function sDelimited( sequence s1, sequence s2 ) -- returns: sequence containing indices of all matches -- if unsuccessful return empty sequence {} object found found =3D match( s1, s2 ) if found then found &=3D found + sDelimited( s1, s2[found+1..length(s2)] ) else return {} end if return found end function ----------- test function --------- sequence dl, test object data integer stop atom t dl=3Drepeat(127,1) t =3D time() for i =3D 1 to 10000 do test =3D "Euman"&dl&"Euphoria"&dl&"Programmer"&dl&"this is a test"&dl -- comment / uncomment --data=3DsNest(sDelimited("=7F", test), test) data=3DsDelimited1("=7F", test) ---------------------------- end for t =3D time() - t puts(1, sprintf("%2.3f", t)&'\n') for i=3D1 to 4 do puts(1, data[i]&'\n') end for stop=3Dgetc(0) Euman