Package ai.domain.boxes

Examples of ai.domain.boxes.IntegerBoxes


    org.junit.Assert.assertEquals(oneDimensionalBox(new IntervalValue(1, 7)), wid);
  }

  @Test
  public void testTwoDimension01() {
    IntegerBoxes left = getSingleBoxAndVerify(new IntervalValue(0, 1), new IntervalValue(0, 1)).join(
        getSingleBoxAndVerify(new IntervalValue(3, 4), new IntervalValue(3, 4)));
    IntegerBoxes right = getSingleBoxAndVerify(new IntervalValue(0, 2), new IntervalValue(0, 2));
    IntegerBoxes wid = BoxesWideningOperator.computeWidening(left, right);
    org.junit.Assert.assertEquals(
        getSingleBoxAndVerify(new IntervalValue(0, 1), new IntervalValue(0, Double.POSITIVE_INFINITY)).join(
        getSingleBoxAndVerify(new IntervalValue(2,2), new IntervalValue(0,2))).join(
        getSingleBoxAndVerify(new IntervalValue(3,4), new IntervalValue(3,4))), wid);
  }
View Full Code Here


        getSingleBoxAndVerify(new IntervalValue(3,4), new IntervalValue(3,4))), wid);
  }

  @Test
  public void testTwoDimensionWithThresholds01() {
    IntegerBoxes left = getSingleBoxAndVerify(new IntervalValue(0, 1), new IntervalValue(0, 1)).join(
        getSingleBoxAndVerify(new IntervalValue(3, 4), new IntervalValue(3, 4)));
    IntegerBoxes right = getSingleBoxAndVerify(new IntervalValue(0, 2), new IntervalValue(0, 2));
    IntegerBoxes wid = BoxesWideningOperator.computeWidening(left, right, Arrays.asList(new Double(7)));
    org.junit.Assert.assertEquals(
        getSingleBoxAndVerify(new IntervalValue(0, 1), new IntervalValue(0, 6)).join(
        getSingleBoxAndVerify(new IntervalValue(2,2), new IntervalValue(0,2))).join(
        getSingleBoxAndVerify(new IntervalValue(3,4), new IntervalValue(3,4))), wid);
  }
View Full Code Here

        getSingleBoxAndVerify(new IntervalValue(3,4), new IntervalValue(3,4))), wid);
  }

  @Test
  public void testTwoDimensionWithThresholds02() {
    IntegerBoxes left = getSingleBoxAndVerify(new IntervalValue(0,10), new IntervalValue(0, 1));
    IntegerBoxes right = IntegerBoxesHelper.join(
        getSingleBoxAndVerify(new IntervalValue(0,2), new IntervalValue(0, 5)),
        getSingleBoxAndVerify(new IntervalValue(3,6), new IntervalValue(0, 1)),
        getSingleBoxAndVerify(new IntervalValue(7,8), new IntervalValue(0,2)),
        getSingleBoxAndVerify(new IntervalValue(9,10), new IntervalValue(0,1)));
    final ArrayList<Variable> variables = left.getVariables();
    IntegerBoxes wid = BoxesWideningOperator.computeWidening(left, right,
        new WideningStepThresholds() {
          @Override
          public Set<Double> getThresholds(Variable var) {
            List<Double> thresholds;
            if (var == variables.get(0))
              thresholds = Arrays.asList(2.0, 4.0, 6.0, 8.0, 10.0);
            else
              thresholds = Arrays.asList(5.0);
            return new HashSet<Double>(thresholds);
          }
        });
    IntegerBoxes result = IntegerBoxesHelper.join(
        getSingleBoxAndVerify(new IntervalValue(0,2), new IntervalValue(0, Double.POSITIVE_INFINITY)),
        getSingleBoxAndVerify(new IntervalValue(3,3), new IntervalValue(0, 4)),
        getSingleBoxAndVerify(new IntervalValue(4,5), new IntervalValue(0,1)),
        getSingleBoxAndVerify(new IntervalValue(6,9), new IntervalValue(0,4)),
        getSingleBoxAndVerify(new IntervalValue(9,10), new IntervalValue(0,1))
View Full Code Here

    org.junit.Assert.assertEquals(result, wid);
  }

  @Test
  public void testStrange0() {
    IntegerBoxes left = getSingleBoxAndVerify(
        new IntervalValue(1, Double.POSITIVE_INFINITY),
        new IntervalValue(2, Double.POSITIVE_INFINITY),
        new IntervalValue(2, Double.POSITIVE_INFINITY),
        new IntervalValue(2, 2),
        new IntervalValue(-1, -1)
        );
    IntegerBoxes right = IntegerBoxesHelper.join(
        getSingleBoxAndVerify(
            new IntervalValue(1, Double.POSITIVE_INFINITY),
            new IntervalValue(2, Double.POSITIVE_INFINITY),
            new IntervalValue(2, Double.POSITIVE_INFINITY),
            new IntervalValue(2, 2),
            new IntervalValue(-1, -1),
            new IntervalValue(1, 1)
            ),
        getSingleBoxAndVerify(
        new IntervalValue(1, Double.POSITIVE_INFINITY),
        new IntervalValue(2, Double.POSITIVE_INFINITY),
        new IntervalValue(2, Double.POSITIVE_INFINITY),
        new IntervalValue(2, 2),
        new IntervalValue(-1, -1)
        ),
        getSingleBoxAndVerify(
            new IntervalValue(2, Double.POSITIVE_INFINITY),
            new IntervalValue(2, Double.POSITIVE_INFINITY),
            new IntervalValue(2, Double.POSITIVE_INFINITY),
            new IntervalValue(2, 2),
            new IntervalValue(-0.0, -0.0)
            )
        );

    IntegerBoxes result = left.widen(right);
    org.junit.Assert.assertTrue(left.leq(result));
    org.junit.Assert.assertTrue(right.leq(result));
  }
View Full Code Here

    org.junit.Assert.assertTrue(right.leq(result));
  }

  @Test
  public void testStrange1() {
    IntegerBoxes left = IntegerBoxesHelper.join(
        getSingleBoxNoVerify(
            new IntervalValue(0, 0),
            new IntervalValue(0, 0),
            new IntervalValue(Long.MAX_VALUE, Long.MAX_VALUE)),
        getSingleBoxNoVerify(
            new IntervalValue(1, Double.POSITIVE_INFINITY),
            new IntervalValue(0, Long.MAX_VALUE),
            new IntervalValue(Double.NEGATIVE_INFINITY, Long.MAX_VALUE)),
        getSingleBoxNoVerify(
            new IntervalValue(1, Double.POSITIVE_INFINITY),
            new IntervalValue(Long.MAX_VALUE, Double.POSITIVE_INFINITY),
            new IntervalValue(Long.MAX_VALUE, Long.MAX_VALUE))
        );
    IntegerBoxes right = IntegerBoxesHelper.join(
        getSingleBoxNoVerify(
            new IntervalValue(0, 0),
            new IntervalValue(0, 0),
            new IntervalValue(Long.MAX_VALUE, Long.MAX_VALUE)),
        getSingleBoxNoVerify(
View Full Code Here

TOP

Related Classes of ai.domain.boxes.IntegerBoxes

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.