Package ai.domain.interval

Examples of ai.domain.interval.Interval


    new Interval(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY);
  }

  @Test
  public void testJoin() {
    Interval join = new Interval(1,2).join(new Interval(4,6));
    org.junit.Assert.assertEquals(join.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(join.getRight(), 6, 0);
   
    join = new Interval(4,6).join(new Interval(1,2));
    org.junit.Assert.assertEquals(join.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(join.getRight(), 6, 0);
   
    join = new Interval(1,2).join(Interval.BOTTOM);
    org.junit.Assert.assertEquals(join.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(join.getRight(), 2, 0);

    join = Interval.BOTTOM.join(new Interval(1,2));
    org.junit.Assert.assertEquals(join.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(join.getRight(), 2, 0);
 
    join = Interval.BOTTOM.join(Interval.BOTTOM);
    org.junit.Assert.assertEquals(join, Interval.BOTTOM);

    join = new Interval(1,2).join(new Interval(Double.NEGATIVE_INFINITY, 10));
    org.junit.Assert.assertEquals(join.getLeft(), Double.NEGATIVE_INFINITY, 0);
    org.junit.Assert.assertEquals(join.getRight(), 10, 0);

    join = new Interval(1,2).join(new Interval(10, Double.POSITIVE_INFINITY));
    org.junit.Assert.assertEquals(join.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(join.getRight(), Double.POSITIVE_INFINITY, 0);
  }
View Full Code Here


    org.junit.Assert.assertEquals(join.getRight(), Double.POSITIVE_INFINITY, 0);
  }

  @Test
  public void testMeet() {
    Interval meet = new Interval(1,2).meet(new Interval(2, 5));
    org.junit.Assert.assertEquals(meet.getLeft(), 2, 0);
    org.junit.Assert.assertEquals(meet.getRight(), 2, 0);

    meet = new Interval(1,2).meet(new Interval(Double.NEGATIVE_INFINITY, 5));
    org.junit.Assert.assertEquals(meet.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(meet.getRight(), 2, 0);

    meet = new Interval(1,2).meet(new Interval(3, 5));
    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);
   
    //bottom
    meet = Interval.BOTTOM.meet(Interval.BOTTOM);
    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);

    meet = Interval.BOTTOM.meet(new Interval(1,10));
    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);

    meet = Interval.BOTTOM.meet(new Interval(Double.NEGATIVE_INFINITY,10));
    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);

    meet = Interval.BOTTOM.meet(new Interval(Double.NEGATIVE_INFINITY,Double.POSITIVE_INFINITY));
    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);
  }
View Full Code Here

    org.junit.Assert.assertEquals(meet, Interval.BOTTOM);
  }

  @Test
  public void testWiden() {
    Interval widen = new Interval(1,2).widen(new Interval(1,2));
    org.junit.Assert.assertEquals(widen.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(widen.getRight(), 2, 0);

    widen = new Interval(1,5).widen(new Interval(1,3));
    org.junit.Assert.assertEquals(widen.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(widen.getRight(), 5, 0);

    widen = new Interval(0,5).widen(new Interval(1,3));
    org.junit.Assert.assertEquals(widen.getLeft(), 0, 0);
    org.junit.Assert.assertEquals(widen.getRight(), 5, 0);

    widen = Interval.BOTTOM.widen(new Interval(1,3));
    org.junit.Assert.assertEquals(widen.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(widen.getRight(), 3, 0);

    widen = new Interval(1,3).widen(new Interval(1,5));
    org.junit.Assert.assertEquals(widen.getLeft(), 1, 0);
    org.junit.Assert.assertEquals(widen.getRight(), Double.POSITIVE_INFINITY, 0);

    widen = new Interval(1,3).widen(new Interval(0,2));
    org.junit.Assert.assertEquals(widen.getLeft(), Double.NEGATIVE_INFINITY, 0);
    org.junit.Assert.assertEquals(widen.getRight(), 3, 0);

    widen = new Interval(1,3).widen(new Interval(0,5));
    org.junit.Assert.assertEquals(widen.getLeft(), Double.NEGATIVE_INFINITY, 0);
    org.junit.Assert.assertEquals(widen.getRight(), Double.POSITIVE_INFINITY, 0);
  }
View Full Code Here

    getSurroundingBoxHelper(boxes.data, 0, restrictions);
    NonRelationalDomain<Interval> result = NonRelationalDomain.getInitialValue();
    for(int i=0; i< boxes.variables.size(); i++) {
      Pair<Double, Double> r = restrictions.get(i);
      result = result.addNewVariable(boxes.variables.get(i),
          new Interval(r.left, r.right-1), false);
    }
    return result;
  }
View Full Code Here

   
    private void process(List<NonRelationalDomain<Interval>> result,
        double start, double end, int varIdx, ArrayList<SequencePair> subData) {
      Variable currentVar = variables.get(varIdx);
      for(NonRelationalDomain<Interval> smaller: apply(subData, varIdx+1))
        result.add(smaller.addNewVariable(currentVar, new Interval(start, end), false));
    }
View Full Code Here

    for (Variable var : bools.getVariables())
      bools = bools.updateVariable(var, Bool.TOP);
    // process intervals
    NonRelationalDomain<Interval> intv = input.getRight();
    for (Variable var : intv.getVariables())
      intv = intv.updateVariable(var, new Interval(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY));
    return ProductDomain.create(bools, intv);
  }
View Full Code Here

        return input.setRight(EvaluationUtils.updateValueOfVariable(input.getRight(), var, value));
    }

    @Override
    public Interval getConstantValue(long value) {
      return new Interval(value, value);
    }
View Full Code Here

public class BoxesDomainTests {
  private NonRelationalDomain<Interval> prepareBox(IntervalValue... data) {
    int idx = 0;
    NonRelationalDomain<Interval> res = NonRelationalDomain.getInitialValue();
    for (IntervalValue val : data) {
      res = res.addNewVariable(new DummyVariable("TestVariable " + idx, idx++), new Interval(val), false);
    }
    return res;
  }
View Full Code Here

    @Override
    public Pair<Interval, ProductDomain<NonRelationalDomain<Bool>, NonRelationalDomain<Interval>>> newIntegerVariable(
        Pair<Interval, ProductDomain<NonRelationalDomain<Bool>, NonRelationalDomain<Interval>>> input,
        Variable variable, boolean isArgument) {
      ProductDomain<NonRelationalDomain<Bool>, NonRelationalDomain<Interval>> output = input.right;
      Interval value = input.left;
      if (value == null)
        value = Interval.TOP;
      return Pair.create(value, output.setRight(output.getRight().addNewVariable(variable, value, isArgument)));
    }
View Full Code Here

    @Override
    public Pair<Interval, ProductDomain<NonRelationalDomain<Bool>, NonRelationalDomain<Interval>>> processIntegerNode(
        Pair<Interval, ProductDomain<NonRelationalDomain<Bool>, NonRelationalDomain<Interval>>> input,
        FieldAccess node) {
      IntervalValue value = EvaluationUtils.tryGetIntervalValue(node);
      return Pair.create(value != null ? new Interval(value) : Interval.TOP, input.right);
    }
View Full Code Here

TOP

Related Classes of ai.domain.interval.Interval

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.