public Number evaluate( final Number number1, final Number number2 ) throws EvaluationException { final BigDecimal bd1 = NumberUtil.getAsBigDecimal( number1 ); final BigDecimal bd2 = NumberUtil.getAsBigDecimal( number2 ); return NumberUtil.divide( bd1, bd2 ); }
public Number evaluate(final Number number1, final Number number2) throws EvaluationException { final BigDecimal bd1 = NumberUtil.getAsBigDecimal(number1); final BigDecimal bd2 = NumberUtil.getAsBigDecimal(number2); return NumberUtil.divide(bd1, bd2); }
public TypeValuePair evaluate( final FormulaContext context, final ParameterCallback parameters ) throws EvaluationException { final TypeValuePair sum = sumFunction.evaluate( context, parameters ); final Number n = context.getTypeRegistry().convertToNumber( sum.getType(), sum.getValue() ); if ( n == null ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE ); } final BigDecimal divident = NumberUtil.getAsBigDecimal( n ); final BigDecimal divisor = new BigDecimal( parameters.getParameterCount() ); final BigDecimal avg = NumberUtil.divide( divident, divisor ); return new TypeValuePair( NumberType.GENERIC_NUMBER, avg ); } }
public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { final TypeValuePair sum = sumFunction.evaluate(context, parameters); final Number n = context.getTypeRegistry().convertToNumber(sum.getType(), sum.getValue()); if (n == null) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE); } final BigDecimal divident = NumberUtil.getAsBigDecimal(n); final BigDecimal divisor = new BigDecimal(parameters.getParameterCount()); final BigDecimal avg = NumberUtil.divide(divident, divisor); return new TypeValuePair(NumberType.GENERIC_NUMBER, avg); } }
public TypeValuePair evaluate( final FormulaContext context, final TypeValuePair value1 ) throws EvaluationException { final Object rawValue = value1.getValue(); if ( rawValue == null ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_NA_VALUE ); } final Type type = value1.getType(); final TypeRegistry typeRegistry = context.getTypeRegistry(); if ( type.isFlagSet( Type.NUMERIC_TYPE ) == false && type.isFlagSet( Type.ANY_TYPE ) == false ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE ); } // return the same as zero minus value. final Number number = typeRegistry.convertToNumber( type, rawValue ); final BigDecimal value = NumberUtil.getAsBigDecimal( number ); final BigDecimal percentage = NumberUtil.divide( value, HUNDRED ); return new TypeValuePair( NumberType.GENERIC_NUMBER, percentage ); }
public TypeValuePair evaluate(final FormulaContext context, final TypeValuePair value1) throws EvaluationException { final Object rawValue = value1.getValue(); if (rawValue == null) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_NA_VALUE); } final Type type = value1.getType(); final TypeRegistry typeRegistry = context.getTypeRegistry(); if (type.isFlagSet(Type.NUMERIC_TYPE) == false && type.isFlagSet(Type.ANY_TYPE) == false) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE); } // return the same as zero minus value. final Number number = typeRegistry.convertToNumber(type, rawValue); final BigDecimal value = NumberUtil.getAsBigDecimal(number); final BigDecimal percentage = NumberUtil.divide(value, HUNDRED); return new TypeValuePair(NumberType.GENERIC_NUMBER, percentage); }