Search in sources :

Example 1 with Scalar

use of nars.concept.scalar.Scalar in project narchy by automenta.

the class ScalarBeliefTableTest method test1.

@Test
public void test1() {
    NAR n = NARS.shell();
    MutableFloat xx = new MutableFloat(0);
    Scalar x = new Scalar($.the("x"), xx, n);
    DurService xAuto = x.auto(n, 1);
    ScalarBeliefTable xb = (ScalarBeliefTable) x.beliefs();
    n.synch();
    n.run(1);
    assertEquals(1, xb.series.size());
    assertEquals(1, xb.size());
    xx.set(0.5f);
    n.run(1);
    assertEquals(2, xb.series.size());
    assertEquals(2, xb.size());
}
Also used : MutableFloat(org.apache.commons.lang3.mutable.MutableFloat) NAR(nars.NAR) Scalar(nars.concept.scalar.Scalar) DurService(nars.control.DurService) Test(org.junit.jupiter.api.Test)

Example 2 with Scalar

use of nars.concept.scalar.Scalar in project narchy by automenta.

the class CameraSensorTest method assertEquals.

static void assertEquals(Bitmap2DSensor c, float[][] f, long when, NAR n) {
    final float tolerance = 0.47f;
    for (int i = 0; i < c.width; i++) {
        for (int j = 0; j < c.height; j++) {
            Scalar p = c.get(i, j);
            Truth t = n.beliefTruth(p, when);
            if (t == null || Math.abs(f[i][j] - t.freq()) > tolerance) {
                System.err.println("pixel " + p + " incorrect @ t=" + n.time());
                n.beliefTruth(p, n.time());
                p.beliefs().print(System.out);
            }
            assertNotNull(t, () -> p.term + " is null");
            Assertions.assertEquals(f[i][j], t.freq(), tolerance, () -> p + " has inaccurate result @ t=" + n.time());
        }
    }
}
Also used : Truth(nars.truth.Truth) Scalar(nars.concept.scalar.Scalar)

Example 3 with Scalar

use of nars.concept.scalar.Scalar in project narchy by automenta.

the class NSense method sense.

@NotNull
default Scalar sense(CauseChannel c, Term term, FloatSupplier value, FloatToObjectFunction<Truth> truthFunc) {
    Scalar s = new Scalar(term, value, nar());
    addSensor(s, c);
    return s;
}
Also used : Scalar(nars.concept.scalar.Scalar) DigitizedScalar(nars.concept.scalar.DigitizedScalar) NotNull(org.jetbrains.annotations.NotNull)

Example 4 with Scalar

use of nars.concept.scalar.Scalar in project narchy by automenta.

the class CameraSensorView method updateTouch.

@Override
public void updateTouch(Finger finger) {
    super.updateTouch(finger);
    if (finger == null) {
        touchConcept = null;
    } else {
        touchConcept = cam.get(touchPixel.x, cam.height - 1 - touchPixel.y);
    }
    if (finger.clickedNow(OPEN_CONCEPT_BUTTON, this)) {
        Scalar c = this.touchConcept;
        if (c != null)
            Vis.conceptWindow(c, nar);
    }
    finger.tryFingering(new FingerDragging(0) {

        @Override
        protected boolean drag(Finger f) {
            updateTouch(finger);
            Scalar c = touchConcept;
            if (c != null)
                onTouch(touchConcept);
            return true;
        }
    });
}
Also used : Finger(spacegraph.input.finger.Finger) Scalar(nars.concept.scalar.Scalar) FingerDragging(spacegraph.input.finger.FingerDragging)

Example 5 with Scalar

use of nars.concept.scalar.Scalar in project narchy by automenta.

the class NSense method sense.

@NotNull
default Scalar sense(@NotNull Term term, FloatSupplier value, FloatToObjectFunction<Truth> truthFunc) {
    Scalar s = new Scalar(term, value, nar());
    addSensor(s);
    return s;
}
Also used : Scalar(nars.concept.scalar.Scalar) DigitizedScalar(nars.concept.scalar.DigitizedScalar) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

Scalar (nars.concept.scalar.Scalar)6 DigitizedScalar (nars.concept.scalar.DigitizedScalar)3 NotNull (org.jetbrains.annotations.NotNull)2 NAR (nars.NAR)1 DurService (nars.control.DurService)1 Truth (nars.truth.Truth)1 MutableFloat (org.apache.commons.lang3.mutable.MutableFloat)1 Test (org.junit.jupiter.api.Test)1 Finger (spacegraph.input.finger.Finger)1 FingerDragging (spacegraph.input.finger.FingerDragging)1