/** @throws Exception */ public void testOctaveScalar() throws Exception { final OctaveObject i1 = Octave.scalar(42); final OctaveEngine octave = new OctaveEngineFactory().getScriptEngine(); octave.put("i", i1); final OctaveDouble i2 = octave.get(OctaveDouble.class, "i"); assertEquals(i1, i2); octave.close(); }
/** Test that we can get and set globals */ public void testOctaveGlobal() { final OctaveEngine octave = new OctaveEngineFactory().getScriptEngine(); octave.eval("global x"); octave.put("x", Octave.scalar(42.0)); final OctaveDouble x = octave.get(OctaveDouble.class, "x"); assertEquals(42.0, x.get(1)); octave.close(); }
/** @throws Exception */ public void testOctaveSetExecGet() throws Exception { final double[] numbers = {1, 2, 3, 4, 5, 6}; final OctaveEngine octave = new OctaveEngineFactory().getScriptEngine(); final OctaveDouble in = new OctaveDouble(numbers, 2, 3); octave.put("in", in); octave.eval("out=in;"); final OctaveDouble out = octave.get(OctaveDouble.class, "out"); assertEquals(OctaveIO.toText(in), OctaveIO.toText(out)); octave.eval("slicerow=in(2,:); slicecol=in(:,2);"); final OctaveDouble slicerow = octave.get(OctaveDouble.class, "slicerow"); final OctaveDouble slicecol = octave.get(OctaveDouble.class, "slicecol"); assertEquals(2.0, slicerow.get(1, 1)); assertEquals(4.0, slicerow.get(1, 2)); assertEquals(6.0, slicerow.get(1, 3)); assertEquals(3.0, slicecol.get(1, 1)); assertEquals(4.0, slicecol.get(2, 1)); octave.close(); }
/** Test */ public void testOctave3dMatrix() { final OctaveDouble matrix3d = new OctaveDouble(3, 4, 2); matrix3d.set(42.0, 1, 3, 2); matrix3d.set(-1.0, 3, 1, 1); final OctaveEngine octave = new OctaveEngineFactory().getScriptEngine(); octave.put("matrix3d", matrix3d); octave.eval("x1 = matrix3d(:,:,1);"); octave.eval("x2 = matrix3d(:,:,2);"); octave.eval("x3 = matrix3d(:,3,:);"); octave.eval("x4 = matrix3d(3,:,:);"); final OctaveDouble x1 = octave.get(OctaveDouble.class, "x1"); final OctaveDouble x2 = octave.get(OctaveDouble.class, "x2"); final OctaveDouble x3 = octave.get(OctaveDouble.class, "x3"); final OctaveDouble x4 = octave.get(OctaveDouble.class, "x4"); octave.close(); assertEquals(0.0, x1.get(1, 3)); assertEquals(-1.0, x1.get(3, 1)); assertEquals(42.0, x2.get(1, 3)); assertEquals(0.0, x2.get(3, 1)); assertEquals(42.0, x3.get(1, 1, 2)); assertEquals(-1.0, x4.get(1, 1, 1)); }