@@ -319,49 +319,6 @@ def eval_complex_sign(n: BaseElement) -> Optional[BaseElement]:
319319 sign = eval_RealSign (expr )
320320 return sign or eval_complex_sign (expr )
321321
322- if expr .has_form ("Power" , 2 ):
323- base , exp = expr .elements
324- if exp .is_zero :
325- return Integer1
326- if isinstance (exp , (Integer , Real , Rational )):
327- sign = eval_Sign (base ) or Expression (SymbolSign , base )
328- return Expression (SymbolPower , sign , exp )
329- if isinstance (exp , Complex ):
330- sign = eval_Sign (base ) or Expression (SymbolSign , base )
331- return Expression (SymbolPower , sign , exp .real )
332- if test_arithmetic_expr (exp ):
333- sign = eval_Sign (base ) or Expression (SymbolSign , base )
334- return Expression (SymbolPower , sign , exp )
335- return None
336- if expr .get_head () is SymbolTimes :
337- abs_value = eval_Abs (eval_multiply_numbers (* expr .elements ))
338- if abs_value is Integer1 :
339- return expr
340- if abs_value is None :
341- return None
342- criteria = eval_add_numbers (abs_value , IntegerM1 )
343- if test_zero_arithmetic_expr (criteria , numeric = True ):
344- return expr
345- return None
346- if expr .get_head () is SymbolPlus :
347- abs_value = eval_Abs (eval_add_numbers (* expr .elements ))
348- if abs_value is Integer1 :
349- return expr
350- if abs_value is None :
351- return None
352- criteria = eval_add_numbers (abs_value , IntegerM1 )
353- if test_zero_arithmetic_expr (criteria , numeric = True ):
354- return expr
355- return None
356-
357- if test_arithmetic_expr (expr ):
358- if test_zero_arithmetic_expr (expr ):
359- return Integer0
360- if test_positive_arithmetic_expr (expr ):
361- return Integer1
362- if test_negative_arithmetic_expr (expr ):
363- return IntegerM1
364-
365322
366323def eval_mpmath_function (
367324 mpmath_function : Callable , * args : Number , prec : Optional [int ] = None
0 commit comments