/* This file is part of JOP, the Java Optimized Processor see <http://www.jopdesign.com/> Copyright (C) 2007, Alberto Andreotti This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package jvm; public class Logic2 extends TestCase { public String toString() { return "Logic2"; } public boolean test() { boolean Ok=true; int number1,number2; number1=-32767; number2=32767; //check ineg Ok=Ok && number1==-number2; //check the negation of the maximum negative number number1=-2147483648; number1=-number1; Ok=Ok && number1==-2147483648; //check ior number1=0x56565656; number2=0x65656565; Ok=Ok && 0x77777777==(number1|number2); //check irem number1=38485; number2=324; Ok=Ok && number1==(number1/number2)*number2 + number1%number2; number1=-2147483648; number2=-1; Ok=Ok && number1==(number1/number2)*number2 + number1%number2; //used to check for the throw of ArithmeticException /*number1=38485; number2=0; number1= number1%number2;*/ //check isub, cause an overflow number1=-2047483648; number2=2047483648; number1=number1-number2; //check ixor number1=0x55555555; number2=0x66666666; Ok=Ok && 0x33333333==(number1^number2); //check iand number1=0x55555555; number2=0x66666666; Ok=Ok && 0x44444444==(number1&number2); return Ok; } }