Blame tests/run/specialfloat.pyx

Packit 562c7a
DEF FLOAT = 12.5
Packit 562c7a
DEF EMFLOAT = 5e-1
Packit 562c7a
DEF EPFLOAT = 5e+1
Packit 562c7a
DEF FLOAT_NAN = float('nan')
Packit 562c7a
DEF FLOAT_INFP = float('+inf')
Packit 562c7a
DEF FLOAT_INFN = float('-inf')
Packit 562c7a
Packit 562c7a
cdef double cdef_float_nan = float('nan')
Packit 562c7a
cdef double cdef_float_infp = float('+inf')
Packit 562c7a
cdef double cdef_float_infn = float('-inf')
Packit 562c7a
Packit 562c7a
float_nan = FLOAT_NAN
Packit 562c7a
float_infp = FLOAT_INFP
Packit 562c7a
float_infn = FLOAT_INFN
Packit 562c7a
Packit 562c7a
def f():
Packit 562c7a
    """
Packit 562c7a
    >>> f()
Packit 562c7a
    12.5
Packit 562c7a
    """
Packit 562c7a
    cdef float f = FLOAT
Packit 562c7a
    cdef object o = FLOAT
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def emfloat():
Packit 562c7a
    """
Packit 562c7a
    >>> emfloat()
Packit 562c7a
    0.5
Packit 562c7a
    """
Packit 562c7a
    cdef float f = EMFLOAT
Packit 562c7a
    assert f == 5e-1
Packit 562c7a
    cdef object o = EMFLOAT
Packit 562c7a
    assert o == 5e-1
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def epfloat():
Packit 562c7a
    """
Packit 562c7a
    >>> epfloat()
Packit 562c7a
    50.0
Packit 562c7a
    """
Packit 562c7a
    cdef float f = EPFLOAT
Packit 562c7a
    assert f == 5e+1
Packit 562c7a
    cdef object o = EPFLOAT
Packit 562c7a
    assert o == 5e+1
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def nan1():
Packit 562c7a
    """
Packit 562c7a
    >>> nan1()
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    cdef double f = FLOAT_NAN
Packit 562c7a
    cdef object o = FLOAT_NAN
Packit 562c7a
    assert str(f) == str(o)
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def nan2():
Packit 562c7a
    """
Packit 562c7a
    >>> nan2()
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    cdef double f = float('nan')
Packit 562c7a
    cdef object o = float('nan')
Packit 562c7a
    assert str(f) == str(o)
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def nan3():
Packit 562c7a
    """
Packit 562c7a
    >>> nan3()
Packit 562c7a
    nan
Packit 562c7a
    >>> float_nan
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    cdef float f = FLOAT_NAN
Packit 562c7a
    cdef object o = FLOAT_NAN
Packit 562c7a
    assert str(f) == str(o)
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infp1():
Packit 562c7a
    """
Packit 562c7a
    >>> infp1()
Packit 562c7a
    inf
Packit 562c7a
    >>> infp1() == float('inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef double f = FLOAT_INFP
Packit 562c7a
    cdef object o = FLOAT_INFP
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infp2():
Packit 562c7a
    """
Packit 562c7a
    >>> infp2()
Packit 562c7a
    inf
Packit 562c7a
    >>> infp2() == float('inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef double f = float('+inf')
Packit 562c7a
    cdef object o = float('+inf')
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infp3():
Packit 562c7a
    """
Packit 562c7a
    >>> infp3()
Packit 562c7a
    inf
Packit 562c7a
    >>> infp3() == float('inf')
Packit 562c7a
    True
Packit 562c7a
    >>> float_infp
Packit 562c7a
    inf
Packit 562c7a
    >>> float_infp == float('inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef float f = FLOAT_INFP
Packit 562c7a
    cdef object o = FLOAT_INFP
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infn1():
Packit 562c7a
    """
Packit 562c7a
    >>> infn1()
Packit 562c7a
    -inf
Packit 562c7a
    >>> infn1() == float('-inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef double f = FLOAT_INFN
Packit 562c7a
    cdef object o = FLOAT_INFN
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infn2():
Packit 562c7a
    """
Packit 562c7a
    >>> infn2()
Packit 562c7a
    -inf
Packit 562c7a
    >>> infn2() == float('-inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef double f = float('-inf')
Packit 562c7a
    cdef object o = float('-inf')
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def infn3():
Packit 562c7a
    """
Packit 562c7a
    >>> infn3()
Packit 562c7a
    -inf
Packit 562c7a
    >>> infn3() == float('-inf')
Packit 562c7a
    True
Packit 562c7a
    >>> float_infn
Packit 562c7a
    -inf
Packit 562c7a
    >>> float_infn == float('-inf')
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef float f = FLOAT_INFN
Packit 562c7a
    cdef object o = FLOAT_INFN
Packit 562c7a
    assert f == o
Packit 562c7a
    return f
Packit 562c7a
Packit 562c7a
def global_floats():
Packit 562c7a
    """
Packit 562c7a
    >>> global_floats()[1:] == (float('+inf'), float('-inf'))
Packit 562c7a
    True
Packit 562c7a
    >>> global_floats()[0]
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return (cdef_float_nan, cdef_float_infp, cdef_float_infn)