// Equal checks if the point represents the same point or vector.
166759
func (p Point) Equal(point Point) bool {
	return p[0] == point[0] && p[1] == point[1]
}
1072146
func (v *Oid) Equal(o *Oid) bool {
	if o == nil {
		return false
	}
	return v.Value.Equal(o.Value)
}
488907
func (o *SortFacetValuesByOption) Equal(o2 *SortFacetValuesByOption) bool {
	if o2 == nil {
		return o.value == "count"
	}
	return o.value == o2.value
}
543083
func (r Ring) Equal(ring Ring) bool {
	return MultiPoint(r).Equal(MultiPoint(ring))
}
393837
func (o *InsideBoundingBoxOption) Equal(o2 *InsideBoundingBoxOption) bool {
	if o2 == nil {
		return len(o.boxes) == 0 && len(o.coordinates) == 0
	}
	return reflect.DeepEqual(o, o2)
}
494811
func (o *MinWordSizefor2TyposOption) Equal(o2 *MinWordSizefor2TyposOption) bool {
	if o2 == nil {
		return o.value == 8
	}
	return o.value == o2.value
}
915857
func (vec Vector) Equal(o Vector) bool {
	if len(vec) != len(o) {
		return false
	}

	for i, sample := range vec {
		if !sample.Equal(o[i]) {
			return false
		}
	}
	return true
}
1363500
func (o *InsidePolygonOption) Equal(o2 *InsidePolygonOption) bool {
	if o2 == nil {
		return len(o.polygons) == 0 && len(o.coordinates) == 0
	}
	return reflect.DeepEqual(o, o2)
}
576865
func (o *AroundPrecisionOption) Equal(o2 *AroundPrecisionOption) bool {
	if o2 == nil {
		return o.value == 1
	}
	return o.value == o2.value
}
552224
func (i *i) Equal(a, b interface{}) {
	if !areEqual(a, b) {
		i.Logf("%v != %v", a, b)
	}
}
296101
func (p *Point) Equals(point *Point) bool {
	if p[0] == point[0] && p[1] == point[1] {
		return true
	}

	return false
}
1197292
func (o *MinProximityOption) Equal(o2 *MinProximityOption) bool {
	if o2 == nil {
		return o.value == 1
	}
	return o.value == o2.value
}
763503
func (point *DataPoint) Equals(that *DataPoint) bool {
	return reflect.DeepEqual(point, that)
}
288541
func (c Point) Equals(other core.DxfElement) bool {
	if otherPoint, ok := other.(*Point); ok {
		return c.BaseEntity.Equals(otherPoint.BaseEntity) &&
			c.Location.Equals(otherPoint.Location) &&
			core.FloatEquals(c.Thickness, otherPoint.Thickness) &&
			c.ExtrusionDirection.Equals(otherPoint.ExtrusionDirection) &&
			core.FloatEquals(c.XAxisAngle, otherPoint.XAxisAngle)
	}
	return false
}
489394
func (o *PrimaryOption) Equal(o2 *PrimaryOption) bool {
	if o2 == nil {
		return o.value == ""
	}
	return o.value == o2.value
}
1357459
func (p LWPolyLinePoint) Equals(other LWPolyLinePoint) bool {
	return p.Point.Equals(other.Point) &&
		p.Id == other.Id &&
		core.FloatEquals(p.StartingWidth, other.StartingWidth) &&
		core.FloatEquals(p.EndWidth, other.EndWidth) &&
		core.FloatEquals(p.Bulge, other.Bulge)
}
24644
func Equals(point1, other geom.Coord) bool {
	return (point1[0] == other[0]) && (point1[1] == other[1]) &&
		((point1[2] == other[2]) ||
			(math.IsNaN(point1[2]) && math.IsNaN(other[2])))
}