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

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


  {
    Value left = node.getLeft().apply(this);
    Value right = node.getRight().apply(this);
    if (left.getClass() != right.getClass())
    {
      return new BooleanValue(false);
    }

    switch (node.getOperator().kindPBinop())
    {
      case AND:
      {
        if (left instanceof BooleanValue)
        {
          return new BooleanValue(((BooleanValue) left).value
              && ((BooleanValue) right).value);
        }
      }
        break;
      case DIFFERENT:
      {
        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);
        }
      }
        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;

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


        }
        break;

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

 
  @Override
  public Value caseABoolSingleExp(ABoolSingleExp node)
  {
    return new BooleanValue(node.getValue());
  }
View Full Code Here

TOP

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

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.