コード例 #1
0
ファイル: ConstantExpression.cs プロジェクト: jp2masa/dlr
 private static Expression ComplexConstant(Complex value)
 {
     if (value.Real != 0.0)
     {
         if (value.Imaginary() != 0.0)
         {
             return(Expression.Call(
                        new Func <double, double, Complex>(MathUtils.MakeComplex).GetMethodInfo(),
                        Constant(value.Real),
                        Constant(value.Imaginary())
                        ));
         }
         else
         {
             return(Expression.Call(
                        new Func <double, Complex>(MathUtils.MakeReal).GetMethodInfo(),
                        Constant(value.Real)
                        ));
         }
     }
     else
     {
         return(Expression.Call(
                    new Func <double, Complex>(MathUtils.MakeImaginary).GetMethodInfo(),
                    Constant(value.Imaginary())
                    ));
     }
 }