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