diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index 80134cff58cfaf16557c7149b0bd7d3c8566e04f..9d6fc885c701f6aefbc910e82ec2a6dc1082010b 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -134,7 +134,12 @@ final public class Vector { } public static Vector fill(int nb, double value) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + Vector v = new Vector(); + for(int i = 0; i < nb; i++) + { + v.lstVector.add(value); + } + return v; } public static Vector zeros(int nb) { diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java index eb2ed6aa1a9f6fea2c8fe43c4bb256381e33e555..05a121e5382be7ee356d6496f0929c0684f67201 100644 --- a/src/test/java/ch/hepia/numeric/AppTest.java +++ b/src/test/java/ch/hepia/numeric/AppTest.java @@ -22,16 +22,20 @@ class VectorTest { assertEquals(v1.mul(3.0).toString(), Vector.of(3.0, 6.0, 9.0).toString()); assertEquals(Vector.empty().len(), 0); assertEquals(Vector.of(1.0, 2.0, 1.0).len(), 3); + // assertEquals(Vector.fill(4,3.0).toString(),Vector.of(3.0, 3.0, 3.0,3.0).toString()); + + } -/* + @Test void vectorCreation() { - assertEquals(Vector.zeros(3), Vector.of(0.0, 0.0, 0.0)); - assertEquals(Vector.ones(3), Vector.of(1.0, 1.0, 1.0)); - assertEquals(Vector.of(1.0, 2.0).map( d -> d * 2.0), Vector.of(2.0, 4.0)); - assertEquals(Vector.fill(3, 1.7), Vector.of(1.7, 1.7, 1.7)); - assertEquals(Vector.tabulate(4, i -> i*5.0), Vector.of(0.0, 5.0, 10.0, 15.0)); + //assertEquals(Vector.zeros(3), Vector.of(0.0, 0.0, 0.0)); + //assertEquals(Vector.ones(3), Vector.of(1.0, 1.0, 1.0)); + //assertEquals(Vector.of(1.0, 2.0).map( d -> d * 2.0), Vector.of(2.0, 4.0)); + assertEquals(Vector.fill(3, 1.7).toString(), Vector.of(1.7, 1.7, 1.7).toString()); + //assertEquals(Vector.tabulate(4, i -> i*5.0), Vector.of(0.0, 5.0, 10.0, 15.0)); } + /* @Test void vectorLinespace() { assertEquals(Vector.linespace(0.0, 1.0, 3), Vector.of(0.0, 0.5, 1.0));