Skip to content

Instantly share code, notes, and snippets.

@adria0
Created January 3, 2023 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adria0/e169ef52dc7b853616f7f76c3cf3cd4b to your computer and use it in GitHub Desktop.
Save adria0/e169ef52dc7b853616f7f76c3cf3cd4b to your computer and use it in GitHub Desktop.
test_sar_result
58 def test_sar_result():
59 test_vectors = [
60 (0x0000000000000000000000000000000000000000000000000000000000000001,0x00,0x0000000000000000000000000000000000000000000000000000000000000001),
61 (0x0000000000000000000000000000000000000000000000000000000000000001,0x01,0x0000000000000000000000000000000000000000000000000000000000000000),
62 (0x8000000000000000000000000000000000000000000000000000000000000000,0x01,0xc000000000000000000000000000000000000000000000000000000000000000),
63 (0x8000000000000000000000000000000000000000000000000000000000000000,0xff,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
64 (0x8000000000000000000000000000000000000000000000000000000000000000,0x0100,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
65 (0x8000000000000000000000000000000000000000000000000000000000000000,0x0101,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
66 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0x00,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
67 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0x01,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
68 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0xff,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
69 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0x0100,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff),
70 (0x0000000000000000000000000000000000000000000000000000000000000000,0x01,0x0000000000000000000000000000000000000000000000000000000000000000),
71 (0x4000000000000000000000000000000000000000000000000000000000000000,0xfe,0x0000000000000000000000000000000000000000000000000000000000000001),
72 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0xf8,0x000000000000000000000000000000000000000000000000000000000000007f),
73 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0xfe,0x0000000000000000000000000000000000000000000000000000000000000001),
74 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0xff,0x0000000000000000000000000000000000000000000000000000000000000000),
75 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff,0x0100,0x0000000000000000000000000000000000000000000000000000000000000000)
76 ]
77 for test_vector in test_vectors:
78 a = test_vector[0]
79 shift = test_vector[1]
80 b_expected = test_vector[2]
81 b = get_int_neg(-(-get_int_abs(a) >> shift)) if int_is_neg(a) else a >> shift
82 assert(b_expected == b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment