C:\ece595_06\class20>java test
sumx -113 scaled -15 final 120 sum -113 scaled -14 final 121
s s>>3 s/8 0 0 0 -1 -1 0 -2 -1 0 -3 -1 0 -4 -1 0 -5 -1 0 -6 -1 0 -7 -1 0 -8 -1 -1 -9 -2 -1 -10 -2 -1 -11 -2 -1
test.java
/* 0 23 46 69 93 116 139 162 186 209 232 0 23 46 69 93 116 139 162 186 209 232 0 23 49 155 225 229 191 165 186 209 232 0 23 145 232 232 232 232 201 186 209 232 0 23 223 232 232 232 232 230 186 209 232 0 23 223 232 232 232 232 230 186 209 232 0 23 145 232 232 232 232 201 186 209 232 0 23 49 155 225 229 191 165 186 209 232 0 23 46 69 93 116 139 162 186 209 232 0 23 46 69 93 116 139 162 186 209 232 0 23 46 69 93 116 139 162 186 209 232 */ public class test { public static void main(String [] args) { System.out.format("test1%n%n"); test1(); System.out.format("%n%n%ntest2%n%n%n"); test2(); } public static void test1() { int p00 = 116; int p01 = 139; int p02 = 162; int p10 = 229; int p11 = 191; int p12 = 165; int p20 = 232; int p21 = 232; int p22 = 201; int sumx; sumx = p02-p00 +((p12-p10)<<1) + p22-p20; System.out.format("sumx %d%n",sumx); sumx = sumx>>3; System.out.format("scaled %d%n",sumx); sumx = (sumx+256)>>1; System.out.format("final %d%n",sumx); int mask[][] = { {-1, 0, 1},{-2, 0, 2},{-1, 0, 1} }; int sum0,sum1,sum2,sum; sum0 = mask[0][0]*p00 + mask[0][1]*p01 + mask[0][2]*p02; sum1 = mask[1][0]*p10 + mask[1][1]*p11 + mask[1][2]*p12; sum2 = mask[2][0]*p20 + mask[2][1]*p21 + mask[2][2]*p22; sum = sum0 + sum1 + sum2; System.out.format("sum %d%n",sum); sum = sum/8; System.out.format("scaled %d%n",sum); sum = (sum+256)/2; System.out.format("final %d%n",sum); } public static void test2() { int i, sum, out1, out2; System.out.format("%5s%5s%5s%n","s","s>>3","s/8"); for (i=0; i<12; i++) { sum = -i; out1 = sum>>3; out2 = sum/8; System.out.format(" %4d %4d %4d%n",sum,out1,out2); } } }
Maintained by John Loomis, updated Wed Oct 30 18:44:44 2013