Files
mercury/tests/hard_coded/bit_twiddle_uint8.exp
Julien Fischer 678922eba0 Add more operations on 8-bit integers.
library/int8.m:
library/uint8.m:
     Add num_zeros/1, num_ones/1, num_leading_zeros/1, num_trailing_zeros/1 and
     reverse_bits/1.

library/int16.m:
     Implement num_trailing_zeros/1 by calling the unsigned version.

tests/hard_coded/Mmakefile:
tests/hard_coded/bit_twiddle_int8.{m,exp}:
tests/hard_coded/bit_twiddle_uint8.{m,exp}:
     Add tests of the new operations.
2018-04-02 12:17:30 +10:00

50 lines
1.2 KiB
Plaintext

*** Test function 'num_zeros' ***
num_zeros(00000000) = 8
num_zeros(00000001) = 7
num_zeros(00000010) = 7
num_zeros(00001000) = 7
num_zeros(00001111) = 4
num_zeros(00010000) = 7
num_zeros(11111111) = 0
*** Test function 'num_ones' ***
num_ones(00000000) = 0
num_ones(00000001) = 1
num_ones(00000010) = 1
num_ones(00001000) = 1
num_ones(00001111) = 4
num_ones(00010000) = 1
num_ones(11111111) = 8
*** Test function 'num_leading_zeros' ***
num_leading_zeros(00000000) = 8
num_leading_zeros(00000001) = 7
num_leading_zeros(00000010) = 6
num_leading_zeros(00001000) = 4
num_leading_zeros(00001111) = 4
num_leading_zeros(00010000) = 3
num_leading_zeros(11111111) = 0
*** Test function 'num_trailing_zeros' ***
num_trailing_zeros(00000000) = 8
num_trailing_zeros(00000001) = 0
num_trailing_zeros(00000010) = 1
num_trailing_zeros(00001000) = 3
num_trailing_zeros(00001111) = 0
num_trailing_zeros(00010000) = 4
num_trailing_zeros(11111111) = 0
*** Test function 'reverse_bits' ***
reverse_bits(00000000) = 00000000
reverse_bits(00000001) = 10000000
reverse_bits(00000010) = 01000000
reverse_bits(00001000) = 00010000
reverse_bits(00001111) = 11110000
reverse_bits(00010000) = 00001000
reverse_bits(11111111) = 11111111