File tree 1 file changed +9
-7
lines changed
symja_android_library/matheclipse-core/src/main/java/org/matheclipse/core/builtin
1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -2355,13 +2355,15 @@ public IExpr e1ObjArg(IExpr arg1) {
2355
2355
if (arg1 .isAST (S .Underflow , 1 )) {
2356
2356
return F .Underflow ();
2357
2357
}
2358
- // arg1.re()^2 + arg1.im()^2
2359
- EvalEngine engine = EvalEngine .get ();
2360
- IExpr temp = engine .evaluate (F .Plus (F .Sqr (arg1 .re ()), F .Sqr (arg1 .im ())));
2361
- if (temp .isOne ()) {
2362
- // Log(x + I*y) == (1/2)*Log(x^2 + y^2) + I*Arg(x + I y) with Log(1) == 0
2363
- // ==> I*Arg(x + I y)
2364
- return F .Times (F .CI , F .Arg (arg1 ));
2358
+ if (arg1 .isNumericFunction ()) {
2359
+ // arg1.re()^2 + arg1.im()^2
2360
+ EvalEngine engine = EvalEngine .get ();
2361
+ IExpr temp = engine .evaluate (F .Plus (F .Sqr (arg1 .re ()), F .Sqr (arg1 .im ())));
2362
+ if (temp .isOne ()) {
2363
+ // Log(x + I*y) == (1/2)*Log(x^2 + y^2) + I*Arg(x + I y) with Log(1) == 0
2364
+ // ==> I*Arg(x + I y)
2365
+ return F .Times (F .CI , F .Arg (arg1 ));
2366
+ }
2365
2367
}
2366
2368
return F .NIL ;
2367
2369
}
You can’t perform that action at this time.
0 commit comments