1. Re: find if any memers of a set are in another set (blank line fi nder)?
- Posted by Dan Moyer <DANIELMOYER at prodigy.net> Jul 19, 2002
- 419 views
Derek, Ok, enough people have said "check each for non white-space" is faster, so I'll use that. My thought was that if there was a way to do it in a native Euphoria routine that it would be fastest, 'cause it might be doing that very same check but in c code. Thanks. Dan ----- Original Message ----- From: "Derek Parnell" <Derek.Parnell at SYD.RABOBANK.COM> To: "EUforum" <EUforum at topica.com> Subject: RE: find if any memers of a set are in another set (blank line fi nder)? > > Dan, > the fastest is just to check each character until you get a non-whitespace > one. > > > ------- > sequence x > > x = { > " ", > " \t \n\r", > " a", > "a ", > "" > } > > atom e > e =time() > for j = 1 to 1000000 do > for i = 1 to length(x) do > > for k = 1 to length(x[i]) do > if find(x[i][k], " \n\t\r") = 0 then > exit > end if > end for > end for > > end for > > printf(1, "%f", time()-e) > ------------ > > This takes about 4.5 seconds on my machine. > > > -----Original Message----- > > From: Dan Moyer [mailto:DANIELMOYER at prodigy.net] > > Sent: Thursday, 18 July 2002 23:11 > > To: EUforum > > Subject: Re: find if any memers of a set are in another set > > (blank line > > finder)? > > > > > > I haven't tested this yet against text read in from a file, > > but it seems > > like it *might* work, does anyone have any thing > > better/faster? When I put > > a tab in sequence "a" below, it didn't like that, but I think > > a tab in a > > file might be different? > > > > Dan Moyer > > > > <code begins> > > sequence a, b > > a = " " > > b = "this is a line of text!" > > > > function IsBlankLine(sequence aLine) > > sequence w,x > > w = aLine > > x = w > > w = w > 32 -- catches any characters *less* than 33 > > x = w < 126 -- catches any characters more than 126 > > w = w and x > > > > if find(1,w) then > > return 0 -- no, is *not* blank line > > else > > return 1 -- yes, is blank line > > end if > > end function > > > > if IsBlankLine(a) = 1 then > > puts(1, "yes, \"" & a & "\" is a blank line") > > else > > puts(1, "no, \"" & a & "\" is not a blank line") > > end if > > puts(1, "\n") > > if IsBlankLine(b) = 1 then > > puts(1, "yes, \"" & b & "\" is a blank line") > > else > > puts(1, "no, \"" & b & "\" is not a blank line") > > end if > > > > <code ends> > > > > > > ----- Original Message ----- > > From: "Dan Moyer" <DANIELMOYER at prodigy.net> > > To: "EUforum" <EUforum at topica.com> > > Sent: Thursday, July 18, 2002 5:19 AM > > Subject: find if any memers of a set are in another set > > (blank line finder)? > > > > > > > I want to be able to discern whether a sequence (a line of text) is > > "empty" <snip> > > > >