1// Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.
2
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)
5
6#ifdef BOOST_QVM_TEST_SINGLE_HEADER
7# include BOOST_QVM_TEST_SINGLE_HEADER
8#else
9# include <boost/qvm/quat_operations.hpp>
10#endif
11
12#include "test_qvm_quaternion.hpp"
13#include "gold.hpp"
14
15namespace
16 {
17 void
18 test()
19 {
20 using namespace boost::qvm::sfinae;
21 test_qvm::quaternion<Q1> const x(42,1);
22 float m1=mag_sqr(a: x);
23 float m2=mag_sqr(a: qref(a: x));
24 float m3=test_qvm::dot<float>(a: x.a,b: x.a);
25 BOOST_QVM_TEST_CLOSE(m1,m3,0.000001f);
26 BOOST_QVM_TEST_CLOSE(m2,m3,0.000001f);
27 }
28 }
29
30int
31main()
32 {
33 test();
34 return boost::report_errors();
35 }
36

source code of boost/libs/qvm/test/mag_sqr_q_test.cpp