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
22 test_qvm::quaternion<Q1> const x(42,1);
23 float m1=mag(a: x);
24 float m2=mag(a: qref(a: x));
25 float m3=sqrtf(x: test_qvm::dot<float>(a: x.a,b: x.a));
26 BOOST_QVM_TEST_CLOSE(m1,m3,0.000001f);
27 BOOST_QVM_TEST_CLOSE(m2,m3,0.000001f);
28 }
29 }
30
31int
32main()
33 {
34 test();
35 return boost::report_errors();
36 }
37

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