5template <
int Size,
typename Scalar>
8#pragma forceinline recursive
10 for (
int i = 0;
i <
Size;
i++) {
17template <
int Size,
typename Scalar>
20 for (
int i = 0;
i <
Size;
i++) {
21 result(i) *= vector(i) - std::floor(vector(i) / h) *
h;
27template <
int Size,
typename Scalar>
30#pragma forceinline recursive
32 for (
int i = 0;
i <
Size;
i++) {
39template <
int Size,
typename Scalar>
42#pragma forceinline recursive
44 for (
int i = 0;
i <
Size;
i++) {
51template <
int Size,
typename Scalar>
54#pragma forceinline recursive
56 for (
int i = 0;
i <
Size;
i++) {
63template <
int Size,
typename Scalar>
67#pragma forceinline recursive
70 for (
int i = 0;
i <
Size;
i++) {
71 result(i) = vector(i) / scalar;
77template <
int Size,
typename Scalar>
79 return vector + scalar;
83template <
int Size,
typename Scalar>
87#pragma forceinline recursive
90 for (
int i = 0;
i <
Size;
i++) {
91 result(i) = vector(i) * scalar;
97template <
int Size,
typename Scalar>
101#pragma forceinline recursive
103 for (
int i = 0;
i <
Size;
i++) {
104 result(i) = vector(i) * scalar;
110template <
int Size,
typename Scalar>
114#pragma forceinline recursive
116 for (
int i = 0;
i <
Size;
i++) {
117 result(i) = vector(i) + scalar;
123template <
int Size,
typename Scalar>
127#pragma forceinline recursive
129 for (
int i = 0;
i <
Size;
i++) {
130 result(i) = vector(i) - scalar;
136template <
int Size,
typename Scalar>
140 for (
int i = 0; i < Size; i++) {
141 if (la::abs(lhs(i) - cmp) > tolerance) {
147 for (
int i = 0; i < Size; i++) {
148 if (la::abs(lhs(i) - cmp) > tolerance) {
157template <
int Size,
typename Scalar>
161 for (
int i = 0; i < Size; i++) {
162 if (la::abs(lhs(i) - cmp) <= tolerance) {
168 for (
int i = 0; i < Size; i++) {
169 if (la::abs(lhs(i) - cmp) <= tolerance) {
178template <
int Size,
typename Scalar>
182 for (
int i = 0; i < Size; i++) {
183 if (lhs(i) - cmp > tolerance) {
189 for (
int i = 0; i < Size; i++) {
190 if (lhs(i) - cmp > tolerance) {
199template <
int Size,
typename Scalar>
203 for (
int i = 0; i < Size; i++) {
204 if (lhs(i) - cmp >= -tolerance) {
210 for (
int i = 0; i < Size; i++) {
211 if (lhs(i) - cmp >= -tolerance) {
220template <
int Size,
typename Scalar>
224 for (
int i = 0; i < Size; i++) {
225 if (lhs(i) - cmp < tolerance) {
231 for (
int i = 0; i < Size; i++) {
232 if (lhs(i) - cmp < tolerance) {
241template <
int Size,
typename Scalar>
245 for (
int i = 0; i < Size; i++) {
246 if (lhs(i) - cmp <= -tolerance) {
252 for (
int i = 0; i < Size; i++) {
253 if (lhs(i) - cmp <= -tolerance) {
262template <
int Size,
typename Scalar>
265 for (
int i = 0; i < Size; i++) {
266 result &=
greater(lhs(i), cmp, tolerance);
272template <
int Size,
typename Scalar>
275 for (
int i = 0; i < Size; i++) {
282template <
int Size,
typename Scalar>
285 for (
int i = 0; i < Size; i++) {
286 result &= smaller(lhs(i), cmp, tolerance);
292template <
int Size,
typename Scalar>
295 for (
int i = 0; i < Size; i++) {
306 for (
int i = 0; i < Size; i++) {
313 for (
int i = 0; i < Size; i++) {
327 for (
int i = 0; i < Size; i++) {
334 for (
int i = 0; i < Size; i++) {
348 for (
int i = 0; i < Size; i++) {
355 for (
int i = 0; i < Size; i++) {
369 for (
int i = 0; i < Size; i++) {
376 for (
int i = 0; i < Size; i++) {
390 for (
int i = 0; i < Size; i++) {
397 for (
int i = 0; i < Size; i++) {
411 for (
int i = 0; i < Size; i++) {
418 for (
int i = 0; i < Size; i++) {
432 for (
int i = 0; i < Size; i++) {
439 for (
int i = 0; i < Size; i++) {
453 for (
int i = 0; i < Size; i++) {
460 for (
int i = 0; i < Size; i++) {
474 for (
int i = 0; i < Size; i++) {
481 for (
int i = 0; i < Size; i++) {
495 for (
int i = 0; i < Size; i++) {
502 for (
int i = 0; i < Size; i++) {
bool allGreaterEquals(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
bool allGreater(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
Vector< Size, Scalar > remainder(const Vector< Size, Scalar > &vector, double h)
Return the remainder of a division.
bool oneSmaller(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
Matrix< Rows, Cols, Scalar > & operator*=(Matrix< Rows, Cols, Scalar > &matrix, const Scalar &scalar)
bool greater(double lhs, double rhs, double tolerance=NUMERICAL_ZERO_DIFFERENCE)
bool greaterEquals(double lhs, double rhs, double tolerance=NUMERICAL_ZERO_DIFFERENCE)
Matrix< Rows, Cols, Scalar > operator-(const Matrix< Rows, Cols, Scalar > &lhs, const Matrix< Rows, Cols, Scalar > &rhs)
Vector< Size, Scalar > & operator+=(Vector< Size, Scalar > &vector, const Scalar &scalar)
Adds every component of the vector to the scalar and assigns the result to the vector.
Matrix< Rows, Cols, Scalar > operator+(const Matrix< Rows, Cols, Scalar > &lhs, const Matrix< Rows, Cols, Scalar > &rhs)
bool oneSmallerEquals(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
bool smallerEquals(double lhs, double rhs, double tolerance=NUMERICAL_ZERO_DIFFERENCE)
Vector< Size, Scalar > operator/(const Vector< Size, Scalar > &vector, const Scalar &scalar)
Divides every component of the vector by the scalar and returns the result.
bool allSmallerEquals(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
bool allSmaller(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
bool oneEquals(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
Matrix< Rows, Cols, Scalar > operator*(const Matrix< Rows, X, Scalar > &lhs, const Matrix< X, Cols, Scalar > &rhs)
bool equals(const Matrix< Rows, Cols, Scalar > &lhs, const Matrix< Rows, Cols, Scalar > &rhs, const Scalar &tolerance=NUMERICAL_ZERO_DIFFERENCE)
Compares to matrices on equality by means of a numerical accuracy.
bool oneGreaterEquals(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
Vector< Size, Scalar > & operator-=(Vector< Size, Scalar > &vector, const Scalar &scalar)
Subtracts the scalar from every component of the vector and assigns the result to the vector.
bool oneGreater(const Vector< Size, Scalar > &lhs, const Scalar &cmp, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
Vector< Size, Scalar > & operator/=(Vector< Size, Scalar > &vector, const Scalar &scalar)
Divides every component of the vector by the scalar and assigns the result to the vector.