Package org.formulacompiler.compiler.internal.model.interpreter

Source Code of org.formulacompiler.compiler.internal.model.interpreter.InterpretedScaledBigDecimalType_Generated

/**
* DO NOT MODIFY! This file is generated automatically from org.formulacompiler.compiler.internal.templates.ExpressionTemplatesForScaledBigDecimals.
* Generated using jdk-1.5.0_22.
*/
package org.formulacompiler.compiler.internal.model.interpreter;

import org.formulacompiler.runtime.ComputationMode;
import org.formulacompiler.compiler.CompilerException;
import org.formulacompiler.compiler.Function;
import org.formulacompiler.compiler.NumericType;
import org.formulacompiler.compiler.Operator;
import org.formulacompiler.compiler.internal.expressions.ExpressionNode;
import org.formulacompiler.compiler.internal.expressions.ExpressionNodeForFunction;
import org.formulacompiler.compiler.internal.templates.ExpressionTemplatesForScaledBigDecimals;
import org.formulacompiler.runtime.internal.Environment;


@SuppressWarnings("unused")
abstract class InterpretedScaledBigDecimalType_Generated extends InterpretedScaledBigDecimalType_Base
{
  private final ExpressionTemplatesForScaledBigDecimals template;

  public InterpretedScaledBigDecimalType_Generated( NumericType _type, ComputationMode _mode, Environment _env ) {
    super( _type, _mode, _env );
    this.template = new ExpressionTemplatesForScaledBigDecimals( _type.scale(), _type.roundingMode(), _mode, _env );
  }

  @Override
  public Object compute( Operator _operator, Object... _args ) throws InterpreterException
  {
    final ExpressionTemplatesForScaledBigDecimals t = this.template;
    final int c = _args.length;
    if (1 == c) {
      switch (_operator) {
        case PERCENT:
          return adjustReturnedValue( t.op_PERCENT( to_BigDecimal( _args[ 0 ] ) ) );
        case MINUS:
          return t.op_MINUS( to_BigDecimal( _args[ 0 ] ) );
      }
    }
    else if (2 == c) {
      switch (_operator) {
        case PLUS:
          return t.op_PLUS( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
        case MINUS:
          return t.op_MINUS( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
        case TIMES:
          return adjustReturnedValue( t.op_TIMES( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        case DIV:
          if (needsValueAdjustment()) {
            return t.op_DIV__if_needsValueAdjustment( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
          }
          return t.op_DIV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
        case EXP:
          return adjustReturnedValue( t.op_EXP( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        case INTERNAL_MIN:
          return t.op_INTERNAL_MIN( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
        case INTERNAL_MAX:
          return t.op_INTERNAL_MAX( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) );
      }
    }
    return super.compute( _operator, _args );
  }

  @Override
  public Object compute( Function _function, Object... _args ) throws InterpreterException
  {
    final ExpressionTemplatesForScaledBigDecimals t = this.template;
    final int c = _args.length;
    switch (_function) {
      case DEGREES:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_DEGREES( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case RADIANS:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_RADIANS( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case CEILING:
        if (2 == c && ComputationMode.EXCEL == getComputationMode() ) {
          return adjustReturnedValue( t.fun_CEILING__for_EXCEL( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
        if (2 == c && ComputationMode.OPEN_OFFICE_CALC == getComputationMode() ) {
          return adjustReturnedValue( t.fun_CEILING__for_OPEN_OFFICE_CALC( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case FLOOR:
        if (2 == c && ComputationMode.EXCEL == getComputationMode() ) {
          return adjustReturnedValue( t.fun_FLOOR__for_EXCEL( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
        if (2 == c && ComputationMode.OPEN_OFFICE_CALC == getComputationMode() ) {
          return adjustReturnedValue( t.fun_FLOOR__for_OPEN_OFFICE_CALC( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case POWER:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_POWER( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case SQRT:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_SQRT( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case FACT:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_FACT( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case IRR:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_IRR( to_array( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case DB:
        if (5 == c ) {
          return adjustReturnedValue( t.fun_DB( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ), to_BigDecimal( _args[ 4 ] ) ) );
        }
        if (4 == c ) {
          return adjustReturnedValue( t.fun_DB( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case DDB:
        if (5 == c ) {
          return adjustReturnedValue( t.fun_DDB( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ), to_BigDecimal( _args[ 4 ] ) ) );
        }
        if (4 == c ) {
          return adjustReturnedValue( t.fun_DDB( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case VDB:
        if (7 == c ) {
          return adjustReturnedValue( t.fun_VDB( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ), to_BigDecimal( _args[ 4 ] ), to_BigDecimal( _args[ 5 ] ), to_BigDecimal( _args[ 6 ] ) ) );
        }
         break;
      case RATE:
        if (6 == c ) {
          return adjustReturnedValue( t.fun_RATE( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ), to_BigDecimal( _args[ 4 ] ), to_BigDecimal( _args[ 5 ] ) ) );
        }
        if (5 == c ) {
          return adjustReturnedValue( t.fun_RATE( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ), to_BigDecimal( _args[ 4 ] ) ) );
        }
        if (4 == c ) {
          return adjustReturnedValue( t.fun_RATE( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
        if (3 == c ) {
          return adjustReturnedValue( t.fun_RATE( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case TIME:
        if (3 == c && ComputationMode.EXCEL == getComputationMode() ) {
          return adjustReturnedValue( t.fun_TIME__for_EXCEL( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
        if (3 == c && ComputationMode.OPEN_OFFICE_CALC == getComputationMode() ) {
          return adjustReturnedValue( t.fun_TIME__for_OPEN_OFFICE_CALC( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case ABS:
        if (1 == c ) {
          return t.fun_ABS( to_BigDecimal( _args[ 0 ] ) );
        }
         break;
      case ACOS:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ACOS( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ACOSH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ACOSH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ASIN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ASIN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ASINH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ASINH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ATAN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ATAN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ATANH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ATANH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ATAN2:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_ATAN2( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case COS:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_COS( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case COSH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_COSH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case SIN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_SIN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case SINH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_SINH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case SIGN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_SIGN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case TAN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_TAN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case TANH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_TANH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case PI:
        if (0 == c ) {
          return adjustReturnedValue( t.fun_PI() );
        }
         break;
      case RAND:
        if (0 == c ) {
          return adjustReturnedValue( t.fun_RAND() );
        }
         break;
      case ROUND:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_ROUND( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case ROUNDDOWN:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_ROUNDDOWN( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case ROUNDUP:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_ROUNDUP( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case TRUNC:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_TRUNC( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
        if (1 == c ) {
          return adjustReturnedValue( t.fun_TRUNC( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case EVEN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_EVEN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ODD:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ODD( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case INT:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_INT( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case EXP:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_EXP( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case LN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_LN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case LOG:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_LOG( to_BigDecimal( _args[ 0 ] ) ) );
        }
        if (2 == c ) {
          return adjustReturnedValue( t.fun_LOG( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case LOG10:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_LOG10( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ERF:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ERF( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case ERFC:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_ERFC( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case BETADIST:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_BETADIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case BETAINV:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_BETAINV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case BINOMDIST:
        if (4 == c ) {
          return adjustReturnedValue( t.fun_BINOMDIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case CHIDIST:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_CHIDIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case CHIINV:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_CHIINV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case CRITBINOM:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_CRITBINOM( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case FINV:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_FINV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case GAMMADIST:
        if (4 == c ) {
          return adjustReturnedValue( t.fun_GAMMADIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case GAMMAINV:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_GAMMAINV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case GAMMALN:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_GAMMALN( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case POISSON:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_POISSON( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case TDIST:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_TDIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
        if (4 == c ) {
          return adjustReturnedValue( t.fun_TDIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case TINV:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_TINV( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case MOD:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_MOD( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
         break;
      case WEIBULL:
        if (4 == c ) {
          return adjustReturnedValue( t.fun_WEIBULL( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case MDETERM:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_MDETERM( to_array( _args[ 0 ] ), to_int( _args[ 1 ] ) ) );
        }
         break;
      case DATE:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_DATE( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case SECOND:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_SECOND( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case MINUTE:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_MINUTE( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case HOUR:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_HOUR( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case HYPGEOMDIST:
        if (4 == c ) {
          return adjustReturnedValue( t.fun_HYPGEOMDIST( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ), to_BigDecimal( _args[ 3 ] ) ) );
        }
         break;
      case WEEKDAY:
        if (2 == c ) {
          return adjustReturnedValue( t.fun_WEEKDAY( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ) ) );
        }
        if (1 == c ) {
          return adjustReturnedValue( t.fun_WEEKDAY( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case DAY:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_DAY( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case DAYS360:
        if (3 == c ) {
          return adjustReturnedValue( t.fun_DAYS360( to_BigDecimal( _args[ 0 ] ), to_BigDecimal( _args[ 1 ] ), to_BigDecimal( _args[ 2 ] ) ) );
        }
         break;
      case MONTH:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_MONTH( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case YEAR:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_YEAR( to_BigDecimal( _args[ 0 ] ) ) );
        }
         break;
      case NOW:
        if (0 == c ) {
          return adjustReturnedValue( t.fun_NOW() );
        }
         break;
      case TODAY:
        if (0 == c ) {
          return adjustReturnedValue( t.fun_TODAY() );
        }
         break;
      case VALUE:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_VALUE( to_String( _args[ 0 ] ) ) );
        }
         break;
      case DATEVALUE:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_DATEVALUE( to_String( _args[ 0 ] ) ) );
        }
         break;
      case TIMEVALUE:
        if (1 == c ) {
          return adjustReturnedValue( t.fun_TIMEVALUE( to_String( _args[ 0 ] ) ) );
        }
         break;
    }
    return super.compute( _function, _args );
  }

}
TOP

Related Classes of org.formulacompiler.compiler.internal.model.interpreter.InterpretedScaledBigDecimalType_Generated

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.