public static function in_range ($u, $lo, $hi) {
	if ( (($lo^$hi) & $lo) == 0 && (($lo^$hi) & $hi) == ($lo^$hi) && (($lo^$hi) & (($lo^$hi) + 1)) == 0 )
		return ($u & ~($lo^$hi)) == $lo;
	else
		return $lo <= $u && $u <= $hi;
}