mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-16 18:27:35 +08:00
clang-tidy trivial cleanup
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
Checks: 'clang-diagnostic-*,clang-analyzer-*,*,
|
||||
,-cppcoreguidelines-pro-type-vararg
|
||||
,-cppcoreguidelines-pro-bounds-array-to-pointer-decay
|
||||
,-cppcoreguidelines-pro-bounds-constant-array-index
|
||||
,-cppcoreguidelines-pro-bounds-pointer-arithmetic
|
||||
'
|
||||
WarningsAsErrors: '*'
|
||||
HeaderFilterRegex: '*.h, *.hpp, *.hh, *.hxx'
|
||||
|
||||
+14
-2
@@ -6,6 +6,9 @@ set(VERSION_PATCH "2")
|
||||
|
||||
project(matrix CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Build type" FORCE)
|
||||
message(STATUS "set build type to ${CMAKE_BUILD_TYPE}")
|
||||
@@ -65,7 +68,6 @@ add_compile_options(
|
||||
-Wsign-conversion
|
||||
-Wsign-promo
|
||||
-Wstrict-null-sentinel
|
||||
-Wstrict-overflow=5
|
||||
-Wswitch-default
|
||||
-Wundef
|
||||
-Wuninitialized
|
||||
@@ -74,7 +76,14 @@ add_compile_options(
|
||||
|
||||
# clang tolerate unknown gcc options
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
add_compile_options(-Wno-error=unused-command-line-argument-hard-error-in-future -Wno-unknown-warning-option)
|
||||
add_compile_options(
|
||||
-Wno-error=unused-command-line-argument-hard-error-in-future
|
||||
-Wno-unknown-warning-option
|
||||
)
|
||||
else()
|
||||
add_compile_options(
|
||||
-Wstrict-overflow=5
|
||||
)
|
||||
endif()
|
||||
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure)
|
||||
@@ -83,6 +92,9 @@ if(TESTING)
|
||||
enable_testing()
|
||||
add_subdirectory(test)
|
||||
add_dependencies(check test_build)
|
||||
|
||||
add_custom_target(clang-tidy COMMAND clang-tidy -p . ${CMAKE_SOURCE_DIR}/test/*.cpp)
|
||||
add_dependencies(clang-tidy test_build)
|
||||
endif()
|
||||
|
||||
if(FORMAT)
|
||||
|
||||
@@ -31,7 +31,7 @@ template<typename Type>
|
||||
class AxisAngle : public Vector<Type, 3>
|
||||
{
|
||||
public:
|
||||
virtual ~AxisAngle() {};
|
||||
~AxisAngle() override = default;
|
||||
|
||||
typedef Matrix<Type, 3, 1> Matrix31;
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
|
||||
namespace matrix
|
||||
{
|
||||
|
||||
@@ -30,7 +29,6 @@ class Euler;
|
||||
template<typename Type>
|
||||
class AxisAngle;
|
||||
|
||||
|
||||
/**
|
||||
* Direction cosine matrix class
|
||||
*
|
||||
|
||||
+10
-16
@@ -8,11 +8,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
||||
#if defined(SUPPORT_STDIOSTREAM)
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
@@ -36,25 +35,20 @@ public:
|
||||
|
||||
virtual ~Matrix() {};
|
||||
|
||||
Matrix() :
|
||||
_data()
|
||||
{
|
||||
}
|
||||
// Constructors
|
||||
Matrix() : _data() {}
|
||||
|
||||
Matrix(const Type data_[][N]) :
|
||||
_data()
|
||||
Matrix(const Type data_[][N]) : _data()
|
||||
{
|
||||
memcpy(_data, data_, sizeof(_data));
|
||||
}
|
||||
|
||||
Matrix(const Type *data_) :
|
||||
_data()
|
||||
Matrix(const Type *data_) : _data()
|
||||
{
|
||||
memcpy(_data, data_, sizeof(_data));
|
||||
}
|
||||
|
||||
Matrix(const Matrix &other) :
|
||||
_data()
|
||||
Matrix(const Matrix &other) : _data()
|
||||
{
|
||||
memcpy(_data, other._data, sizeof(_data));
|
||||
}
|
||||
@@ -519,7 +513,7 @@ bool isEqualF(Type x,
|
||||
|
||||
bool equal = true;
|
||||
|
||||
if (fabsf(x - y) > eps) {
|
||||
if (fabs(x - y) > eps) {
|
||||
equal = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,12 +8,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
namespace matrix
|
||||
|
||||
@@ -8,12 +8,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "math.hpp"
|
||||
#include "helper_functions.hpp"
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ template<typename Type, size_t M>
|
||||
class Vector : public Matrix<Type, M, 1>
|
||||
{
|
||||
public:
|
||||
virtual ~Vector() {};
|
||||
~Vector() override = default;
|
||||
|
||||
typedef Matrix<Type, M, 1> MatrixM1;
|
||||
|
||||
|
||||
@@ -1,14 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
// grody hack - this should go once C++11 is supported
|
||||
// on all platforms.
|
||||
#if defined (__PX4_NUTTX) || defined (__PX4_QURT)
|
||||
#include <math.h>
|
||||
#else
|
||||
#include <cmath>
|
||||
#endif
|
||||
|
||||
namespace matrix
|
||||
{
|
||||
|
||||
+23
-22
@@ -1,21 +1,20 @@
|
||||
#include <cstdio>
|
||||
#include <stdexcept>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
// important to list all classes here for coverage
|
||||
template class Quaternion<float>;
|
||||
template class Euler<float>;
|
||||
template class Dcm<float>;
|
||||
template class AxisAngle<float>;
|
||||
template class Scalar<float>;
|
||||
template class SquareMatrix<float, 2>;
|
||||
template class Vector<float, 3>;
|
||||
template class Vector2<float>;
|
||||
template class Vector3<float>;
|
||||
using matrix::AxisAnglef;
|
||||
using matrix::Dcm;
|
||||
using matrix::Dcmf;
|
||||
using matrix::Euler;
|
||||
using matrix::Eulerf;
|
||||
using matrix::eye;
|
||||
using matrix::isEqualF;
|
||||
using matrix::Matrix;
|
||||
using matrix::Quaternion;
|
||||
using matrix::Quatf;
|
||||
using matrix::SquareMatrix;
|
||||
using matrix::Vector3f;
|
||||
using matrix::Vector;
|
||||
using matrix::zeros;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -51,10 +50,10 @@ int main()
|
||||
// quaternion ctor
|
||||
Quatf q0(1, 2, 3, 4);
|
||||
Quatf q(q0);
|
||||
TEST(fabs(q(0) - 1) < eps);
|
||||
TEST(fabs(q(1) - 2) < eps);
|
||||
TEST(fabs(q(2) - 3) < eps);
|
||||
TEST(fabs(q(3) - 4) < eps);
|
||||
TEST(fabsf(q(0) - 1) < eps);
|
||||
TEST(fabsf(q(1) - 2) < eps);
|
||||
TEST(fabsf(q(2) - 3) < eps);
|
||||
TEST(fabsf(q(3) - 4) < eps);
|
||||
|
||||
// quat normalization
|
||||
q.normalize();
|
||||
@@ -102,10 +101,12 @@ int main()
|
||||
for (size_t i = 0; i < 1000; i++) {
|
||||
A = R * A;
|
||||
}
|
||||
|
||||
A.renormalize();
|
||||
float err = 0.0f;
|
||||
for (size_t row = 0; row < 3; row++) {
|
||||
matrix::Vector3f rvec(A._data[row]);
|
||||
|
||||
for (auto & row : A._data) {
|
||||
Vector3f rvec(row);
|
||||
err += fabsf(1.0f - rvec.length());
|
||||
}
|
||||
TEST(err < eps);
|
||||
|
||||
+6
-4
@@ -1,9 +1,11 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/filter.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/filter.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
using matrix::Matrix;
|
||||
using matrix::kalman_correct;
|
||||
using matrix::eye;
|
||||
using matrix::SquareMatrix;
|
||||
using matrix::Vector;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
+4
-5
@@ -1,11 +1,10 @@
|
||||
#include <stdio.h>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class SquareMatrix<float, 3>;
|
||||
using matrix::Dcm;
|
||||
using matrix::Euler;
|
||||
using matrix::isEqual;
|
||||
using matrix::Vector3;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/helper_functions.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/helper_functions.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
using matrix::isEqual;
|
||||
using matrix::isEqualF;
|
||||
using matrix::Vector3f;
|
||||
using matrix::wrap_pi;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/integration.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/integration.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
using matrix::Matrix;
|
||||
using matrix::ones;
|
||||
using matrix::Vector;
|
||||
|
||||
Vector<float, 6> f(float t, const Matrix<float, 6, 1> & y, const Matrix<float, 3, 1> & u);
|
||||
Vector<float, 6> f(float t, const Matrix<float, 6, 1> & /*y*/, const Matrix<float, 3, 1> & /*u*/);
|
||||
|
||||
Vector<float, 6> f(float t, const Matrix<float, 6, 1> & y, const Matrix<float, 3, 1> & u) {
|
||||
Vector<float, 6> f(float t, const Matrix<float, 6, 1> & /*y*/, const Matrix<float, 3, 1> & /*u*/) {
|
||||
float v = -sinf(t);
|
||||
return v*ones<float, 6, 1>();
|
||||
}
|
||||
|
||||
+3
-7
@@ -1,15 +1,11 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
using matrix::SquareMatrix;
|
||||
using matrix::zeros;
|
||||
|
||||
static const size_t n_large = 50;
|
||||
|
||||
template class SquareMatrix<float, 3>;
|
||||
template class SquareMatrix<float, n_large>;
|
||||
|
||||
int main()
|
||||
{
|
||||
float data[9] = {0, 2, 3,
|
||||
|
||||
+13
-11
@@ -1,9 +1,11 @@
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class Matrix<float, 3, 3>;
|
||||
using matrix::Matrix;
|
||||
using matrix::Matrix3f;
|
||||
using matrix::Scalar;
|
||||
using matrix::Vector;
|
||||
using matrix::Vector2f;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -24,7 +26,7 @@ int main()
|
||||
Matrix3f m2(data);
|
||||
|
||||
for(int i=0; i<9; i++) {
|
||||
TEST(fabs(data[i] - m2.data()[i]) < 1e-6f);
|
||||
TEST(fabsf(data[i] - m2.data()[i]) < 1e-6f);
|
||||
}
|
||||
|
||||
float data2d[3][3] = {
|
||||
@@ -34,7 +36,7 @@ int main()
|
||||
};
|
||||
m2 = Matrix3f(data2d);
|
||||
for(int i=0; i<9; i++) {
|
||||
TEST(fabs(data[i] - m2.data()[i]) < 1e-6f);
|
||||
TEST(fabsf(data[i] - m2.data()[i]) < 1e-6f);
|
||||
}
|
||||
|
||||
float data_times_2[9] = {2, 4, 6, 8, 10, 12, 14, 16, 18};
|
||||
@@ -96,17 +98,17 @@ int main()
|
||||
m4.swapCols(2, 2);
|
||||
TEST(isEqual(m4, Matrix3f(data)));
|
||||
|
||||
TEST(fabs(m4.min() - 1) < 1e-5);
|
||||
TEST(fabs((-m4).min() + 9) < 1e-5);
|
||||
TEST(fabsf(m4.min() - 1) < 1e-5);
|
||||
TEST(fabsf((-m4).min() + 9) < 1e-5);
|
||||
|
||||
Scalar<float> s;
|
||||
s = 1;
|
||||
const Vector<float, 1> & s_vect = s;
|
||||
TEST(fabs(s - 1) < 1e-5);
|
||||
TEST(fabs(s_vect(0) - 1.0f) < 1e-5);
|
||||
TEST(fabsf(s - 1) < 1e-5);
|
||||
TEST(fabsf(s_vect(0) - 1.0f) < 1e-5);
|
||||
|
||||
Matrix<float, 1, 1> m5 = s;
|
||||
TEST(fabs(m5(0,0) - s) < 1e-5);
|
||||
TEST(fabsf(m5(0,0) - s) < 1e-5);
|
||||
|
||||
Matrix<float, 2, 2> m6;
|
||||
m6.setRow(0, Vector2f(1, 2));
|
||||
|
||||
+3
-4
@@ -1,9 +1,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
using matrix::Matrix3f;
|
||||
using matrix::eye;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using matrix::Matrix3f;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class Matrix<float, 3, 3>;
|
||||
using matrix::Matrix3f;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -13,10 +11,10 @@ int main()
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
for (size_t j = 0; j < 3; j++) {
|
||||
if (i == j) {
|
||||
TEST( fabs(A(i, j) - 1) < 1e-7);
|
||||
TEST(fabsf(A(i, j) - 1) < 1e-7);
|
||||
|
||||
} else {
|
||||
TEST( fabs(A(i, j) - 0) < 1e-7);
|
||||
TEST(fabsf(A(i, j) - 0) < 1e-7);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,13 +25,14 @@ int main()
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
for (size_t j = 0; j < 3; j++) {
|
||||
if (i == j) {
|
||||
TEST( fabs(B(i, j) - 1) < 1e-7);
|
||||
TEST(fabsf(B(i, j) - 1) < 1e-7);
|
||||
|
||||
} else {
|
||||
TEST( fabs(B(i, j) - 0) < 1e-7);
|
||||
TEST(fabsf(B(i, j) - 0) < 1e-7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+3
-4
@@ -1,9 +1,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
using matrix::Matrix;
|
||||
using matrix::SquareMatrix;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
#include <stdio.h>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class SquareMatrix<float, 3>;
|
||||
using matrix::SquareMatrix;
|
||||
using matrix::Vector3;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
+3
-6
@@ -1,12 +1,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
template class Matrix<float, 2, 3>;
|
||||
template class Matrix<float, 3, 2>;
|
||||
using matrix::Matrix;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -16,6 +12,7 @@ int main()
|
||||
float data_check[6] = {1, 4, 2, 5, 3, 6};
|
||||
Matrix<float, 3, 2> A_T_check(data_check);
|
||||
TEST(isEqual(A_T, A_T_check));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+3
-5
@@ -1,11 +1,9 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
template class Vector<float, 5>;
|
||||
using matrix::Vector;
|
||||
using matrix::isEqualF;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
+12
-13
@@ -1,35 +1,34 @@
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class Vector<float, 2>;
|
||||
using matrix::Vector2f;
|
||||
using matrix::Matrix;
|
||||
|
||||
int main()
|
||||
{
|
||||
Vector2f a(1, 0);
|
||||
Vector2f b(0, 1);
|
||||
TEST(fabs(a % b - 1.0f) < 1e-5);
|
||||
TEST(fabsf(a % b - 1.0f) < 1e-5);
|
||||
|
||||
Vector2f c;
|
||||
TEST(fabs(c(0) - 0) < 1e-5);
|
||||
TEST(fabs(c(1) - 0) < 1e-5);
|
||||
TEST(fabsf(c(0) - 0) < 1e-5);
|
||||
TEST(fabsf(c(1) - 0) < 1e-5);
|
||||
|
||||
Matrix<float, 2, 1> d(a);
|
||||
TEST(fabs(d(0,0) - 1) < 1e-5);
|
||||
TEST(fabs(d(1,0) - 0) < 1e-5);
|
||||
TEST(fabsf(d(0,0) - 1) < 1e-5);
|
||||
TEST(fabsf(d(1,0) - 0) < 1e-5);
|
||||
|
||||
Vector2f e(d);
|
||||
TEST(fabs(e(0) - 1) < 1e-5);
|
||||
TEST(fabs(e(1) - 0) < 1e-5);
|
||||
TEST(fabsf(e(0) - 1) < 1e-5);
|
||||
TEST(fabsf(e(1) - 0) < 1e-5);
|
||||
|
||||
float data[] = {4,5};
|
||||
Vector2f f(data);
|
||||
TEST(fabs(f(0) - 4) < 1e-5);
|
||||
TEST(fabs(f(1) - 5) < 1e-5);
|
||||
TEST(fabsf(f(0) - 4) < 1e-5);
|
||||
TEST(fabsf(f(1) - 5) < 1e-5);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+15
-16
@@ -1,34 +1,33 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <matrix/math.hpp>
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
#include <matrix/math.hpp>
|
||||
|
||||
template class Vector<float, 3>;
|
||||
using matrix::Vector3f;
|
||||
using matrix::Matrix;
|
||||
|
||||
int main()
|
||||
{
|
||||
Vector3f a(1, 0, 0);
|
||||
Vector3f b(0, 1, 0);
|
||||
Vector3f c = a.cross(b);
|
||||
TEST(isEqual(c, Vector3f(0,0,1)));
|
||||
TEST(matrix::isEqual(c, Vector3f(0,0,1)));
|
||||
c = a % b;
|
||||
TEST (isEqual(c, Vector3f(0,0,1)));
|
||||
TEST(matrix::isEqual(c, Vector3f(0,0,1)));
|
||||
Matrix<float, 3, 1> d(c);
|
||||
Vector3f e(d);
|
||||
TEST (isEqual(e, d));
|
||||
TEST (matrix::isEqual(e, d));
|
||||
float data[] = {4, 5, 6};
|
||||
Vector3f f(data);
|
||||
TEST(isEqual(f, Vector3f(4, 5, 6)));
|
||||
TEST(matrix::isEqual(f, Vector3f(4, 5, 6)));
|
||||
|
||||
TEST(matrix::isEqual(a + b, Vector3f(1, 1, 0)));
|
||||
TEST(matrix::isEqual(a - b, Vector3f(1, -1, 0)));
|
||||
TEST(matrix::isEqualF(a * b, 0.0f));
|
||||
TEST(matrix::isEqual(-a, Vector3f(-1, 0, 0)));
|
||||
TEST(matrix::isEqual(a.unit(), a));
|
||||
TEST(matrix::isEqual(a.unit(), a.normalized()));
|
||||
TEST(matrix::isEqual(a*2.0, Vector3f(2, 0, 0)));
|
||||
|
||||
TEST(isEqual(a + b, Vector3f(1, 1, 0)));
|
||||
TEST(isEqual(a - b, Vector3f(1, -1, 0)));
|
||||
TEST(isEqualF(a * b, 0.0f));
|
||||
TEST(isEqual(-a, Vector3f(-1, 0, 0)));
|
||||
TEST(isEqual(a.unit(), a));
|
||||
TEST(isEqual(a.unit(), a.normalized()));
|
||||
TEST(isEqual(a*2.0, Vector3f(2, 0, 0)));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+11
-12
@@ -2,9 +2,8 @@
|
||||
|
||||
#include "test_macros.hpp"
|
||||
|
||||
using namespace matrix;
|
||||
|
||||
template class Vector<float, 3>;
|
||||
using matrix::SquareMatrix;
|
||||
using matrix::Vector3f;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -15,20 +14,20 @@ int main()
|
||||
|
||||
static const float eps = 1e-7f;
|
||||
|
||||
TEST(fabs(v(0) - 1) < eps);
|
||||
TEST(fabs(v(1) - 2) < eps);
|
||||
TEST(fabs(v(2) - 3) < eps);
|
||||
TEST(fabsf(v(0) - 1) < eps);
|
||||
TEST(fabsf(v(1) - 2) < eps);
|
||||
TEST(fabsf(v(2) - 3) < eps);
|
||||
|
||||
Vector3f v2(4, 5, 6);
|
||||
|
||||
TEST(fabs(v2(0) - 4) < eps);
|
||||
TEST(fabs(v2(1) - 5) < eps);
|
||||
TEST(fabs(v2(2) - 6) < eps);
|
||||
TEST(fabsf(v2(0) - 4) < eps);
|
||||
TEST(fabsf(v2(1) - 5) < eps);
|
||||
TEST(fabsf(v2(2) - 6) < eps);
|
||||
|
||||
SquareMatrix<float, 3> m = diag(Vector3f(1,2,3));
|
||||
TEST(fabs(m(0, 0) - 1) < eps);
|
||||
TEST(fabs(m(1, 1) - 2) < eps);
|
||||
TEST(fabs(m(2, 2) - 3) < eps);
|
||||
TEST(fabsf(m(0, 0) - 1) < eps);
|
||||
TEST(fabsf(m(1, 1) - 2) < eps);
|
||||
TEST(fabsf(m(2, 2) - 3) < eps);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user