Author: Richard Plangger <planri...@gmail.com> Branch: s390x-backend Changeset: r80388:8367c6c91fdf Date: 2015-10-22 14:16 +0200 http://bitbucket.org/pypy/pypy/changeset/8367c6c91fdf/
Log: testing several other values for floating point addition diff --git a/rpython/jit/backend/zarch/test/test_assembler.py b/rpython/jit/backend/zarch/test/test_assembler.py --- a/rpython/jit/backend/zarch/test/test_assembler.py +++ b/rpython/jit/backend/zarch/test/test_assembler.py @@ -1,3 +1,4 @@ +import py import struct from rpython.jit.backend.zarch import conditions as con from rpython.jit.backend.zarch import masks as msk @@ -35,6 +36,10 @@ print hex(addr) return struct.pack('>Q', addr) +def isclose(a,b, rel_tol=1e-9, abs_tol=0.0): + # from PEP 485, added in python 3.5 + return abs(a-b) <= max( rel_tol * max(abs(a), abs(b)), abs_tol ) + class TestRunningAssembler(object): def setup_method(self, method): cpu = CPU(None, None) @@ -210,20 +215,28 @@ self.a.jmpto(reg.r14) assert run_asm(self.a) == -15 - def test_float_to_memory(self): + @py.test.mark.parametrize("v1,v2,res", [ + ( 0.0, 0.0, 0.0), + ( -15.0, -15.0, -30.0), + ( 1.5, -3.22, -1.72), + ( 0.5, 0.0, 0.5), + ( 0.0001, -0.0002, -0.0001), + ]) + def test_float_to_memory(self, v1, v2, res): with lltype.scoped_alloc(DOUBLE_ARRAY_PTR.TO, 16) as mem: with self.label('func', func=True): with self.label('lit'): self.mc.BRAS(reg.r13, loc.imm(0)) - self.mc.write(BFL(-15.0)) + self.mc.write(BFL(v1)) + self.mc.write(BFL(v2)) self.mc.write(ADDR(mem)) self.jump_here(self.mc.BRAS, 'lit') self.mc.LD(reg.f0, loc.addr(0, reg.r13)) - self.mc.LDR(reg.f1, reg.f0) + self.mc.LD(reg.f1, loc.addr(8, reg.r13)) self.mc.ADBR(reg.f0, reg.f1) - self.mc.LG(reg.r11, loc.addr(8, reg.r13)) + self.mc.LG(reg.r11, loc.addr(16, reg.r13)) self.mc.STD(reg.f0, loc.addr(0, reg.r11)) self.a.jmpto(reg.r14) run_asm(self.a) - assert mem[0] == -30.0 + assert isclose(mem[0],res) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit