/// <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 CartesianParametricEquation operator /(CartesianParametricEquation a, double b)
        {
            CartesianParametricEquation parametric = a.CloneParametric();

            parametric._components /= 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 CartesianParametricEquation DifferentiateBy(int index)
        {
            CartesianParametricEquation differential = CloneParametric();

            differential._components           = _components.DifferentiateBy(index) as CartesianParametricComponents;
            differential._differentiationIndex = index;
            return(differential);
        }
        /// <summary>
        /// Clones the curve.
        /// </summary>
        /// <returns>LinearCurve.</returns>
        public CartesianParametricEquation CloneParametric()
        {
            CartesianParametricEquation parametric = new CartesianParametricEquation();

            parametric._components.Clone();
            parametric._differentiationIndex = _differentiationIndex;
            return(parametric);
        }