Search in sources :

Example 1 with Pri

use of jcog.pri.Pri in project narchy by automenta.

the class ArrayBagTest method testBudgetMerge.

@Test
public void testBudgetMerge() {
    PLinkArrayBag<String> a = new PLinkArrayBag<String>(4, plus, new HashMap<>(4));
    assertEquals(0, a.size());
    a.put(new PLink("x", 0.1f));
    a.put(new PLink("x", 0.1f));
    a.commit(null);
    assertEquals(1, a.size());
    PriReference<String> agx = a.get("x");
    Pri expect = new Pri(0.2f);
    assertTrue(Util.equals(expect.priElseNeg1(), agx.priElseNeg1(), 0.01f), agx + "==?==" + expect);
}
Also used : PLink(jcog.pri.PLink) PLinkArrayBag(jcog.bag.impl.PLinkArrayBag) Pri(jcog.pri.Pri) Test(org.junit.jupiter.api.Test)

Example 2 with Pri

use of jcog.pri.Pri in project narchy by automenta.

the class PriMergeTest method testMerge.

private static Prioritized testMerge(Priority x, Prioritized y, @NotNull PriMerge m, float ouPri, float expectedOverflow) {
    x = x.clonePri();
    Prioritized x0 = x.clonePri();
    float overflow = m.merge(x, y);
    System.out.println(x0 + " <-merge<- " + y + " x " + "\t\texpect:" + new Pri(ouPri) + " ?? actual:" + x);
    assertEquals(ouPri, x.pri(), tol);
    if (expectedOverflow > 0)
        assertEquals(expectedOverflow, overflow, 0.01f);
    return x;
}
Also used : Prioritized(jcog.pri.Prioritized) Pri(jcog.pri.Pri)

Aggregations

Pri (jcog.pri.Pri)2 PLinkArrayBag (jcog.bag.impl.PLinkArrayBag)1 PLink (jcog.pri.PLink)1 Prioritized (jcog.pri.Prioritized)1 Test (org.junit.jupiter.api.Test)1