RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
VecBuilder.java
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5package org.wpilib.math.linalg;
6
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;
21
23public final class VecBuilder {
24 private VecBuilder() {
25 throw new UnsupportedOperationException("this is a utility class!");
26 }
27
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 "
32 + rows.getNum()
33 + " vector, but got "
34 + data.length
35 + " elements");
36 }
37 return new Vector<>(new SimpleMatrix(data));
38 }
39
46 public static Vector<N1> fill(double n1) {
47 return fillVec(Nat.N1(), n1);
48 }
49
57 public static Vector<N2> fill(double n1, double n2) {
58 return fillVec(Nat.N2(), n1, n2);
59 }
60
69 public static Vector<N3> fill(double n1, double n2, double n3) {
70 return fillVec(Nat.N3(), n1, n2, n3);
71 }
72
82 public static Vector<N4> fill(double n1, double n2, double n3, double n4) {
83 return fillVec(Nat.N4(), n1, n2, n3, n4);
84 }
85
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);
98 }
99
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);
113 }
114
127 public static Vector<N7> fill(
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);
130 }
131
145 public static Vector<N8> fill(
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);
148 }
149
164 public static Vector<N9> fill(
165 double n1,
166 double n2,
167 double n3,
168 double n4,
169 double n5,
170 double n6,
171 double n7,
172 double n8,
173 double n9) {
174 return fillVec(Nat.N9(), n1, n2, n3, n4, n5, n6, n7, n8, n9);
175 }
176
192 public static Vector<N10> fill(
193 double n1,
194 double n2,
195 double n3,
196 double n4,
197 double n5,
198 double n6,
199 double n7,
200 double n8,
201 double n9,
202 double n10) {
203 return fillVec(Nat.N10(), n1, n2, n3, n4, n5, n6, n7, n8, n9, n10);
204 }
205}
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)
static Nat< N5 > N5()
Definition Nat.java:99
static Nat< N6 > N6()
Definition Nat.java:108
static Nat< N9 > N9()
Definition Nat.java:135
static Nat< N8 > N8()
Definition Nat.java:126
static Nat< N10 > N10()
Definition Nat.java:144
static Nat< N3 > N3()
Definition Nat.java:81
static Nat< N2 > N2()
Definition Nat.java:72
static Nat< N4 > N4()
Definition Nat.java:90
static Nat< N1 > N1()
Definition Nat.java:63
static Nat< N7 > N7()
Definition Nat.java:117