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