Re: Faster Please .. The End
- Posted by "Hayden McKay" <hmck1 at dodo.com.au> Jan 13, 2004
- 389 views
Here is mine. I dont know if its faster. global function delim_1(sequence In, atom a) sequence n, s s = {} n = {} for i = 1 to length(In) do if In[i] = a then s = append(s,n) end if end for return s end function This is a variation, n.b. this does not do the same as above. global function delim_2(sequence In, atom a) sequence s s = {} for i = 1 to length(In) do if In[i] = a then In[i] = s end if end for return In end function ----- Original Message ----- From: "Euman" <euman at bellsouth.net> To: <EUforum at topica.com> Sent: Tuesday, January 13, 2004 3:41 PM Subject: Re: Faster Please .. The End > > I think this one will be hard to beat, Kat can you with strtok.e? > > -- Coloborative effort Ron Austin, H.W Overman 2004 > global function sNestDelimited(sequence s, atom x) > integer len, start, endx > sequence dseq,dl > dseq={} > len = length(s) > start = 1 > for i = 1 to len do > if s[i] = x then > endx = i-1 > dseq &= {s[start..endx]} > start = i+1 > end if > end for > return dseq > end function > > ----------- test function --------- > sequence dl, test, test1 > object data > integer stop > atom t > > dl=repeat(127,1) > test = {} > test1 = "Ron Austin"&dl&"H.W Overman"&dl&"Euphoria"&dl&"Programmers"&dl > for i = 1 to 5000 do > test &= test1 & "Field "&sprintf("%d",i)&dl > end for > t = time() > data=sNestDelimited(test, 127) > t = time() - t > puts(1, "Time: " & sprintf("%0.3f", t)) > puts(1,'\n') > for i=1 to 4 do > puts(1, data[i]&'\n') > end for > stop=getc(0) > > > > TOPICA - Start your own email discussion group. FREE! > ---- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.558 / Virus Database: 350 - Release Date: 2/01/04 > --- --