Got coverage working for templates.

This commit is contained in:
jgoppert
2015-11-04 12:11:32 -05:00
parent bf6de4b710
commit 18f80462b7
13 changed files with 243 additions and 201 deletions
+12 -8
View File
@@ -1,27 +1,31 @@
#include "Matrix.hpp"
#include "SquareMatrix.hpp"
#include <assert.h>
#include <stdio.h>
using namespace matrix;
static const size_t n_large = 50;
template class SquareMatrix<float, 3>;
template class SquareMatrix<float, n_large>;
int main()
{
float data[9] = {1, 0, 0, 0, 1, 0, 1, 0, 1};
Matrix3f A(data);
Matrix3f A_I = A.inverse();
SquareMatrix<float, 3> A(data);
SquareMatrix<float, 3> A_I = A.inverse();
float data_check[9] = {1, 0, 0, 0, 1, 0, -1, 0, 1};
Matrix3f A_I_check(data_check);
SquareMatrix<float, 3> A_I_check(data_check);
(void)A_I;
assert(A_I == A_I_check);
// stess test
static const size_t n = 50;
Matrix<float, n, n> A_large;
SquareMatrix<float, n_large> A_large;
A_large.setIdentity();
Matrix<float, n, n> A_large_I;
SquareMatrix<float, n_large> A_large_I;
A_large_I.setZero();
for (size_t i = 0; i < 50; i++) {
for (size_t i = 0; i < n_large; i++) {
A_large_I = A_large.inverse();
assert(A_large == A_large_I);
}