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