Esempio n. 1
0
  @Test
  public final void testClosure() {
    BooleanMatrix mF44 = f.matrix(Dimensions.square(4, 2));
    assertTrue(equivalent(mF44, mF44.closure()));

    mF44.set(0, vars[0]);
    mF44.set(9, vars[9]);
    assertTrue(equivalent(mF44, mF44.closure()));

    mF44.set(2, vars[2]);

    BooleanValue[] result = new BooleanValue[mF44.dimensions().capacity()];
    for (int i = 0; i < result.length; i++) {
      result[i] = FALSE;
    }
    result[0] = vars[0];
    result[1] = f.and(vars[2], vars[9]);
    result[1] = f.or(result[1], f.and(vars[0], result[1]));
    result[2] = vars[2];
    result[9] = vars[9];

    assertTrue(equivalent(mF44.closure(), result));

    mF44.set(7, vars[7]);
    result[7] = vars[7];
    result[3] = f.and(vars[2], f.and(vars[9], vars[7]));
    result[11] = f.and(vars[7], vars[9]);

    assertTrue(equivalent(mF44.closure(), result));

    // System.out.println(mF44.closure());
  }