7 static unsigned UnsignedShiftLeft1 (unsigned Val)
8 /* Shift an unsigned left by 1 */
20 static unsigned UnsignedShiftRight1 (unsigned Val)
21 /* Shift an unsigned right by 1 */
33 static int SignedShiftRight1 (int Val)
34 /* Shift a signed right by 1 */
47 static void TestUnsignedLeftShift (void)
48 /* Test left shift. This is identical for signed and unsigned ints */
51 printf ("Testing unsigned left shift:\n");
55 for (R = 0; R < 16; ++R) {
59 "Failed: %u << %u != %u (%u)\n",
63 V = UnsignedShiftLeft1 (V);
65 if ((L & 0xFF) == 0) {
74 static void TestUnsignedRightShift (void)
75 /* Test unsigned right shift. */
78 printf ("Testing unsigned right shift:\n");
82 for (R = 0; R < 16; ++R) {
86 "Failed: %u >> %u != %u (%u)\n",
90 V = UnsignedShiftRight1 (V);
92 if ((L & 0xFF) == 0) {
101 static void TestSignedRightShift (void)
102 /* Test signed right shift. */
105 printf ("Testing signed right shift:\n");
109 for (R = 0; R < 16; ++R) {
113 "Failed: %d >> %d != %d (%d)\n",
117 V = SignedShiftRight1 (V);
119 if ((L & 0xFF) == 0) {
130 TestUnsignedLeftShift ();
131 TestUnsignedRightShift ();
132 TestSignedRightShift ();