diff --git a/src/main/java/ch/hepia/numeric/Transposed.java b/src/main/java/ch/hepia/numeric/Transposed.java index 1a0f577103ea9f4fe4dc08b7ef7baf981dc7f7fd..c5c6c2ad729e662cee8dc1d4e9f30f5cbfbf5cae 100644 --- a/src/main/java/ch/hepia/numeric/Transposed.java +++ b/src/main/java/ch/hepia/numeric/Transposed.java @@ -32,4 +32,22 @@ public class Transposed{ return "Transposed"+String.valueOf(strings); } + @Override + public boolean equals(Object obj) { + if(obj instanceof Transposed) + { + for(int i=0;i<this.t().len();i++) + { + if(((Transposed)obj).t().get(i)!=this.t().get(i)) + { + return false; + } + } + return true; + } + else + { + return false; + } + } } diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index 0ac7b7a1eaa8f546f68e90d44ee5efc2a702ebfd..b8bd8feded320f2a7044c775c7c712cb7889f9dc 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -117,7 +117,6 @@ final public class Vector { } public static Vector empty() { - // Vector v = new Vector(); return new Vector(); } @@ -131,16 +130,11 @@ final public class Vector { } public static Vector zeros(int nb) { - Vector v = new Vector(); - for(int i=0;i<nb;i++) - { - v.lstVector.add(0.0); - } - return v; + return Vector.fill(nb,0.0); } public static Vector ones(int nb) { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + return Vector.fill(nb,1.0); } public static Vector linespace(double from, double to, int nb) { @@ -185,7 +179,7 @@ final public class Vector { public boolean equals(Object obj) { if(obj instanceof Vector) { - for(int i=0;i<this.lstVector.size();i++) + for(int i=0;i<this.len();i++) { if(((Vector)obj).get(i)!=this.get(i)) { @@ -196,9 +190,7 @@ final public class Vector { } else { - //a ecrire return false; } - //throw new UnsupportedOperationException("boolean This feature isn't implemented yet"); } } diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java index 662fdd180ff97bd82937f8aa36688844f425e886..d8240f9a9b360326ddc7357dcd6c9cb939d46b38 100644 --- a/src/test/java/ch/hepia/numeric/AppTest.java +++ b/src/test/java/ch/hepia/numeric/AppTest.java @@ -17,25 +17,21 @@ class VectorTest { Vector v3 = Vector.of(-1.0, -2.0, -3.0); Vector v4 = Vector.of(-50.0, -2.0, -3.0); assertEquals(v1.add(v2), Vector.of(0.0, 0.0, 0.0)); - assertEquals(v1.add(v2).toString(), Vector.of(0.0, 0.0, 0.0).toString()); - assertEquals(v1.sub(v2).toString(), Vector.of(2.0, 4.0, 6.0).toString()); + assertEquals(v1.sub(v2), Vector.of(2.0, 4.0, 6.0)); assertEquals(v4.sub(v3), Vector.of(-49.0, 0.0, 0.0)); - assertEquals(v1.mul(3.0).toString(), Vector.of(3.0, 6.0, 9.0).toString()); - assertEquals(v1.mul(-0.0).toString(), Vector.of(-0.0, -0.0, -0.0).toString()); - assertEquals(v1.mul(0.0).toString(), Vector.of(0.0, 0.0, 0.0).toString()); + assertEquals(v1.mul(3.0), Vector.of(3.0, 6.0, 9.0)); + assertEquals(v1.mul(-0.0), Vector.of(-0.0, -0.0, -0.0)); + assertEquals(v1.mul(0.0), Vector.of(0.0, 0.0, 0.0)); assertEquals(Vector.empty().len(), 0); assertEquals(Vector.of(1.0, 2.0, 1.0).len(), 3); } @Test void vectorCreation() { - assertEquals(Vector.zeros(3).toString(), Vector.of(0.0, 0.0, 0.0).toString()); - assertEquals(Vector.zeros(10000).len(), 10000); - //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.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.fill(3, 1.7), Vector.of(1.7, 1.7, 1.7)); + 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)); } /* @@ -54,7 +50,7 @@ class VectorTest { Vector.norms(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))) ); //assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))), Vector.of(1.0, 2.0, 2.0)); - assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))).toString(), Vector.of(1.0, 2.0, 2.0).toString()); + assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))), Vector.of(1.0, 2.0, 2.0)); } @Test @@ -69,8 +65,7 @@ class VectorTest { Vector v3 = Vector.of(1.0, 2.0, 3.0); Vector v4 = Vector.of(1.0, 2.0, 3.0); //assertEquals( v3.t().dot(v4), 14.0 ); - assertEquals( v3.t().sub(v4.t()).toString(), Vector.of(0.0, 0.0, 0.0).t().toString() ); - //assertEquals( v3.t().sub(v4.t()), Vector.of(0.0, 0.0, 0.0).t()); + assertEquals( v3.t().sub(v4.t()), Vector.of(0.0, 0.0, 0.0).t()); } @Test