コード例 #1
0
ファイル: Functions.cs プロジェクト: zdimension/IMPression
        public static Complex Ln(Complex c)
        {
            /*if (c.IsReal() && c < 0.0) return Ln(-c) + (Constants.I * Constants.Pi);
            if (c.IsReal()) return Quad.Log(c.Real);

            return Math.Log(c.Module, Constants.E) + (Constants.I * (Complex)c.Argument);*/

            if(c.IsRealNonNegative()) return new Complex(Math.Log(c.Real, Constants.E), 0.0);
            return new Complex(0.5 * Math.Log(c.MagnitudeSquared(), Constants.E), c.Argument);
        }