At 8:44 AM -0400 10/8/02, John Cowan wrote:

>The underlying data structure here is called a "range table", and is
>a list of ranges in codepoint order, expressed thus:
>
>       start of first range
>       end of first range + 1
>       start of second range
>       end of second range + 1
>
>etc. etc.  What you are doing is equivalent to a linear search over
>this range followed by loop unrolling.  However, you can do better,
>especially in complex cases, with a *binary* search over the range
>followed by loop unrolling.  The trick here is that if the binary
>search returns an even value, it succeeds; an odd value fails.
>

Interesting. Do you have any references on that I can explore 
further? A quick google search didn't turn up anything relevant. I'm 
curious to see how the algorithm actually works.
-- 

+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | [EMAIL PROTECTED] | Writer/Programmer |
+-----------------------+------------------------+-------------------+
|          XML in a  Nutshell, 2nd Edition (O'Reilly, 2002)          |
|              http://www.cafeconleche.org/books/xian2/              |
|  http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/  |
+----------------------------------+---------------------------------+
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |
+----------------------------------+---------------------------------+

Reply via email to