// Copyright 2011-2017 Ryan Curtin (http://www.ratml.org/) // Copyright 2017 National ICT Australia (NICTA) // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ #include #include "catch.hpp" using namespace arma; TEST_CASE("sprow_shed_col_test") { SpRow d(10); d(3) = 2; d(4) = 6; d(6) = 2; d(7) = 9; d(8) = 1; d(9) = -2; d.shed_cols(4, 7); REQUIRE( d.n_cols == 6 ); REQUIRE( d.n_rows == 1 ); REQUIRE( d.n_elem == 6 ); REQUIRE( d.n_nonzero == 3 ); REQUIRE( d(0) == 0 ); REQUIRE( d(1) == 0 ); REQUIRE( d(2) == 0 ); REQUIRE( d(3) == 2 ); REQUIRE( d(4) == 1 ); REQUIRE( d(5) == -2 ); } TEST_CASE("sprow_row_constructor_test") { SpMat m(100, 100); m.sprandu(100, 100, 0.3); SpRow r = m.row(0); rowvec v(r); for (uword i = 0; i < 100; ++i) { REQUIRE( v(i) == (double) r(i) ); } }