def same_constant(self, other): if isinstance(other, ConstFloat): # careful in this comparison: if self.value and other.value # are both NaN, stored as regular floats (i.e. on 64-bit), # then just using "==" would say False: two NaNs are always # different from each other. return (longlong.extract_bits(self.value) == longlong.extract_bits(other.value)) return False
def same_constant(self, other): if isinstance(other, ConstFloat): # careful in this comparison: if self.value and other.value # are both NaN, stored as regular floats (i.e. on 64-bit), # then just using "==" would say False: two NaNs are always # different from each other. Conversely, "0.0 == -0.0" but # they are not the same constant. return (longlong.extract_bits(self.value) == longlong.extract_bits(other.value)) return False
def nonnull(self): return bool(longlong.extract_bits(self.value))
def nonnull(self): return bool(longlong.extract_bits(self._resfloat))