Package ai.domain.interval

Examples of ai.domain.interval.IntervalValue


    Matcher matcher = NAME_VALUE_PATTERN_PREFIX.matcher(description);
    if (!matcher.matches())
      throw new CommentParserException("Invalid domain value '%s'", description);
    String variableName = matcher.group(1);
    String valueString = matcher.group(2);
    IntervalValue value = Utils.parseInterval(valueString);
    String descriptionSuffix = matcher.group(3).trim();
    return Pair.create(Pair.create(variableName, new Interval(value)), descriptionSuffix);
  }
View Full Code Here


    String beginStr = matcher.group(1).trim();   
    Double begin = beginStr.equals(INFTY_NEG) ? Double.NEGATIVE_INFINITY : parseNumber(beginStr, true);
   
    String endStr = matcher.group(2).trim();
    Double end = endStr.equals(INFTY) ? Double.POSITIVE_INFINITY : parseNumber(endStr, false);
    return new IntervalValue(begin, end);
  }
View Full Code Here

    org.junit.Assert.assertEquals(parseInterval("\u22A5  "), null);
    org.junit.Assert.assertEquals(parseInterval("   \u22A5"), null);
    org.junit.Assert.assertEquals(parseInterval("   \u22A5  "), null);
   
    //correct intervals
    org.junit.Assert.assertEquals(new IntervalValue(1, 1), parseInterval("[1:1]"));
    org.junit.Assert.assertEquals(new IntervalValue(1, 1), parseInterval("[ 1 : 1 ]"));
    org.junit.Assert.assertEquals(new IntervalValue(1.2, 2.8), parseInterval("[1.2:2.8]"));
    org.junit.Assert.assertEquals(new IntervalValue(1.2, 2.8), parseInterval("[ 1.2: 2.8]"));
    org.junit.Assert.assertEquals(new IntervalValue(1.2, 2.8), parseInterval("[ 1.2 : 2.8 ]"));
    org.junit.Assert.assertEquals(new IntervalValue(Double.NEGATIVE_INFINITY, 2.8), parseInterval("[-∞:2.8]"));
    org.junit.Assert.assertEquals(new IntervalValue(3, Double.POSITIVE_INFINITY), parseInterval("[3:∞]"));
    org.junit.Assert.assertEquals(new IntervalValue(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), parseInterval("[-∞:∞]"));
   
    verifyException("[1.2:1]", InvalidIntervalValueException.invalidIntervalValue(1.2, 1.0));
    verifyException("[dsad:1]", invalidFragment(true, "dsad"));
    verifyException("[1:kupa]", invalidFragment(false, "kupa"));   
    verifyException("[1:-∞]", invalidFragment(false, "-∞"));
View Full Code Here

  @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(
            new IntervalValue(1, 1),
            new IntervalValue(0, Long.MAX_VALUE),
            new IntervalValue(Double.NEGATIVE_INFINITY, Long.MAX_VALUE)),
        getSingleBoxNoVerify(
            new IntervalValue(1, 1),
            new IntervalValue(Long.MAX_VALUE, Double.POSITIVE_INFINITY),
            new IntervalValue(Long.MAX_VALUE, Long.MAX_VALUE)
            ),
        getSingleBoxNoVerify(
            new IntervalValue(2, 5),
            new IntervalValue(0, Double.POSITIVE_INFINITY),
            new IntervalValue(Double.NEGATIVE_INFINITY, Long.MAX_VALUE)
            ));
    left.widen(right);
  }
View Full Code Here

    double start = Double.NEGATIVE_INFINITY;
    ArrayList<SequencePair> lastValue = null;
    for (SequencePair elem : data) {
      double end = elem.key - 1;
      if (lastValue != null) {
        result.append(new IntervalValue(start, end));
        processToString(varId + 1, lastValue, result, indent + INDENT);
      }
      result.append("\n" + indent);
      start = elem.key;
      lastValue = elem.value;
    }
    if (lastValue != null) {
      result.append(new IntervalValue(start, Double.POSITIVE_INFINITY));
      processToString(varId + 1, lastValue, result, indent + INDENT);

    }
  }
View Full Code Here

  @Test
  public void createSingleBoxFromIntv() {
    // 0 dimensions
    getSingleBoxAndVerify();
    // 1 dimension
    getSingleBoxAndVerify(new IntervalValue(1, 2));
    getSingleBoxAndVerify(new IntervalValue(1, 1));
    getSingleBoxAndVerify(new IntervalValue(Double.NEGATIVE_INFINITY, 2));
    getSingleBoxAndVerify(new IntervalValue(2, Double.POSITIVE_INFINITY));
    getSingleBoxAndVerify(new IntervalValue(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY));
    // 2 dimensions
    getSingleBoxAndVerify(new IntervalValue(1, 2), new IntervalValue(3, 4));
    getSingleBoxAndVerify(new IntervalValue(0, 3), new IntervalValue(3, 4));
    getSingleBoxAndVerify(new IntervalValue(0, Double.POSITIVE_INFINITY), new IntervalValue(
        Double.NEGATIVE_INFINITY, 4));
    // 3 dimensions
    getSingleBoxAndVerify(new IntervalValue(1, 2), new IntervalValue(3, 4), new IntervalValue(4, 5));
    getSingleBoxAndVerify(new IntervalValue(Double.NEGATIVE_INFINITY, 17), new IntervalValue(3, 4),
        new IntervalValue(4, Double.POSITIVE_INFINITY));
  }
View Full Code Here

  }

  @Test
  public void joinOneDimension() {
    // 1 dimension
    IntegerBoxes first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    IntegerBoxes second = getSingleBoxAndVerify(new IntervalValue(2, 4));
    verifyResult(first.join(second), prepareBox(new IntervalValue(1, 4)));
    verifyResult(second.join(first), prepareBox(new IntervalValue(1, 4)));

    first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    second = getSingleBoxAndVerify(new IntervalValue(3, 4));
    verifyResult(first.join(second), prepareBox(new IntervalValue(1, 4)));
    verifyResult(second.join(first), prepareBox(new IntervalValue(1, 4)));

    first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    second = getSingleBoxAndVerify(new IntervalValue(4, 5));
    verifyResult(first.join(second), prepareBox(new IntervalValue(1, 2)), prepareBox(new IntervalValue(4, 5)));
    verifyResult(second.join(first), prepareBox(new IntervalValue(1, 2)), prepareBox(new IntervalValue(4, 5)));

    first = first.join(second);
    second = getSingleBoxAndVerify(new IntervalValue(3, Double.POSITIVE_INFINITY));
    verifyResult(first.join(second), prepareBox(new IntervalValue(1, Double.POSITIVE_INFINITY)));
    verifyResult(second.join(first), prepareBox(new IntervalValue(1, Double.POSITIVE_INFINITY)));
  }
View Full Code Here

  }

  @Test
  public void meetOneDimension() {
    // 1 dimension
    IntegerBoxes first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    IntegerBoxes second = getSingleBoxAndVerify(new IntervalValue(2, 4));
    verifyResult(first.meet(second), prepareBox(new IntervalValue(2, 2)));
    verifyResult(second.meet(first), prepareBox(new IntervalValue(2, 2)));

    first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    second = getSingleBoxAndVerify(new IntervalValue(3, 4));
    verifyResult(first.meet(second));
    verifyResult(second.meet(first));

    first = getSingleBoxAndVerify(new IntervalValue(1, 7));
    second = getSingleBoxAndVerify(new IntervalValue(4, 5));
    verifyResult(first.meet(second), prepareBox(new IntervalValue(4, 5)));
    verifyResult(second.meet(first), prepareBox(new IntervalValue(4, 5)));
  }
View Full Code Here

  }

  @Test
  public void leqOneDimension() {
    // 1 dimension
    IntegerBoxes first = getSingleBoxAndVerify(new IntervalValue(1, 2));
    IntegerBoxes second = getSingleBoxAndVerify(new IntervalValue(2, 4));
    org.junit.Assert.assertFalse(first.leq(second));
    org.junit.Assert.assertFalse(second.leq(first));

    first = getSingleBoxAndVerify(new IntervalValue(1, 7));
    second = getSingleBoxAndVerify(new IntervalValue(3, 4));
    org.junit.Assert.assertFalse(first.leq(second));
    org.junit.Assert.assertTrue(second.leq(first));

    first = getSingleBoxAndVerify(new IntervalValue(1, 7));
    second = getSingleBoxAndVerify(new IntervalValue(4, 5));
    verifyResult(first.meet(second), prepareBox(new IntervalValue(4, 5)));
    verifyResult(second.meet(first), prepareBox(new IntervalValue(4, 5)));
  }
View Full Code Here

  @Test
  public void leqTwoDimensionsWithVarRemoval() {
    // 1 dimension
    IntegerBoxes first = IntegerBoxesHelper.join(
        getSingleBoxAndVerify(new IntervalValue(0,2), new IntervalValue(0, 2)),
        getSingleBoxAndVerify(new IntervalValue(5,6), new IntervalValue(5, 6)));
    IntegerBoxes second = IntegerBoxesHelper.join(
        getSingleBoxAndVerify(new IntervalValue(0, 1)),
        getSingleBoxAndVerify(new IntervalValue(6, 6)));
    org.junit.Assert.assertFalse(first.leq(second));
    org.junit.Assert.assertTrue(second.leq(first));
  }
View Full Code Here

TOP

Related Classes of ai.domain.interval.IntervalValue

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.