def test_float(self):
ffi = FFI(backend=self.Backend())
p = ffi.new("float[]", [-2, -2.5])
assert p[0] == -2.0
assert p[1] == -2.5
p[1] += 17.75
assert p[1] == 15.25
#
p = ffi.new("float*", 15.75)
assert p[0] == 15.75
py.test.raises(TypeError, int, p)
py.test.raises(TypeError, float, p)
p[0] = 0.0
assert bool(p) is True
#
p = ffi.new("float*", 1.1)
f = p[0]
assert f != 1.1 # because of rounding effect
assert abs(f - 1.1) < 1E-7
#
INF = 1E200 * 1E200
assert 1E200 != INF
p[0] = 1E200
assert p[0] == INF # infinite, not enough precision
评论列表
文章目录