/// <summary>
        /// Implements the / operator.
        /// </summary>
        /// <param name="a">a.</param>
        /// <param name="b">The b.</param>
        /// <returns>The result of the operator.</returns>
        public static CartesianParametricEquationXY operator /(CartesianParametricEquationXY a, double b)
        {
            CartesianParametricEquationXY parametric = a.CloneParametric();

            parametric._x /= b;
            parametric._y /= b;
            return(parametric);
        }
        /// <summary>
        /// Returns the current parametric function, differentiated to the specified # of times.
        /// </summary>
        /// <param name="index">The index to differentiate to, which must be greater than 0.</param>
        /// <returns>HyperbolicParametric.</returns>
        public CartesianParametricEquationXY DifferentiateBy(int index)
        {
            CartesianParametricEquationXY differential = CloneParametric();

            differential._x = _x.DifferentiateBy(index) as DoubleParametricComponents;
            differential._y = _y.DifferentiateBy(index) as DoubleParametricComponents;
            differential._differentiationIndex = index;
            return(differential);
        }
        /// <summary>
        /// Clones the curve.
        /// </summary>
        /// <returns>LinearCurve.</returns>
        public CartesianParametricEquationXY CloneParametric()
        {
            CartesianParametricEquationXY parametric = new CartesianParametricEquationXY();

            parametric._x = _x;
            parametric._y = _y;
            parametric._differentiationIndex = _differentiationIndex;
            return(parametric);
        }