import synthesijer.rt.*; public class Test_ArithInt{ @synthesijer.rt.Debug public int ic; @synthesijer.rt.Debug public long lc; private int add32(int ia, int ib){ ic = ia + ib; return ic; } private int sub32(int ia, int ib){ ic = ia - ib; return ic; } private int mul32(int ia, int ib){ ic = ia * ib; return ic; } private int div32(int ia, int ib){ ic = ia / ib; return ic; } private int mod32(int ia, int ib){ ic = ia % ib; return ic; } private long add64(long la, long lb){ lc = la + lb; return lc; } private long sub64(long la, long lb){ lc = la - lb; return lc; } private long mul64(long la, long lb){ lc = la * lb; return lc; } private long div64(long la, long lb){ lc = la / lb; return lc; } private long mod64(long la, long lb){ lc = la % lb; return lc; } private boolean test32(){ int ia, ib; ia = 300; ib = 200; if(add32(ia, ib) != 500) return false; if(sub32(ia, ib) != 100) return false; if(mul32(ia, ib) != 60000) return false; if(div32(ia, ib) != 1) return false; if(mod32(ia, ib) != 100) return false; ia = 300; ib = -200; if(add32(ia, ib) != 100) return false; if(sub32(ia, ib) != 500) return false; if(mul32(ia, ib) != -60000) return false; if(div32(ia, ib) != -1) return false; if(mod32(ia, ib) != 100) return false; ia = -300; ib = 200; if(add32(ia, ib) != -100) return false; if(sub32(ia, ib) != -500) return false; if(mul32(ia, ib) != -60000) return false; if(div32(ia, ib) != -1) return false; if(mod32(ia, ib) != -100) return false; ia = -300; ib = -200; if(add32(ia, ib) != -500) return false; if(sub32(ia, ib) != -100) return false; if(mul32(ia, ib) != 60000) return false; if(div32(ia, ib) != 1) return false; if(mod32(ia, ib) != -100) return false; return true; } private boolean test64(){ long la, lb; la = 5000000000L; lb = 2000000000L; if(add64(la, lb) != 7000000000L) return false; if(sub64(la, lb) != 3000000000L) return false; //if(mul64(la, lb) != 10000000000000000000L) return false; if(mul64(la, lb) != -8446744073709551616L) return false; if(div64(la, lb) != 2) return false; if(mod64(la, lb) != 1000000000L) return false; la = 5000000000L; lb = -2000000000L; if(add64(la, lb) != 3000000000L) return false; if(sub64(la, lb) != 7000000000L) return false; //if(mul64(la, lb) != -10000000000000000000L) return false; if(mul64(la, lb) != 8446744073709551616L) return false; if(div64(la, lb) != -2) return false; if(mod64(la, lb) != 1000000000L) return false; la = -5000000000L; lb = 2000000000L; if(add64(la, lb) != -3000000000L) return false; if(sub64(la, lb) != -7000000000L) return false; //if(mul64(la, lb) != -10000000000000000000L) return false; if(mul64(la, lb) != 8446744073709551616L) return false; if(div64(la, lb) != -2) return false; if(mod64(la, lb) != -1000000000L) return false; la = -5000000000L; lb = -2000000000L; if(add64(la, lb) != -7000000000L) return false; if(sub64(la, lb) != -3000000000L) return false; //if(mul64(la, lb) != 10000000000000000000L) return false; if(mul64(la, lb) != -8446744073709551616L) return false; if(div64(la, lb) != 2) return false; if(mod64(la, lb) != -1000000000L) return false; return true; } public boolean test(){ if(test32() == false) return false; if(test64() == false) return false; return true; } @unsynthesizable public static void main(String... args){ Test_ArithInt obj = new Test_ArithInt(); System.out.println(obj.test()); } }