diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index 41d864e24f8ff6cc39c9319b88e2b9cfe7634837..5cdb4f9154ff9450132162ea4c7336122171c3e2 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -77,15 +77,26 @@ final public class Vector { } public Vector sliceFrom(int i) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + return slice (i,this.len()); } public Vector sliceTo(int i) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + return slice (0,i); } public Vector slice(int from, int to) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + Vector v =new Vector(); + if (from>=to){ + return v; + } + else{ + for (double d : this.lstVector.subList(from,to)) + { + v.lstVector.add(d); + } + return v; + } + } public Vector removed(int i) { diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java index a87afff777c14c095f85026aea7e976ff58b21f0..91415e1cd3713f417486a6607add03e544e08251 100644 --- a/src/test/java/ch/hepia/numeric/AppTest.java +++ b/src/test/java/ch/hepia/numeric/AppTest.java @@ -74,7 +74,7 @@ class VectorTest { assertEquals(v.toString(), "Vector[1.0, 2.0, 3.0]"); assertEquals(v.t().toString(), "Transposed[1.0, 2.0, 3.0]"); } -/* + @Test void vectorSlice() { Vector v = Vector.of(1.0, 2.0, 3.0, 4.0, 5.0); @@ -83,8 +83,9 @@ class VectorTest { assertEquals(v.slice(2,4), Vector.of(3.0, 4.0)); assertEquals(v.slice(4,4), Vector.empty()); assertEquals(v.slice(4,2), Vector.empty()); - assertEquals(v.removed(2), Vector.of(1.0, 2.0, 4.0, 5.0)); + // assertEquals(v.removed(2), Vector.of(1.0, 2.0, 4.0, 5.0)); } + /* @Test void vectorConcat() { Vector v1 = Vector.of(1.0, 2.0, 3.0);