Package org.destecs.core.simulationengine.script.values

Examples of org.destecs.core.simulationengine.script.values.DoubleValue


  }

  @Override
  public Value caseASystemTimeSingleExp(ASystemTimeSingleExp node)
  {
    return new DoubleValue(interpreter.getSystemTime());
  }
View Full Code Here


  }

  @Override
  public Value caseANumericalSingleExp(ANumericalSingleExp node)
  {
    return new DoubleValue(node.getValue());
  }
View Full Code Here

      }
        break;
      case DIV:
        if (left instanceof DoubleValue)
        {
          return new DoubleValue(new Double(((DoubleValue) left).value
              / ((DoubleValue) right).value).intValue());
        }
      case DIVIDE:
      {
        if (left instanceof DoubleValue)
        {
          return new DoubleValue(((DoubleValue) left).value
              / ((DoubleValue) right).value);
        }
      }
        break;
      case EQUAL:
      case EQUIV:
      {
        if (left instanceof DoubleValue)
        {
          return new BooleanValue(((DoubleValue) left).value == ((DoubleValue) right).value);
        } else if (left instanceof BooleanValue)
        {
          return new BooleanValue(((BooleanValue) left).value == ((BooleanValue) right).value);
        }
      }
     
       
      case IMPLIES:
      {
        if (left instanceof BooleanValue)
        {
          if (((BooleanValue) left).value)
          {
            return right;
          } else
          {
            return new BooleanValue(true);
          }
        }
      }
        break;
      case LESSEQUAL:
      {
        if (left instanceof DoubleValue)
        {
          return new BooleanValue(((DoubleValue) left).value <= ((DoubleValue) right).value);
        }
      }
        break;
      case LESSTHAN:
      {
        if (left instanceof DoubleValue)
        {
          return new BooleanValue(((DoubleValue) left).value < ((DoubleValue) right).value);
        }
      }
        break;
      case MINUS:
      {
        if (left instanceof DoubleValue)
        {
          return new DoubleValue(((DoubleValue) left).value
              - ((DoubleValue) right).value);
        }
      }
        break;
      case MOD:
      {
        if (left instanceof DoubleValue)
        {
          double lv = ((DoubleValue) left).value;
          double rv = ((DoubleValue) right).value;

          return new DoubleValue(lv - rv * (long) Math.floor(lv / rv));
        }
      }
        break;
      case GREATEREQUAL:
      {
        if (left instanceof DoubleValue)
        {
          return new BooleanValue(((DoubleValue) left).value >= ((DoubleValue) right).value);
        }
      }
        break;
      case GREATERTHAN:
      {
        if (left instanceof DoubleValue)
        {
          return new BooleanValue(((DoubleValue) left).value > ((DoubleValue) right).value);
        }
      }
        break;
      case MULTIPLY:
      {
        if (left instanceof DoubleValue)
        {
          return new DoubleValue(((DoubleValue) left).value
              * ((DoubleValue) right).value);
        }
      }
        break;
      case OR:
      {
        if (left instanceof BooleanValue)
        {
          return new BooleanValue(((BooleanValue) left).value
              || ((BooleanValue) right).value);
        }
      }
        break;
      case PLUS:
      {
        if (left instanceof DoubleValue)
        {
          return new DoubleValue(((DoubleValue) left).value
              + ((DoubleValue) right).value);
        }
      }
        break;

View Full Code Here

    switch (node.getOperator().kindPUnop())
    {
      case ABS:
        if (val instanceof DoubleValue)
        {
          return new DoubleValue(Math.abs(((DoubleValue) val).value));
        }
        break;
      case ADD:
        if (val instanceof DoubleValue)
        {
          return val;//Assume this just means +5.0 as in 5.0
        }
        break;
      case CEIL:
        if (val instanceof DoubleValue)
        {
          return new DoubleValue(Math.ceil(((DoubleValue) val).value));
        }
        break;
      case FLOOR:
        if (val instanceof DoubleValue)
        {
          return new DoubleValue(Math.floor(((DoubleValue) val).value));
        }
        break;
      case MINUS:
        if (val instanceof DoubleValue)
        {
          return new DoubleValue(0 - ((DoubleValue) val).value);
        }
        break;

    }
    interpreter.scriptError("Failed to evaluate binary expression: " + node);
View Full Code Here

TOP

Related Classes of org.destecs.core.simulationengine.script.values.DoubleValue

Copyright © 2018 www.massapicom. 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.