#NEWLINE# @ classmethod #NEWLINE# def eval( cls , z ) : #NEWLINE# #INDENT# if ( z == 0 ) : #NEWLINE# #INDENT# return cls . _atzero #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( z is S . Infinity ) : #NEWLINE# #INDENT# return cls . _atinf ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( z is S . NegativeInfinity ) : #NEWLINE# #INDENT# return cls . _atneginf ( ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# nz = z . extract_multiplicatively ( polar_lift ( I ) ) #NEWLINE# if ( ( nz is None ) and ( cls . _trigfunc ( 0 ) == 0 ) ) : #NEWLINE# #INDENT# nz = z . extract_multiplicatively ( I ) #NEWLINE# #UNINDENT# if ( nz is not None ) : #NEWLINE# #INDENT# return cls . _Ifactor ( nz , 1 ) #NEWLINE# #UNINDENT# nz = z . extract_multiplicatively ( polar_lift ( ( - I ) ) ) #NEWLINE# if ( nz is not None ) : #NEWLINE# #INDENT# return cls . _Ifactor ( nz , ( - 1 ) ) #NEWLINE# #UNINDENT# nz = z . extract_multiplicatively ( polar_lift ( ( - 1 ) ) ) #NEWLINE# if ( ( nz is None ) and ( cls . _trigfunc ( 0 ) == 0 ) ) : #NEWLINE# #INDENT# nz = z . extract_multiplicatively ( ( - 1 ) ) #NEWLINE# #UNINDENT# if ( nz is not None ) : #NEWLINE# #INDENT# return cls . _minusfactor ( nz ) #NEWLINE# #UNINDENT# ( nz , n ) = z . extract_branch_factor ( ) #NEWLINE# if ( ( nz == 0 ) and ( nz == z ) ) : #NEWLINE# #INDENT# return #NEWLINE# #UNINDENT# return ( ( ( ( ( 2 * pi ) * I ) * n ) * cls . _trigfunc ( 0 ) ) + cls ( nz ) )