// ================================================================================================= TEST_CASE("cppmat::tiny::array", "matrix.h") { // ================================================================================================= // arithmetic // ================================================================================================= SECTION( "array += array" ) { MatD a = MatD::Random(M,N); MatD b = MatD::Random(M,N); Arr A = Arr::Copy(a.data(), a.data()+a.size()); Arr B = Arr::Copy(b.data(), b.data()+b.size()); for ( size_t i = 0 ; i < M ; ++i ) for ( size_t j = 0 ; j < N ; ++j ) a(i,j) += b(i,j); A += B; Equal(A, a); } // ------------------------------------------------------------------------------------------------- SECTION( "array -= array" ) {
// ================================================================================================= TEST_CASE("cppmat::tiny::diagonal::matrix", "matrix.h") { // ================================================================================================= // arithmetic // ================================================================================================= SECTION( "matrix += matrix" ) { MatD a = makeDiagonal(MatD::Random(M,N)); MatD b = makeDiagonal(MatD::Random(M,N)); dMat A = dMat::CopyDense(a.data(), a.data()+a.size()); dMat B = dMat::CopyDense(b.data(), b.data()+b.size()); for ( size_t i = 0 ; i < M ; ++i ) for ( size_t j = 0 ; j < N ; ++j ) a(i,j) += b(i,j); A += B; Equal(A, a); } // ------------------------------------------------------------------------------------------------- SECTION( "matrix -= matrix" ) {
// ================================================================================================= TEST_CASE("cppmat::symmetric::matrix", "matrix.h") { // ================================================================================================= // arithmetic // ================================================================================================= SECTION( "matrix += matrix" ) { MatD a = makeSymmetric(MatD::Random(M,N)); MatD b = makeSymmetric(MatD::Random(M,N)); sMat A = sMat::CopyDense(M, N, a.data(), a.data()+a.size()); sMat B = sMat::CopyDense(M, N, b.data(), b.data()+b.size()); for ( size_t i = 0 ; i < M ; ++i ) for ( size_t j = 0 ; j < N ; ++j ) a(i,j) += b(i,j); A += B; Equal(A, a); } // ------------------------------------------------------------------------------------------------- SECTION( "matrix -= matrix" ) {