Resend: implement _ismbcalpha, _ismbcalnum

David Laight david at
Sat Nov 16 10:20:17 CST 2002

> An interesting side note: Microsoft claims that their implementations of 
> these functions are blindingly fast (they said something along the 
> lines that calling these is faster than "if (((0xXX <= ch) && (ch <= 
> 0xYY)) || ((0xAA <= ch) && (ch <=0xBB)))").  I wonder if this means 
> they are using a lookup table in their implementation?  Not planning to 
> implement any such thing myself, of course, but I did find it to be an 
> intrigueing statement.

A lookup table is likely to be slower - after all the required entry
is unlikely to be in the data cache (except when running a benchmark).

Clearly the comparison
	if ( (unsigned)(ch - 0xXX) < 0xYY - 0xXX ...
is faster than the one quoted - but the compiler is likely to
generate that anyway.


David Laight: david at

More information about the wine-devel mailing list