Lines Matching refs:rhs
130 RangeInfo Union(const RangeInfo &rhs) const in Union() argument
132 return RangeInfo(std::min(min_, rhs.min_), std::max(max_, rhs.max_)); in Union()
135 RangeInfo intersection(const RangeInfo &rhs) const in intersection() argument
137 return RangeInfo(std::max(min_, rhs.min_), std::min(max_, rhs.max_)); in intersection()
140 bool MaybeAddOverflow(const RangeInfo &rhs) const in MaybeAddOverflow() argument
142 return (rhs.max_ > 0) && (max_ > INT32_MAX - rhs.max_); in MaybeAddOverflow()
145 bool MaybeAddUnderflow(const RangeInfo &rhs) const in MaybeAddUnderflow() argument
147 return (rhs.min_ < 0) && (min_ < INT32_MIN - rhs.min_); in MaybeAddUnderflow()
150 bool MaybeAddOverflowOrUnderflow(const RangeInfo &rhs) const in MaybeAddOverflowOrUnderflow() argument
152 return MaybeAddOverflow(rhs) || MaybeAddUnderflow(rhs); in MaybeAddOverflowOrUnderflow()
155 RangeInfo operator+ (const RangeInfo &rhs) const
157 int32_t nmax = MaybeAddOverflow(rhs) ? INT32_MAX : max_ + rhs.max_;
158 int32_t nmin = MaybeAddUnderflow(rhs) ? INT32_MIN : min_ + rhs.min_;
162 bool MaybeSubOverflow(const RangeInfo &rhs) const in MaybeSubOverflow() argument
164 return (rhs.min_ < 0) && (max_ > INT32_MAX + rhs.min_); in MaybeSubOverflow()
167 bool MaybeSubUnderflow(const RangeInfo &rhs) const in MaybeSubUnderflow() argument
169 return (rhs.max_ > 0) && (min_ < INT32_MIN + rhs.max_); in MaybeSubUnderflow()
172 bool MaybeSubOverflowOrUnderflow(const RangeInfo &rhs) const in MaybeSubOverflowOrUnderflow() argument
174 return MaybeSubOverflow(rhs) || MaybeSubUnderflow(rhs); in MaybeSubOverflowOrUnderflow()
177 RangeInfo operator- (const RangeInfo &rhs) const
179 int32_t nmax = MaybeSubOverflow(rhs) ? INT32_MAX : max_ - rhs.min_;
180 int32_t nmin = MaybeSubUnderflow(rhs) ? INT32_MIN : min_ - rhs.max_;
184 bool MaybeShrOverflow(const RangeInfo &rhs) const in MaybeShrOverflow() argument
186 if (rhs.max_ != rhs.min_) { in MaybeShrOverflow()
189 return ((static_cast<uint32_t>(rhs.max_) & 0x1f) == 0) && (min_< 0); // 0x1f : shift bits in MaybeShrOverflow()
192 RangeInfo SHR(const RangeInfo &rhs) const in SHR() argument
194 if (MaybeShrOverflow(rhs)) { in SHR()
198 int32_t shift = rhs.max_ & 0x1f; // 0x1f : shift bits in SHR()
206 RangeInfo ASHR(const RangeInfo &rhs) const in ASHR() argument
208 ASSERT(rhs.max_ == rhs.min_); in ASHR()
209 int32_t shift = rhs.max_ & 0x1f; // 0x1f : shift bits in ASHR()
215 bool operator== (const RangeInfo &rhs) const
217 return (min_ == rhs.min_) && (max_ == rhs.max_);
220 bool operator!= (const RangeInfo &rhs) const
222 return (min_ != rhs.min_) || (max_ != rhs.max_);