From: Aaron Taylor Date: Thu, 1 Aug 2019 04:38:00 +0000 (-0700) Subject: Added tests for `xor` subroutine from stdlib. X-Git-Url: http://git.subgeniuskitty.com/vvhitespace/.git/commitdiff_plain/084022970bf50b1ad3873ae6ac45c702308212d6 Added tests for `xor` subroutine from stdlib. --- diff --git a/stdlib_tests/3006_xor.pvvs b/stdlib_tests/3006_xor.pvvs new file mode 100644 index 0000000..68a72d1 --- /dev/null +++ b/stdlib_tests/3006_xor.pvvs @@ -0,0 +1,37 @@ +@ Test 0 xor 0 = 0 +SSSSN | PUSH 0 +SSSSN | PUSH 0 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 0 xor 1 = 1 +SSSSN | PUSH 0 +SSSTN | PUSH +1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1 xor 1 = 0 +SSSTN | PUSH +1 +SSSTN | PUSH +1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1 xor 1...1 = 1...10 +SSSTN | PUSH +1 +SSTTN | PUSH -1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1010...1010 xor 0101...0101 = 1...1 +@ Note that -6148914691236517206 = 1010...1010 in twos-complement but we +@ enter it in sign magnitude format so the bit pattern appears different. +SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206 +SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN | PUSH +6148914691236517205 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ All done. +NNN | DIE + +#include +#include diff --git a/stdlib_tests/vv_test.py b/stdlib_tests/vv_test.py index 2674b03..368a166 100755 --- a/stdlib_tests/vv_test.py +++ b/stdlib_tests/vv_test.py @@ -35,6 +35,7 @@ tests = [ ['3003_rshift', '', '+1+1+1-4611686018427387903-576460752303423478-1-1'], ['3004_and', '', '+0+0+1+1+42'], ['3005_or', '', '+0+1+1-1-1'], + ['3006_xor', '', '+0+1+0-2-1'], ] for test in tests: