// Equals compares two epochs and returns true if they refer to the same time period.
328013
func (e *Epoch) Equals(epoch Epoch) bool {
	return e.Level == epoch.Level && e.Base() == epoch.Base()
}
483859
func Equals(v1, v2 Vect) bool {
	return v1.X == v2.X && v1.Y == v2.Y
}
6216
func (v *Bools) Equals(rhs *Bools) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_Bool_EqualsPtr(v.ImTrue, rhs.ImTrue) {
		return false
	}
	if !_Bool_EqualsPtr(v.ImFalse, rhs.ImFalse) {
		return false
	}

	return true
}
1019993
func (graph *GraphConfig) Equals(that *GraphConfig) bool {
	return reflect.DeepEqual(graph, that)
}
515474
func (t Timestamp) Equal(u Timestamp) bool {
	return t.Time.Equal(u.Time)
}
90108
func (a Line) Equals(other core.DxfElement) bool {
	if otherLine, ok := other.(*Line); ok {
		return a.BaseEntity.Equals(otherLine.BaseEntity) &&
			core.FloatEquals(a.Thickness, otherLine.Thickness) &&
			a.Start.Equals(otherLine.Start) &&
			a.End.Equals(otherLine.End) &&
			a.ExtrusionDirection.Equals(otherLine.ExtrusionDirection)
	}
	return false
}
545593
func (v *value) Equals(to Value) bool {
	vto, ok := to.(*value)
	if !ok {
		return false
	}
	if vv, ok := isValue(v.raw); ok {
		if vtov, ok := isValue(vto.raw); ok {
			return vv == vtov
		}
	}
	return reflect.DeepEqual(v.raw, vto.raw)
}
101085
func (i Integer) Equals(other DxfElement) bool {
	if iValue, ok := other.(*Integer); ok {
		return i.value == iValue.value
	}
	return false
}
946619
func (v *ListTypeVersioningV1) Equals(rhs *ListTypeVersioningV1) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !((v.Myints == nil && rhs.Myints == nil) || (v.Myints != nil && rhs.Myints != nil && _List_I32_Equals(v.Myints, rhs.Myints))) {
		return false
	}
	if !_String_EqualsPtr(v.Hello, rhs.Hello) {
		return false
	}

	return true
}
1342266
func (v1 Version) Compare(v2 Version) int {
	// Equal
	if reflect.DeepEqual(v1, v2) {
		return 0
	}

	// Compare epochs
	if v1.epoch > v2.epoch {
		return 1
	} else if v1.epoch < v2.epoch {
		return -1
	}

	// Compare version
	ret := rpmvercmp(v1.version, v2.version)
	if ret != 0 {
		return ret
	}

	//Compare release
	return rpmvercmp(v1.release, v2.release)
}
1015245
func (a Arc) Equals(other core.DxfElement) bool {
	if otherArc, ok := other.(*Arc); ok {
		return a.BaseEntity.Equals(otherArc.BaseEntity) &&
			core.FloatEquals(a.Thickness, otherArc.Thickness) &&
			a.Center.Equals(otherArc.Center) &&
			core.FloatEquals(a.Radius, otherArc.Radius) &&
			core.FloatEquals(a.StartAngle, otherArc.StartAngle) &&
			core.FloatEquals(a.EndAngle, otherArc.EndAngle) &&
			a.ExtrusionDirection.Equals(otherArc.ExtrusionDirection)
	}
	return false
}
1201820
func (v *StructA) Equals(rhs *StructA) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !(v.S == rhs.S) {
		return false
	}

	return true
}
804989
func (d Date) Equal(e Date) bool {
	return d.t.Equal(e.t)
}
1107885
func (e Ellipse) Equals(other core.DxfElement) bool {
	if otherEllipse, ok := other.(*Ellipse); ok {
		return e.BaseEntity.Equals(otherEllipse.BaseEntity) &&
			e.Center.Equals(otherEllipse.Center) &&
			e.MajorAxisEnd.Equals(otherEllipse.MajorAxisEnd) &&
			e.ExtrusionDirection.Equals(otherEllipse.ExtrusionDirection) &&
			core.FloatEquals(e.MinorToMajorAxisRatio, otherEllipse.MinorToMajorAxisRatio) &&
			core.FloatEquals(e.StartParameter, otherEllipse.StartParameter) &&
			core.FloatEquals(e.EndParameter, otherEllipse.EndParameter)
	}
	return false
}
1360767
func (source *ApplicationSource) Equals(other ApplicationSource) bool {
	return reflect.DeepEqual(*source, other)
}
954975
func (od Date) Equal(o Date) bool {
	return od.Time.Equal(o.Time)
}
966038
func (v *VersioningTestV1) Equals(rhs *VersioningTestV1) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_I32_EqualsPtr(v.BeginInBoth, rhs.BeginInBoth) {
		return false
	}
	if !_String_EqualsPtr(v.OldString, rhs.OldString) {
		return false
	}
	if !_I32_EqualsPtr(v.EndInBoth, rhs.EndInBoth) {
		return false
	}

	return true
}