5package org.wpilib.math.linalg;
7import java.util.Objects;
8import org.ejml.simple.SimpleMatrix;
9import org.wpilib.math.numbers.N1;
10import org.wpilib.math.numbers.N10;
11import org.wpilib.math.numbers.N2;
12import org.wpilib.math.numbers.N3;
13import org.wpilib.math.numbers.N4;
14import org.wpilib.math.numbers.N5;
15import org.wpilib.math.numbers.N6;
16import org.wpilib.math.numbers.N7;
17import org.wpilib.math.numbers.N8;
18import org.wpilib.math.numbers.N9;
19import org.wpilib.math.util.Nat;
20import org.wpilib.math.util.Num;
23public final class VecBuilder {
24 private VecBuilder() {
25 throw new UnsupportedOperationException(
"this is a utility class!");
28 private static <N extends Num>
Vector<N> fillVec(
Nat<N> rows,
double... data) {
29 if (Objects.requireNonNull(data).length != rows.
getNum()) {
30 throw new IllegalArgumentException(
31 "Invalid vector data provided. Wanted "
37 return new Vector<>(
new SimpleMatrix(data));
47 return fillVec(
Nat.
N1(), n1);
58 return fillVec(
Nat.
N2(), n1, n2);
70 return fillVec(
Nat.
N3(), n1, n2, n3);
83 return fillVec(
Nat.
N4(), n1, n2, n3, n4);
96 public static Vector<N5> fill(
double n1,
double n2,
double n3,
double n4,
double n5) {
97 return fillVec(
Nat.
N5(), n1, n2, n3, n4, n5);
111 public static Vector<N6> fill(
double n1,
double n2,
double n3,
double n4,
double n5,
double n6) {
112 return fillVec(
Nat.
N6(), n1, n2, n3, n4, n5, n6);
128 double n1,
double n2,
double n3,
double n4,
double n5,
double n6,
double n7) {
129 return fillVec(
Nat.
N7(), n1, n2, n3, n4, n5, n6, n7);
146 double n1,
double n2,
double n3,
double n4,
double n5,
double n6,
double n7,
double n8) {
147 return fillVec(
Nat.
N8(), n1, n2, n3, n4, n5, n6, n7, n8);
174 return fillVec(
Nat.
N9(), n1, n2, n3, n4, n5, n6, n7, n8, n9);
203 return fillVec(
Nat.
N10(), n1, n2, n3, n4, n5, n6, n7, n8, n9, n10);
static Vector< N2 > fill(double n1, double n2)
static Vector< N9 > fill(double n1, double n2, double n3, double n4, double n5, double n6, double n7, double n8, double n9)
static Vector< N4 > fill(double n1, double n2, double n3, double n4)
static Vector< N8 > fill(double n1, double n2, double n3, double n4, double n5, double n6, double n7, double n8)
static Vector< N5 > fill(double n1, double n2, double n3, double n4, double n5)
static Vector< N7 > fill(double n1, double n2, double n3, double n4, double n5, double n6, double n7)
static Vector< N10 > fill(double n1, double n2, double n3, double n4, double n5, double n6, double n7, double n8, double n9, double n10)
static Vector< N3 > fill(double n1, double n2, double n3)
static Vector< N1 > fill(double n1)
static Vector< N6 > fill(double n1, double n2, double n3, double n4, double n5, double n6)