]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/qvm/test/mul_mm_test.cpp
1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #include <boost/qvm/mat_operations.hpp>
7 #include <boost/qvm/mat.hpp>
8 #include "test_qvm_matrix.hpp"
13 template <int R
,int CR
,int C
>
17 using namespace boost::qvm::sfinae
;
18 test_qvm::matrix
<M1
,R
,CR
> const x(42,1);
19 test_qvm::matrix
<M2
,CR
,C
> const y(42,1);
21 test_qvm::matrix
<M3
,R
,C
> r
=x
*y
;
22 test_qvm::multiply_m(r
.b
,x
.b
,y
.b
);
23 BOOST_QVM_TEST_CLOSE(r
.a
,r
.b
,0.0000001f
);
26 test_qvm::matrix
<M3
,R
,C
> r
=mref(x
)*y
;
27 test_qvm::multiply_m(r
.b
,x
.b
,y
.b
);
28 BOOST_QVM_TEST_CLOSE(r
.a
,r
.b
,0.0000001f
);
31 test_qvm::matrix
<M3
,R
,C
> r
=x
*mref(y
);
32 test_qvm::multiply_m(r
.b
,x
.b
,y
.b
);
33 BOOST_QVM_TEST_CLOSE(r
.a
,r
.b
,0.0000001f
);
54 return boost::report_errors();