private BigDecimal compute( final Number value, final BigDecimal computedResult ) { if ( value == null ) { // no-op .. return computedResult; } return computedResult.add( NumberUtil.getAsBigDecimal( value ) ); } }
private BigDecimal compute(final Number value, final BigDecimal computedResult) { if (value == null) { // no-op .. return computedResult; } return computedResult.add(NumberUtil.getAsBigDecimal(value)); } }
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 ) { if ( ( number1 instanceof Integer || number1 instanceof Short ) && ( number2 instanceof Integer || number2 instanceof Short ) ) { return new BigDecimal( number1.longValue() + number2.longValue() ); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal( number1 ); final BigDecimal bd2 = NumberUtil.getAsBigDecimal( number2 ); return bd1.add( bd2 ); }
protected Number evaluate( final Number number1, final Number number2 ) throws EvaluationException { if ( ( number1 instanceof Integer || number1 instanceof Short ) && ( number2 instanceof Integer || number2 instanceof Short ) ) { return new BigDecimal( number1.longValue() - number2.longValue() ); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal( number1 ); final BigDecimal bd2 = NumberUtil.getAsBigDecimal( number2 ); return bd1.subtract( bd2 ); }
public Number evaluate(final Number number1, final Number number2) { if ((number1 instanceof Integer || number1 instanceof Short) && (number2 instanceof Integer || number2 instanceof Short)) { return new BigDecimal (number1.longValue() + number2.longValue()); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal(number1); final BigDecimal bd2 = NumberUtil.getAsBigDecimal(number2); return bd1.add(bd2); }
protected Number evaluate( final Number number1, final Number number2 ) throws EvaluationException { if ( ( number1 instanceof Integer || number1 instanceof Short ) && ( number2 instanceof Integer || number2 instanceof Short ) ) { // this is still safe .. return new BigDecimal( number1.longValue() * number2.longValue() ); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal( number1 ); final BigDecimal bd2 = NumberUtil.getAsBigDecimal( number2 ); return bd1.multiply( bd2 ); }
protected Number evaluate(final Number number1, final Number number2) throws EvaluationException { if ((number1 instanceof Integer || number1 instanceof Short) && (number2 instanceof Integer || number2 instanceof Short)) { // this is still safe .. return new BigDecimal(number1.longValue() * number2.longValue()); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal(number1); final BigDecimal bd2 = NumberUtil.getAsBigDecimal(number2); return bd1.multiply(bd2); }
protected Number evaluate(final Number number1, final Number number2) throws EvaluationException { if ((number1 instanceof Integer || number1 instanceof Short) && (number2 instanceof Integer || number2 instanceof Short)) { return new BigDecimal (number1.longValue() - number2.longValue()); } final BigDecimal bd1 = NumberUtil.getAsBigDecimal(number1); final BigDecimal bd2 = NumberUtil.getAsBigDecimal(number2); return bd1.subtract(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); }
protected long computeDays( final ParameterCallback parameters, final TypeRegistry typeRegistry ) throws EvaluationException { final Number date1 = typeRegistry.convertToNumber( parameters.getType( 0 ), parameters.getValue( 0 ) ); final Number date2 = typeRegistry.convertToNumber( parameters.getType( 1 ), parameters.getValue( 1 ) ); final BigDecimal dn1 = NumberUtil.performIntRounding( NumberUtil.getAsBigDecimal( date1 ) ); final BigDecimal dn2 = NumberUtil.performIntRounding( NumberUtil.getAsBigDecimal( date2 ) ); return dn2.longValue() - dn1.longValue(); }
public TypeValuePair evaluate( final FormulaContext context, final ParameterCallback parameters ) throws EvaluationException { final int parameterCount = parameters.getParameterCount(); if ( parameterCount < 1 ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE ); } final Type type1 = parameters.getType( 0 ); final Object value1 = parameters.getValue( 0 ); final Number result = context.getTypeRegistry().convertToNumber( type1, value1 ); if ( result == null ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE ); } final BigDecimal num = NumberUtil.getAsBigDecimal( result ); return new TypeValuePair( NumberType.GENERIC_NUMBER, num.abs() ); }
public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { final int parameterCount = parameters.getParameterCount(); if (parameterCount < 1) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE); } final Type type1 = parameters.getType(0); final Object value1 = parameters.getValue(0); final Number result = context.getTypeRegistry().convertToNumber(type1, value1); if (result == null) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE); } final BigDecimal num = NumberUtil.getAsBigDecimal(result); return new TypeValuePair(NumberType.GENERIC_NUMBER, num.abs()); }
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 ParameterCallback parameters ) throws EvaluationException { final int parameterCount = parameters.getParameterCount(); if ( parameterCount < 1 ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE ); } final Type type1 = parameters.getType( 0 ); final Object value1 = parameters.getValue( 0 ); final Number result = context.getTypeRegistry().convertToNumber( type1, value1 ); if ( result == null ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE ); } final BigDecimal num = NumberUtil.getAsBigDecimal( result ); return new TypeValuePair( NumberType.GENERIC_NUMBER, num ); }
public TypeValuePair evaluate( final FormulaContext context, final ParameterCallback parameters ) throws EvaluationException { if ( parameters.getParameterCount() != 1 ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE ); } final Type type1 = parameters.getType( 0 ); final Object value1 = parameters.getValue( 0 ); final Number result = context.getTypeRegistry().convertToNumber( type1, value1 ); if ( result == null ) { throw EvaluationException.getInstance( LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE ); } final Number ret = NumberUtil.performIntRounding( NumberUtil.getAsBigDecimal( result ) ); return new TypeValuePair( NumberType.GENERIC_NUMBER, ret ); }
public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { final int parameterCount = parameters.getParameterCount(); if (parameterCount < 1) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE); } final Type type1 = parameters.getType(0); final Object value1 = parameters.getValue(0); final Number result = context.getTypeRegistry().convertToNumber(type1, value1); if (result == null) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE); } final BigDecimal num = NumberUtil.getAsBigDecimal(result); return new TypeValuePair(NumberType.GENERIC_NUMBER, num); }
public Date convertToDate( final Type type1, final Object value ) throws EvaluationException { if ( type1.isFlagSet( Type.NUMERIC_TYPE ) || type1.isFlagSet( Type.ANY_TYPE ) ) { if ( type1.isFlagSet( Type.DATE_TYPE ) || type1.isFlagSet( Type.DATETIME_TYPE ) || type1.isFlagSet( Type.TIME_TYPE ) || type1.isFlagSet( Type.ANY_TYPE ) ) { if ( value instanceof Date ) { return DateUtil.normalizeDate( (Date) value, type1 ); } } } final Number serial = convertToNumber( type1, value ); final BigDecimal bd = NumberUtil.getAsBigDecimal( serial ); return HSSFDateUtil.getJavaDate( bd ); }
public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { if (parameters.getParameterCount() != 1) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE); } final Type type1 = parameters.getType(0); final Object value1 = parameters.getValue(0); final Number result = context.getTypeRegistry().convertToNumber(type1, value1); if (result == null) { throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE); } final Number ret = NumberUtil.performIntRounding(NumberUtil.getAsBigDecimal(result)); return new TypeValuePair(NumberType.GENERIC_NUMBER, ret); }