From 8edc17dac961e47934173c414d1b2166f70484fb Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 3 Sep 2020 20:48:43 -0700 Subject: [PATCH] [wpimath] Add Vector overload for times and div (#2686) --- .../java/edu/wpi/first/wpiutil/math/Matrix.java | 7 +++---- .../java/edu/wpi/first/wpiutil/math/Vector.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Matrix.java b/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Matrix.java index 6c64d0def8..5a0c6920a7 100644 --- a/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Matrix.java +++ b/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Matrix.java @@ -9,7 +9,6 @@ package edu.wpi.first.wpiutil.math; import java.util.Objects; - import org.ejml.MatrixDimensionException; import org.ejml.data.DMatrixRMaj; import org.ejml.dense.row.CommonOps_DDRM; @@ -227,7 +226,7 @@ public class Matrix { * @param value The scalar value to multiply by. * @return A new matrix with all the elements multiplied by the given value. */ - public final Matrix times(double value) { + public Matrix times(double value) { return new Matrix<>(this.m_storage.scale(value)); } @@ -293,7 +292,7 @@ public class Matrix { * @param value The value to divide by. * @return The resultant matrix. */ - public final Matrix div(int value) { + public Matrix div(int value) { return new Matrix<>(this.m_storage.divide((double) value)); } @@ -303,7 +302,7 @@ public class Matrix { * @param value The value to divide by. * @return The resultant matrix. */ - public final Matrix div(double value) { + public Matrix div(double value) { return new Matrix<>(this.m_storage.divide(value)); } diff --git a/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Vector.java b/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Vector.java index 7761367532..04f46baec6 100644 --- a/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Vector.java +++ b/wpimath/src/main/java/edu/wpi/first/wpiutil/math/Vector.java @@ -52,4 +52,19 @@ public class Vector extends Matrix { public Vector(Matrix other) { super(other); } + + @Override + public Vector times(double value) { + return new Vector<>(this.m_storage.scale(value)); + } + + @Override + public Vector div(int value) { + return new Vector<>(this.m_storage.divide(value)); + } + + @Override + public Vector div(double value) { + return new Vector<>(this.m_storage.divide(value)); + } }