scenario_simulator_v2 C++ API
common
math
geometry
include
geometry
quaternion
norm.hpp
Go to the documentation of this file.
1
// Copyright 2015 TIER IV, Inc. All rights reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef GEOMETRY__QUATERNION__NORM_HPP_
16
#define GEOMETRY__QUATERNION__NORM_HPP_
17
18
#include <cmath>
19
#include <
geometry/quaternion/is_like_quaternion.hpp
>
20
21
namespace
math
22
{
23
namespace
geometry
24
{
25
template <typename T, std::enable_if_t<IsLikeQuaternion<T>::value, std::nullptr_t> =
nullptr
>
26
auto
norm
(
const
T & q)
27
{
28
return
std::hypot
(
std::hypot
(q.w, q.x),
std::hypot
(q.y, q.z));
29
}
30
}
// namespace geometry
31
}
// namespace math
32
33
#endif
// GEOMETRY__QUATERNION__NORM_HPP_
is_like_quaternion.hpp
math::geometry::hypot
auto hypot(const T &from, const U &to)
Definition:
hypot.hpp:28
math::geometry::norm
auto norm(const T &q)
Definition:
norm.hpp:26
math
Definition:
bounding_box.hpp:32
Generated by
1.9.1