diff --git a/dlib/test/matrix.cpp b/dlib/test/matrix.cpp index da920d19796de34fdf22edaf277bad0bcf0828d4..cd19b97c8379f5afb5dd9efca27ec9e55076c3cc 100644 --- a/dlib/test/matrix.cpp +++ b/dlib/test/matrix.cpp @@ -1178,6 +1178,66 @@ namespace DLIB_CASSERT((equal(round_zeros(cos(exp(array_to_matrix(m)))*mi,0.000001) , identity_matrix<double,5>())),""); } + + { + matrix<long,5,5> m1, res; + matrix<long,2,2> m2; + + set_all_elements(m1,0); + + + long res_vals[] = { + 9, 9, 9, 9, 9, + 0, 1, 1, 0, 0, + 0, 1, 1, 0, 2, + 0, 0, 2, 2, 2, + 0, 0, 2, 2, 0 + }; + + res = res_vals; + + set_all_elements(m2, 1); + set_subm(m1, rectangle(1,1,2,2)) = subm(m2,0,0,2,2); + set_all_elements(m2, 2); + set_subm(m1, 3,2,2,2) = m2; + + set_colm(m1,4) = trans(rowm(m1,4)); + set_rowm(m1,0) = 9; + + DLIB_CASSERT(m1 == res, "m1: \n" << m1 << "\nres: \n" << res); + + } + + { + matrix<long,5,5> m1, res; + matrix<long,2,2> m2; + + set_all_elements(m1,0); + + + long res_vals[] = { + 9, 0, 3, 3, 0, + 9, 2, 2, 2, 0, + 9, 2, 2, 2, 0, + 4, 4, 4, 4, 4, + 9, 0, 3, 3, 0 + }; + + res = res_vals; + + set_all_elements(m2, 1); + set_subm(m1, rectangle(1,1,3,2)) = 2; + set_all_elements(m2, 2); + set_subm(m1, 3,2,2,2) = 3; + + set_colm(m1,0) = 9; + set_rowm(m1,0) = rowm(m1,4); + set_rowm(m1,3) = 4; + + DLIB_CASSERT(m1 == res, "m1: \n" << m1 << "\nres: \n" << res); + + } + }