public boolean matches(ValueEval x) {double testValue;if(x instanceof StringEval) {switch (getCode()) {case CmpOp.EQ:case CmpOp.NONE:break;case CmpOp.NE:return true;default:return false;}StringEval se = (StringEval)x;Double val = OperandResolver.parseDouble(se.getStringValue());if(val == null) {return false;}return _value == val.doubleValue();} else if((x instanceof NumberEval)) {NumberEval ne = (NumberEval) x;testValue = ne.getNumberValue();} else if((x instanceof BlankEval)) {switch (getCode()) {case CmpOp.NE:return true;default:return false;}} else {return false;}return evaluate(Double.compare(testValue, _value));}

public boolean matches ( ValueEval x ) { double testValue ; if ( x instanceof StringEval ) { switch ( getCode ( ) ) { case CmpOp . EQ : case CmpOp . NONE : break ; case CmpOp . NE : return true ; default : return false ; } StringEval se = ( StringEval ) x ; Double val = OperandResolver . parseDouble ( se . getStringValue ( ) ) ; if ( val == null ) { return false ; } return _value == val . doubleValue ( ) ; } else if ( ( x instanceof NumberEval ) ) { NumberEval ne = ( NumberEval ) x ; testValue = ne . getNumberValue ( ) ; } else if ( ( x instanceof BlankEval ) ) { switch ( getCode ( ) ) { case CmpOp . NE : return true ; default : return false ; } } else { return false ; } return evaluate ( Double . compare ( testValue , _value ) ) ; }
public override bool Matches(ValueEval x){double testValue;if (x is StringEval){switch (Code){case CmpOp.EQ:case CmpOp.NONE:break;case CmpOp.NE:return true;default:return false;}StringEval se = (StringEval)x;Double val = OperandResolver.ParseDouble(se.StringValue);if (double.IsNaN(val)){return false;}return _value == val;}else if ((x is NumberEval)){NumberEval ne = (NumberEval)x;testValue = ne.NumberValue;}else if ((x is BlankEval)){switch (Code){case CmpOp.NE:return true;default:return false;}}else{return false;}return Evaluate(testValue.CompareTo(_value));}
