1 // Copyright Louis Dionne 2013-2017
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4
5 #include <boost/hana/assert.hpp>
6
7 #include "matrix/det.hpp"
8 namespace hana = boost::hana;
9 using namespace cppcon;
10
11
main()12 int main() {
13 // det
14 {
15 BOOST_HANA_CONSTEXPR_CHECK(det(matrix(row(1))) == 1);
16 BOOST_HANA_CONSTEXPR_CHECK(det(matrix(row(2))) == 2);
17
18 BOOST_HANA_CONSTEXPR_CHECK(det(matrix(row(1, 2), row(3, 4))) == -2);
19
20 BOOST_HANA_CONSTEXPR_CHECK(
21 det(matrix(
22 row(1, 5, 6),
23 row(3, 2, 4),
24 row(7, 8, 9)
25 ))
26 == 51
27 );
28
29 BOOST_HANA_CONSTEXPR_CHECK(
30 det(matrix(
31 row(1, 5, 6, -3),
32 row(3, 2, 4, -5),
33 row(7, 8, 9, -1),
34 row(8, 2, 1, 10)
35 )) == 214
36 );
37
38 BOOST_HANA_CONSTEXPR_CHECK(
39 det(matrix(
40 row(1, 5, 6, -3, 92),
41 row(3, 2, 4, -5, 13),
42 row(7, 8, 9, -1, 0),
43 row(8, 2, 1, 10, 41),
44 row(3, 12, 92, -7, -4)
45 )) == -3115014
46 );
47 }
48 }
49