Home | History | Annotate | Download | only in compiler

Lines Matching refs:RangeType

20 bool RangeType::Limits::IsEmpty() { return this->min > this->max; }
22 RangeType::Limits RangeType::Limits::Intersect(Limits lhs, Limits rhs) {
30 RangeType::Limits RangeType::Limits::Union(Limits lhs, Limits rhs) {
40 bool Type::Overlap(const RangeType* lhs, const RangeType* rhs) {
42 return !RangeType::Limits::Intersect(RangeType::Limits(lhs),
43 RangeType::Limits(rhs))
47 bool Type::Contains(const RangeType* lhs, const RangeType* rhs) {
459 return !std::isnan(value) && !RangeType::IsInteger(value) &&
665 RangeType::Limits lims = RangeType::Limits::Empty();
701 RangeType::Limits Type::ToLimits(bitset bits, Zone* zone) {
705 return RangeType::Limits::Empty();
708 return RangeType::Limits(BitsetType::Min(number_bits),
712 RangeType::Limits Type::IntersectRangeAndBitset(Type range, Type bitset,
714 RangeType::Limits range_lims(range.AsRange());
715 RangeType::Limits bitset_lims = ToLimits(bitset.AsBitset(), zone);
716 return RangeType::Limits::Intersect(range_lims, bitset_lims);
720 RangeType::Limits* lims, Zone* zone) {
738 RangeType::Limits lim = IntersectRangeAndBitset(lhs, rhs, zone);
741 *lims = RangeType::Limits::Union(lim, *lims);
746 RangeType::Limits lim = RangeType::Limits::Intersect(
747 RangeType::Limits(lhs.AsRange()), RangeType::Limits(rhs.AsRange()));
749 *lims = RangeType::Limits::Union(lim, *lims);
813 if (RangeType::IsInteger(value)) {
871 RangeType::Limits lims =
872 RangeType::Limits::Union(RangeType::Limits(range1.AsRange()),
873 RangeType::Limits(range2.AsRange()));
1076 return FromTypeBase(RangeType::New(min, max, zone));
1080 Type Type::Range(RangeType::Limits lims, Zone* zone) {
1081 return FromTypeBase(RangeType::New(lims, zone));
1099 const RangeType* Type::AsRange() const {
1101 return static_cast<const RangeType*>(ToTypeBase());