(ctx, x)
Return *True* if *x* is a NaN (not-a-number), or for a complex
        number, whether either the real or complex part is NaN;
        otherwise return *False*::

            >>> from sympy.mpmath import *
            >>> isnan(3.14)
            False
            >>> isnan(nan)
            True
            >>> isnan(mpc(3.14,2.72))
            False
            >>> isnan(mpc(3.14,nan))
            True
Return *True* if *x* is a NaN (not-a-number), or for a complex
        number, whether either the real or complex part is NaN;
        otherwise return *False*::
Return * True * if * x * is a NaN ( not - a - number ) or for a complex number whether either the real or complex part is NaN ; otherwise return * False * ::
def isnan(ctx, x):
        """
        Return *True* if *x* is a NaN (not-a-number), or for a complex
        number, whether either the real or complex part is NaN;
        otherwise return *False*::

            >>> from sympy.mpmath import *
            >>> isnan(3.14)
            False
            >>> isnan(nan)
            True
            >>> isnan(mpc(3.14,2.72))
            False
            >>> isnan(mpc(3.14,nan))
            True

        """
        if hasattr(x, "_mpf_"):
            return x._mpf_ == fnan
        if hasattr(x, "_mpc_"):
            return fnan in x._mpc_
        if isinstance(x, int_types) or isinstance(x, rational.mpq):
            return False
        x = ctx.convert(x)
        if hasattr(x, '_mpf_') or hasattr(x, '_mpc_'):
            return ctx.isnan(x)
        raise TypeError("isnan() needs a number as input")
def isnan ( ctx , x ) : if hasattr ( x , "_mpf_" ) : return x . _mpf_ == fnan if hasattr ( x , "_mpc_" ) : return fnan in x . _mpc_ if isinstance ( x , int_types ) or isinstance ( x , rational . mpq ) : return False x = ctx . convert ( x ) if hasattr ( x , '_mpf_' ) or hasattr ( x , '_mpc_' ) : return ctx . isnan ( x ) raise TypeError ( "isnan() needs a number as input" )