// Equal returns whether two time ranges are equal.
173515
func (r Range) Equal(other Range) bool {
	return r.Start.Equal(other.Start) && r.End.Equal(other.End)
}
312599
func (s *SamplePair) Equal(o *SamplePair) bool {
	return s == o || (s.Value.Equal(o.Value) && s.Timestamp.Equal(o.Timestamp))
}
1281072
func (a Array) Equal(another Array) bool {
	if another == nil {
		return false
	}
	if len(a) != len(another) {
		return false
	}
	for i, v1 := range a {
		v2 := another[i]
		if !Equal(v1, v2) {
			return false
		}
	}
	return true
}
1239351
func (s *Set) Equal(t *Set) bool {
	return s.Size() == t.Size() && s.Difference(t).Size() == 0
}
336052
func (f F) Equal(g F) bool {
	if len(f.Zones) != len(g.Zones) {
		return false
	}
	for i := range f.Zones {
		if f.Zones[i] != g.Zones[i] {
			return false
		}
	}
	return true
}
1036101
func (a *AggFuncDesc) Equal(ctx sessionctx.Context, other *AggFuncDesc) bool {
	if a.HasDistinct != other.HasDistinct {
		return false
	}
	return a.baseFuncDesc.equal(ctx, &other.baseFuncDesc)
}
232028
func (self StringEqualer) Equal(e Equaler) bool {
	return self.S == e.(StringEqualer).S
}
1006939
func (o *CreateIfNotExistsOption) Equal(o2 *CreateIfNotExistsOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
1010687
func (s *OrderedSet) Equal(other *OrderedSet) bool {
	if s.Cardinality() != other.Cardinality() {
		return false
	}

	for e, i := range s.m {
		if ci, ok := other.m[e]; !ok || ci != i {
			return false
		}
	}

	return true
}
457082
func (s1 Byte) Equal(s2 Byte) bool {
	return len(s1) == len(s2) && s1.IsSuperset(s2)
}
455392
func (a *Region) Equal(b *Region) bool {
	ret := C.cairo_region_equal(a.Ptr, b.Ptr) != 0
	if err := a.status(); err != nil {
		panic(err)
	}
	return ret
}
466954
func (self IntEqualer) Equal(e Equaler) bool {
	return self.I == e.(IntEqualer).I
}
715201
func (o *IndexNameOption) Equal(o2 *IndexNameOption) bool {
	if o2 == nil {
		return o.value == ""
	}
	return o.value == o2.value
}
972603
func (dt DateTime) Equal(e DateTime) bool {
	return dt.t.Equal(e.t)
}
1187760
func (o *MaxValuesPerFacetOption) Equal(o2 *MaxValuesPerFacetOption) bool {
	if o2 == nil {
		return o.value == 100
	}
	return o.value == o2.value
}
917831
func (b Bound) Equal(c Bound) bool {
	return b.Min == c.Min && b.Max == c.Max
}
804989
func (d Date) Equal(e Date) bool {
	return d.t.Equal(e.t)
}