- sprintf "(cx: %A, cy: %A, a: %A, b: %A, alpha: %A)" this.Cx this.Cy this.A this.B this.Alpha
+ $"{{{nameof Ellipse}: {nameof this.Cx} = %f{this.Cx}, {nameof this.Cy} = %f{this.Cy}, {nameof this.A} = %f{this.A}, {nameof this.B} = %f{this.B}, {nameof this.Alpha} = %f{this.Alpha}}}"
+ override this.Equals (other : obj) =
+ match other with
+ | :? Ellipse as otherEllipse ->
+ otherEllipse.Cx = this.Cx &&
+ otherEllipse.Cy = this.Cy &&
+ otherEllipse.A = this.A &&
+ otherEllipse.B = this.B &&
+ otherEllipse.Alpha = this.Alpha
+ | _ -> false
+
+ override this.GetHashCode () = HashCode.Combine (this.Cx, this.Cy, this.A, this.B, this.Alpha)