Ticket #15032: trac15032.3.patch

File trac15032.3.patch, 1.8 KB (added by eviatarbach, 7 years ago)
  • sage/functions/other.py

    # HG changeset patch
    # User Eviatar Bach <eviatarbach@gmail.com>
    # Date 1376247395 25200
    # Node ID 46d1f7fc3d0509e61c0c81d558fbeb3ff23d1c0a
    # Parent  235c156b3faa84b95dd2420e3a4912911e4d6c65
    Trac 15032: real and imag of complex should be real
    
    diff --git a/sage/functions/other.py b/sage/functions/other.py
    a b  
    18681868            <type 'sage.rings.real_mpfr.RealLiteral'>
    18691869            sage: real(1.0r)
    18701870            1.0
     1871            sage: real(complex(3, 4))
     1872            3.0
    18711873
    18721874        TESTS::
    18731875
     
    18861888        GinacFunction.__init__(self, "real_part",
    18871889                                   conversions=dict(maxima='realpart'))
    18881890
     1891    def __call__(self, x, **kwargs):
     1892        r"""
     1893        TESTS::
     1894
     1895            sage: type(real(complex(3, 4)))
     1896            <type 'float'>
     1897        """
     1898        if isinstance(x, complex):
     1899            return x.real
     1900        else:
     1901            return GinacFunction.__call__(self, x, **kwargs)
     1902
    18891903    def _eval_numpy_(self, x):
    18901904        """
    18911905        EXAMPLES::
     
    19241938            2
    19251939            sage: imag(z)
    19261940            2
     1941            sage: imag(complex(3, 4))
     1942            4.0
    19271943            sage: loads(dumps(imag_part))
    19281944            imag_part
    19291945
     
    19391955        GinacFunction.__init__(self, "imag_part",
    19401956                                   conversions=dict(maxima='imagpart'))
    19411957
     1958    def __call__(self, x, **kwargs):
     1959        r"""
     1960        TESTS::
     1961
     1962            sage: type(imag(complex(3, 4)))
     1963            <type 'float'>
     1964        """
     1965        if isinstance(x, complex):
     1966            return x.imag
     1967        else:
     1968            return GinacFunction.__call__(self, x, **kwargs)
     1969
    19421970    def _eval_numpy_(self, x):
    19431971        """
    19441972        EXAMPLES::