39 40 import com.sun.tools.corba.se.idl.Util; 41 import java.math.BigInteger; 42 43 public class NotEqual extends BinaryExpr 44 { 45 protected NotEqual (Expression leftOperand, Expression rightOperand) 46 { 47 super ("!=", leftOperand, rightOperand); 48 } // ctor 49 50 public Object evaluate () throws EvaluationException 51 { 52 try 53 { 54 Object left = left ().evaluate (); 55 if (left instanceof Boolean) 56 { 57 Boolean l = (Boolean)left; 58 Boolean r = (Boolean)right ().evaluate (); 59 value (new Boolean (l.booleanValue () != r.booleanValue())); 60 } 61 else 62 { 63 Number l = (Number)left; 64 Number r = (Number)right ().evaluate (); 65 66 if (l instanceof Float || l instanceof Double || r instanceof Float || r instanceof Double) 67 value (new Boolean (l.doubleValue () != r.doubleValue ())); 68 else 69 //daz value (new Boolean (l.longValue () != r.longValue ())); 70 value (new Boolean (!((BigInteger)l).equals ((BigInteger)r))); 71 } 72 } 73 catch (ClassCastException e) 74 { 75 String[] parameters = {Util.getMessage ("EvaluationException.notEqual"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()}; 76 throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters)); 77 } 78 return value (); 79 } // evaluate 80 } // class NotEqual | 39 40 import com.sun.tools.corba.se.idl.Util; 41 import java.math.BigInteger; 42 43 public class NotEqual extends BinaryExpr 44 { 45 protected NotEqual (Expression leftOperand, Expression rightOperand) 46 { 47 super ("!=", leftOperand, rightOperand); 48 } // ctor 49 50 public Object evaluate () throws EvaluationException 51 { 52 try 53 { 54 Object left = left ().evaluate (); 55 if (left instanceof Boolean) 56 { 57 Boolean l = (Boolean)left; 58 Boolean r = (Boolean)right ().evaluate (); 59 value (Boolean.valueOf (l.booleanValue () != r.booleanValue())); 60 } 61 else 62 { 63 Number l = (Number)left; 64 Number r = (Number)right ().evaluate (); 65 66 if (l instanceof Float || l instanceof Double || r instanceof Float || r instanceof Double) 67 value (Boolean.valueOf (l.doubleValue () != r.doubleValue ())); 68 else 69 //daz value (new Boolean (l.longValue () != r.longValue ())); 70 value (Boolean.valueOf (!((BigInteger)l).equals ((BigInteger)r))); 71 } 72 } 73 catch (ClassCastException e) 74 { 75 String[] parameters = {Util.getMessage ("EvaluationException.notEqual"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()}; 76 throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters)); 77 } 78 return value (); 79 } // evaluate 80 } // class NotEqual |