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/ModOperator.java

View differences:

ModOperator.java
19 19
    public Object call(Interpreter interpreter, Object op1, Object op2) {       
20 20
        int type = this.getType(op1, op2);
21 21
        if( (type & TYPE_DOUBLE) == TYPE_DOUBLE ) {
22
            double value = ((Number) op1).doubleValue() % ((Number) op2).doubleValue();
22
            double value = getDouble(op1,1) % getDouble(op2,2);
23 23
            return value;
24 24
        }
25 25
        if( (type & TYPE_FLOAT) == TYPE_FLOAT ) {
26
            double value = ((Number) op1).floatValue() % ((Number) op2).floatValue();
26
            double value = getFloat(op1,1) % getFloat(op2,2);
27 27
            return value;
28 28
        }
29 29
        if( (type & TYPE_LONG) == TYPE_LONG ) {
30
            long value = ((Number) op1).longValue() % ((Number) op2).longValue();
30
            long value = getLong(op1,1) % getLong(op2,2);
31 31
            return value;
32 32
        }
33 33
        if( (type & TYPE_INT) == TYPE_INT ) {
34
            int value = ((Number) op1).intValue() % ((Number) op2).intValue();
34
            int value = getInt(op1,1) % getInt(op2,2);
35 35
            return value;
36 36
        }
37 37
        throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand.");

Also available in: Unified diff