From d55ac700caa0d03ece9060c001cdf09fcda772c9 Mon Sep 17 00:00:00 2001 From: "tanguy.dietrich" <tanguy.dietrich@etu.hesge.ch> Date: Wed, 30 Oct 2019 23:15:07 +0100 Subject: [PATCH] Ecriture de vectorLinespace() --- src/main/java/ch/hepia/numeric/Vector.java | 13 ++++++++++--- src/test/java/ch/hepia/numeric/AppTest.java | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index b8bd8fe..41d864e 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -113,7 +113,7 @@ final public class Vector { } public static Vector of(List<Double> elements) { - return new Vector(elements); + return new Vector(elements); } public static Vector empty() { @@ -137,8 +137,15 @@ final public class Vector { return Vector.fill(nb,1.0); } - public static Vector linespace(double from, double to, int nb) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + public static Vector linespace(double from, double to, int nb) + { + double step=to/(nb-1); + Vector v = Vector.zeros(nb); + for(int i=0;i<nb;i++) + { + v.set(i,step*i); + } + return v; } public static Vector tabulate(int nb, Function<Integer, Double> f) { diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java index d8240f9..a87afff 100644 --- a/src/test/java/ch/hepia/numeric/AppTest.java +++ b/src/test/java/ch/hepia/numeric/AppTest.java @@ -34,13 +34,13 @@ class VectorTest { 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)); } -/* + @Test void vectorLinespace() { assertEquals(Vector.linespace(0.0, 1.0, 3), Vector.of(0.0, 0.5, 1.0)); assertEquals(Vector.linespace(0.0, 1.0, 5), Vector.of(0.0, 0.25, 0.5, 0.75, 1.0)); } -*/ + @Test void vectorNormAndSum() { assertEquals(Vector.of(1.0, 2.0, 2.0).norm(), 3.0); -- GitLab