From af9d6d783aff1b24adbace2094a0df76c4387bfe Mon Sep 17 00:00:00 2001
From: fefe <hofer.francois.01@gmail.com>
Date: Thu, 9 Jan 2020 11:34:22 +0100
Subject: [PATCH] New function fill , tested

---
 src/main/java/ch/hepia/numeric/Vector.java  | 22 ++++++++++++++++++++-
 src/test/java/ch/hepia/numeric/AppTest.java |  7 +++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java
index 7ed7bf3..eb9d694 100644
--- a/src/main/java/ch/hepia/numeric/Vector.java
+++ b/src/main/java/ch/hepia/numeric/Vector.java
@@ -189,7 +189,27 @@ final public class Vector {
     public static double norms(List<Vector> vs) {
         return Vector.sum(vs).norm();
     }
-
+    // FILL NEW VERSION :
+    public static SubVec fill(int nbr){
+        return new Vector().new SubVec(nbr);
+    }
+    protected class SubVec{
+        private int nbre;
+        protected SubVec(int nbre){
+            this.nbre = nbre;
+        }
+        private int getNbre(){
+            return this.nbre;
+        }
+        
+        public Vector withValue(Double alpha){
+            List<Double> newVec = new ArrayList<>(); 
+            for (int i = 0; i < this.getNbre();i++){
+                newVec.add(alpha);
+            }
+            return new Vector(newVec);
+        }
+    }
 
     @Override
     public String toString() {
diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java
index e5f5072..cce66c1 100644
--- a/src/test/java/ch/hepia/numeric/AppTest.java
+++ b/src/test/java/ch/hepia/numeric/AppTest.java
@@ -137,4 +137,11 @@ class VectorTest {
         assertEquals(v.slice(4,2), Transposed.empty());
         assertEquals(v.removed(2), Transposed.of(1.0, 2.0, 4.0, 5.0));
     }
+// Vector V2 functions test :
+    @Test
+    void vectorfillv2() {
+        assertEquals(Vector.fill(3).withValue(1.7), Vector.of(1.7, 1.7, 1.7));
+        assertEquals(Vector.fill(4).withValue(1.5), Vector.of(1.5, 1.5, 1.5, 1.5));
+        assertEquals(Vector.fill(2).withValue(1.0), Vector.of(1.0, 1.0));
+    }
 }
-- 
GitLab