Beispiel #1
0
        public static string ContinuedCoeffToString(WWComplex c, string variableString)
        {
            if (c.EqualValue(new WWComplex(1, 0)))
            {
                return(string.Format(" +{0}", variableString));
            }

            if (c.EqualValue(new WWComplex(-1, 0)))
            {
                return(string.Format(" -{0}", variableString));
            }

            if (c.imaginary == 0)
            {
                if (c.real < 0)
                {
                    return(string.Format(" {0}{1}", c.real, variableString));
                }
                else
                {
                    return(string.Format(" +{0}{1}", c.real, variableString));
                }
            }

            if (c.EqualValue(new WWComplex(0, 1)))
            {
                return(string.Format(" +{0}{1}", WWComplex.imaginaryUnit, variableString));
            }

            if (c.EqualValue(new WWComplex(0, -1)))
            {
                return(string.Format(" -{0}{1}", WWComplex.imaginaryUnit, variableString));
            }

            if (c.real == 0)
            {
                if (c.imaginary < 0)
                {
                    return(string.Format(" {0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString));
                }
                else
                {
                    return(string.Format(" +{0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString));
                }
            }

            return(string.Format(" +({0}){1}", c, variableString));
        }
Beispiel #2
0
        /// <summary>
        /// 1乗以上の項の係数項の表示。
        /// </summary>
        public static string FirstCoeffToString(WWComplex c, string variableString)
        {
            if (c.EqualValue(new WWComplex(1, 0)))
            {
                return(variableString); // 係数を表示せず、変数のみ表示する。
            }

            if (c.EqualValue(new WWComplex(-1, 0)))
            {
                return(string.Format("-{0}", variableString));
            }

            if (c.imaginary == 0)
            {
                // 実数。
                return(string.Format("{0}{1}", c.real, variableString));
            }

            if (c.EqualValue(new WWComplex(0, 1)))
            {
                return(string.Format("{0}{1}", WWComplex.imaginaryUnit, variableString));
            }

            if (c.EqualValue(new WWComplex(0, -1)))
            {
                return(string.Format("-{0}{1}", WWComplex.imaginaryUnit, variableString));
            }

            if (c.real == 0)
            {
                // 純虚数。
                return(string.Format("{0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString));
            }

            // 純虚数ではない虚数。
            return(string.Format("({0}){1}", c, variableString));
        }