1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// This file is part of Eigen, a lightweight C++ template library 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// for linear algebra. 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Copyright (C) 2009 Keir Mierle <mierle@gmail.com> 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// This Source Code Form is subject to the terms of the Mozilla 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Public License v. 2.0. If a copy of the MPL was not distributed 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "main.h" 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathtemplate<DenseIndex rows, DenseIndex cols> 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid resizeLikeTest() 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{ 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXf A(rows, cols); 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXf B; 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath Matrix<double, rows, cols> C; 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath B.resizeLike(A); 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath C.resizeLike(B); // Shouldn't crash. 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath VERIFY(B.rows() == rows && B.cols() == cols); 21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath VectorXf x(rows); 23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RowVectorXf y; 24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath y.resizeLike(x); 25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath VERIFY(y.rows() == 1 && y.cols() == rows); 26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath y.resize(cols); 28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath x.resizeLike(y); 29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath VERIFY(x.rows() == cols && x.cols() == 1); 30c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid resizeLikeTest12() { resizeLikeTest<1,2>(); } 33c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid resizeLikeTest1020() { resizeLikeTest<10,20>(); } 34c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid resizeLikeTest31() { resizeLikeTest<3,1>(); } 35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid test_resize() 37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{ 38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL_SUBTEST(resizeLikeTest12() ); 39c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL_SUBTEST(resizeLikeTest1020() ); 40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL_SUBTEST(resizeLikeTest31() ); 41c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 42