Revision 44855 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/operator/NeOperator.java

View differences:

NeOperator.java
27 27
        }
28 28
        int type = this.getType(op1, op2);
29 29
        if( (type & TYPE_DOUBLE) == TYPE_DOUBLE ) {
30
            boolean value = MathUtils.compareTo(
31
                ((Number) op1).doubleValue(), 
32
                ((Number) op2).doubleValue(),
33
                interpreter.getAccuracy()==null? MathUtils.EPSILON:interpreter.getAccuracy()
34
            ) != 0;
30
            double accuracy = MathUtils.EPSILON;
31
            if( interpreter.getAccuracy()!=null ) {
32
              accuracy = interpreter.getAccuracy();
33
            }
34
            boolean value = MathUtils.compareTo(getDouble(op1, 1),getDouble(op2, 2),accuracy) != 0;
35 35
            return value;
36 36
        }
37 37
        if( (type & TYPE_FLOAT) == TYPE_FLOAT ) {
38
            boolean value = MathUtils.compareTo(
39
                ((Number) op1).floatValue(), 
40
                ((Number) op2).floatValue(),
41
                interpreter.getAccuracy()==null? MathUtils.EPSILON:interpreter.getAccuracy()
42
            ) != 0;
38
            double accuracy = MathUtils.EPSILON;
39
            if( interpreter.getAccuracy()!=null ) {
40
              accuracy = interpreter.getAccuracy();
41
            }
42
            boolean value = MathUtils.compareTo(getFloat(op1, 1),getFloat(op2, 2),accuracy) != 0;
43 43
            return value;
44 44
        }
45 45
        if( (type & TYPE_LONG) == TYPE_LONG ) {
46
            boolean value = Long.compare(
47
                ((Number) op1).longValue(), 
48
                ((Number) op2).longValue()
49
            ) != 0;
46
            boolean value = Long.compare(getLong(op1, 1),getLong(op2, 2)) != 0;
50 47
            return value;
51 48
        }
52 49
        if( (type & TYPE_INT) == TYPE_INT ) {
53
            boolean value = Integer.compare(
54
                ((Number) op1).intValue(), 
55
                ((Number) op2).intValue()
56
            ) != 0;
50
            boolean value = Integer.compare(getInt(op1, 1),getInt(op2, 2)) != 0;
57 51
            return value;
58 52
        }
59 53
        if( op2 instanceof Comparable && op2 instanceof Comparable ) {
60
            // boolean value = ObjectUtils.compare((Comparable)op1,(Comparable)op2) != 0;
61
            boolean value =   ((Comparable)op1).compareTo((Comparable)op2) != 0;
54
            boolean value =   getComparable(op1,1).compareTo(getComparable(op2,2)) != 0;
62 55
            return value;
63 56
        }
64 57
        throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand.");

Also available in: Unified diff