177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Test logical and bitwise AND and OR 277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint test(int x, int y) { 477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int v = x || y; 577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return v; 677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint test2(int x, int y) { 977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao if(x | y) { 1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return 1; 1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } else { 1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return 0; 1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint test3(int x, int y) { 1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int v = x && y; 1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return v; 1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint test4(int x, int y) { 2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao if(x & y) { 2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return 1; 2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } else { 2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return 0; 2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint main(int index) 3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{ 3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int x,y; 3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao printf("testing...\n"); 3377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int totalBad = 0; 3477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao for(y = 0; y < 2; y++) { 3577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao for(x = 0; x < 2; x++) { 3677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int a = test(x,y); 3777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao int b = test2(x,y); 3877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao if (a != b) { 3977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao printf("Results differ: OR x=%d y=%d a=%d b=%d\n", x, y, a, b); 4077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao totalBad++; 4177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 4277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao a = test3(x,y); 4377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao b = test4(x,y); 4477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao if (a != b) { 4577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao printf("Results differ: AND x=%d y=%d a=%d b=%d\n", x, y, a, b); 4677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao totalBad++; 4777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 4877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 4977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao } 5077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao printf("Total bad: %d\n", totalBad); 5177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao return 0; 5277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 5377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 54