示例#1
0
 public static double abs(MComplex <double> value)
 {
     return(Math.Sqrt(value.RealPart * value.RealPart + value.ImaginaryPart * value.ImaginaryPart));
 }
示例#2
0
 public static TReal real <[AnyReal] TReal>(MComplex <TReal> value) where TReal : struct
 {
     return(value.RealPart);
 }
示例#3
0
        public static MComplex <double> exp(MComplex <double> value)
        {
            var factor = exp(value.RealPart);

            return(new MComplex <double>(Math.Cos(value.ImaginaryPart) * factor, Math.Sin(value.RealPart) * factor));
        }
示例#4
0
 public static TReal imag <[AnyReal] TReal>(MComplex <TReal> value) where TReal : struct
 {
     return(value.ImaginaryPart);
 }
示例#5
0
 public static MComplex <double> mtimes(MComplex <double> lhs, MComplex <double> rhs)
 {
     return(times(lhs, rhs));
 }
示例#6
0
 public static MComplex <double> times(MComplex <double> lhs, MComplex <double> rhs)
 {
     return(new MComplex <double>(
                lhs.RealPart * rhs.RealPart - lhs.ImaginaryPart * rhs.ImaginaryPart,
                lhs.RealPart * rhs.ImaginaryPart + lhs.ImaginaryPart * rhs.RealPart));
 }
示例#7
0
 public static MComplex <double> times(double lhs, MComplex <double> rhs)
 {
     return(times(rhs, lhs));
 }
示例#8
0
 public static MComplex <double> uminus(MComplex <double> value)
 {
     return(new MComplex <double>(-value.RealPart, -value.ImaginaryPart));
 }
示例#9
0
 public static MComplex <double> minus(MComplex <double> lhs, MComplex <double> rhs)
 {
     return(new MComplex <double>(lhs.RealPart - rhs.RealPart, lhs.ImaginaryPart - rhs.ImaginaryPart));
 }