ad_physics
generated
include
ad
physics
AngleValidInputRange.hpp
Go to the documentation of this file.
1
/*
2
* ----------------- BEGIN LICENSE BLOCK ---------------------------------
3
*
4
* Copyright (C) 2018-2020 Intel Corporation
5
*
6
* SPDX-License-Identifier: MIT
7
*
8
* ----------------- END LICENSE BLOCK -----------------------------------
9
*/
10
18
#pragma once
19
20
#include <cmath>
21
#include <limits>
22
#include "
ad/physics/Angle.hpp
"
23
#include "spdlog/fmt/ostr.h"
24
#include "spdlog/spdlog.h"
25
39
inline
bool
withinValidInputRange
(::
ad::physics::Angle
const
&input,
bool
const
logErrors =
true
)
40
{
41
// check for generic numeric limits of the type
42
bool
inValidInputRange = input.
isValid
() && (
std::numeric_limits<::ad::physics::Angle>::lowest
() <= input)
43
&& (input <=
std::numeric_limits<::ad::physics::Angle>::max
());
44
if
(!inValidInputRange && logErrors)
45
{
46
spdlog::error(
"withinValidInputRange(::ad::physics::Angle)>> {} out of numerical limits [{}, {}]"
,
47
input,
48
std::numeric_limits<::ad::physics::Angle>::lowest
(),
49
std::numeric_limits<::ad::physics::Angle>::max
());
// LCOV_EXCL_BR_LINE
50
}
51
// check for individual input range
52
if
(inValidInputRange)
53
{
54
inValidInputRange = (
::ad::physics::Angle
(-6.283185308) <= input) && (input <= ::
ad::physics::Angle
(6.283185308));
55
if
(!inValidInputRange && logErrors)
56
{
57
spdlog::error(
"withinValidInputRange(::ad::physics::Angle)>> {} out of valid input range [{}, {}]"
,
58
input,
59
::
ad::physics::Angle
(-6.283185308),
60
::
ad::physics::Angle
(6.283185308));
// LCOV_EXCL_BR_LINE
61
}
62
}
63
return
inValidInputRange;
64
}
ad::physics::Angle
DataType Angle.
Definition:
Angle.hpp:59
ad::physics::Angle::isValid
bool isValid() const
Definition:
Angle.hpp:382
std::numeric_limits<::ad::physics::Angle >::lowest
static inline ::ad::physics::Angle lowest()
Definition:
Angle.hpp:500
Angle.hpp
withinValidInputRange
bool withinValidInputRange(::ad::physics::Angle const &input, bool const logErrors=true)
check if the given Angle is within valid input range
Definition:
AngleValidInputRange.hpp:39
std::numeric_limits<::ad::physics::Angle >::max
static inline ::ad::physics::Angle max()
Definition:
Angle.hpp:507
Generated by
1.8.17