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());
}
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());
}
}
}
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;
}
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;
}
});
}
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;
}
Aggregations