fix math32 tests
This commit is contained in:
parent
8d7a1675f8
commit
bd6b2641dd
|
@ -5,6 +5,7 @@ from os import environ
|
|||
from random import randint
|
||||
from subprocess import Popen, PIPE, run
|
||||
|
||||
u1 = {'sz': 1, 'fmt': b'%02x'}
|
||||
u3 = {'sz': 1 << 3, 'fmt': b'%02x'}
|
||||
u5 = {'sz': 1 << 5, 'fmt': b'%02x'}
|
||||
u8 = {'sz': 1 << 8, 'fmt': b'%02x'}
|
||||
|
@ -28,6 +29,8 @@ def testcase(p, sym, args, out, f):
|
|||
expected = fmt(out, z)
|
||||
if got == expected:
|
||||
return None
|
||||
elif out == u1 and bool(got) == bool(expected):
|
||||
return None
|
||||
else:
|
||||
res = {'got': got, 'expected': expected}
|
||||
for name, _, x in vals:
|
||||
|
@ -76,14 +79,14 @@ def main():
|
|||
test(p, trials, b'^', [('x', u32), ('y', u32)], u32, lambda x, y: x ^ y)
|
||||
test(p, trials, b'~', [('x', u32)], u32, lambda x: ~x)
|
||||
test(p, trials, b'N', [('x', u32)], u32, lambda x: -x)
|
||||
test(p, trials, b'=', [('x', u32), ('y', u32)], u8, lambda x, y: int(x == y))
|
||||
test(p, trials, b'!', [('x', u32), ('y', u32)], u8, lambda x, y: int(x != y))
|
||||
test(p, trials, b'0', [('x', u32)], u8, lambda x: int(x == 0))
|
||||
test(p, trials, b'Z', [('x', u32)], u8, lambda x: int(x != 0))
|
||||
test(p, trials, b'<', [('x', u32), ('y', u32)], u8, lambda x, y: int(x < y))
|
||||
test(p, trials, b'>', [('x', u32), ('y', u32)], u8, lambda x, y: int(x > y))
|
||||
test(p, trials, b'{', [('x', u32), ('y', u32)], u8, lambda x, y: int(x <= y))
|
||||
test(p, trials, b'}', [('x', u32), ('y', u32)], u8, lambda x, y: int(x >= y))
|
||||
test(p, trials, b'=', [('x', u32), ('y', u32)], u1, lambda x, y: int(x == y))
|
||||
test(p, trials, b'!', [('x', u32), ('y', u32)], u1, lambda x, y: int(x != y))
|
||||
test(p, trials, b'0', [('x', u32)], u1, lambda x: int(x == 0))
|
||||
test(p, trials, b'Z', [('x', u32)], u1, lambda x: int(x != 0))
|
||||
test(p, trials, b'<', [('x', u32), ('y', u32)], u1, lambda x, y: int(x < y))
|
||||
test(p, trials, b'>', [('x', u32), ('y', u32)], u1, lambda x, y: int(x > y))
|
||||
test(p, trials, b'{', [('x', u32), ('y', u32)], u1, lambda x, y: int(x <= y))
|
||||
test(p, trials, b'}', [('x', u32), ('y', u32)], u1, lambda x, y: int(x >= y))
|
||||
p.stdin.close()
|
||||
p.stdout.close()
|
||||
p.kill()
|
||||
|
|
|
@ -46,29 +46,29 @@ JMP2r
|
|||
;pos LDA2k INC2 SWP2 STA2 BRK
|
||||
&exec
|
||||
POP ( )
|
||||
;buf LDA LIT '+ EQU ;test-add32 JCN2
|
||||
;buf LDA LIT '* EQU ;test-mul32 JCN2
|
||||
;buf LDA LIT '- EQU ;test-sub32 JCN2
|
||||
;buf LDA LIT '/ EQU ;test-div32 JCN2
|
||||
;buf LDA LIT '% EQU ;test-mod32 JCN2
|
||||
;buf LDA LIT 'G EQU ;test-gcd32 JCN2
|
||||
;buf LDA LIT 'L EQU ;test-lshift32 JCN2
|
||||
;buf LDA LIT 'R EQU ;test-rshift32 JCN2
|
||||
;buf LDA LIT 'B EQU ;test-bitcount32 JCN2
|
||||
;buf LDA LIT '& EQU ;test-and32 JCN2
|
||||
;buf LDA LIT '| EQU ;test-or32 JCN2
|
||||
;buf LDA LIT '^ EQU ;test-xor32 JCN2
|
||||
;buf LDA LIT '~ EQU ;test-complement32 JCN2
|
||||
;buf LDA LIT 'N EQU ;test-negate32 JCN2
|
||||
;buf LDA LIT '= EQU ;test-eq32 JCN2
|
||||
;buf LDA LIT '! EQU ;test-ne32 JCN2
|
||||
;buf LDA LIT '0 EQU ;test-is-zero32 JCN2
|
||||
;buf LDA LIT 'Z EQU ;test-non-zero32 JCN2
|
||||
;buf LDA LIT '< EQU ;test-lt32 JCN2
|
||||
;buf LDA LIT '> EQU ;test-gt32 JCN2
|
||||
;buf LDA LIT '{ EQU ;test-lteq32 JCN2
|
||||
;buf LDA LIT '} EQU ;test-gteq32 JCN2
|
||||
LIT '? EMIT NEWLINE RESET-POS BRK
|
||||
;buf LDA LIT "+ EQU ;test-add32 JCN2
|
||||
;buf LDA LIT "* EQU ;test-mul32 JCN2
|
||||
;buf LDA LIT "- EQU ;test-sub32 JCN2
|
||||
;buf LDA LIT "/ EQU ;test-div32 JCN2
|
||||
;buf LDA LIT "% EQU ;test-mod32 JCN2
|
||||
;buf LDA LIT "G EQU ;test-gcd32 JCN2
|
||||
;buf LDA LIT "L EQU ;test-lshift32 JCN2
|
||||
;buf LDA LIT "R EQU ;test-rshift32 JCN2
|
||||
;buf LDA LIT "B EQU ;test-bitcount32 JCN2
|
||||
;buf LDA LIT "& EQU ;test-and32 JCN2
|
||||
;buf LDA LIT "| EQU ;test-or32 JCN2
|
||||
;buf LDA LIT "^ EQU ;test-xor32 JCN2
|
||||
;buf LDA LIT "~ EQU ;test-complement32 JCN2
|
||||
;buf LDA LIT "N EQU ;test-negate32 JCN2
|
||||
;buf LDA LIT "= EQU ;test-eq32 JCN2
|
||||
;buf LDA LIT "! EQU ;test-ne32 JCN2
|
||||
;buf LDA LIT "0 EQU ;test-is-zero32 JCN2
|
||||
;buf LDA LIT "Z EQU ;test-non-zero32 JCN2
|
||||
;buf LDA LIT "< EQU ;test-lt32 JCN2
|
||||
;buf LDA LIT "> EQU ;test-gt32 JCN2
|
||||
;buf LDA LIT "{ EQU ;test-lteq32 JCN2
|
||||
;buf LDA LIT "} EQU ;test-gteq32 JCN2
|
||||
LIT "? EMIT NEWLINE RESET-POS BRK
|
||||
|
||||
@read-byte ( addr* -> x^ )
|
||||
LDA2 ;parse-byte JSR2
|
||||
|
@ -107,7 +107,7 @@ JMP2r
|
|||
;buf #0002 ADD2 ;read-long JSR2
|
||||
ROT2
|
||||
;buf #000b ADD2 ;read-byte JSR2
|
||||
TOR JSR2 ;emit/long JSR2
|
||||
ROT ROT JSR2 ;emit/long JSR2
|
||||
NEWLINE RESET-POS BRK
|
||||
|
||||
( format: ". xxxxxxxx yyyyyyyy" -> "zz" )
|
||||
|
|
Loading…
Reference in New Issue