Robotics Library
0.7.0
rl
math
Real.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2009, Markus Rickert
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are met:
7
//
8
// * Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
// POSSIBILITY OF SUCH DAMAGE.
25
//
26
27
#ifndef RL_MATH_REAL_H
28
#define RL_MATH_REAL_H
29
30
#include <cmath>
31
35
namespace
rl
36
{
40
namespace
math
41
{
42
typedef
double
Real
;
43
44
template
<
typename
T>
45
inline
T
cbrt
(
const
T& arg)
46
{
47
if
(arg < 0)
48
{
49
return
-
::std::pow
(-arg,
static_cast<
T
>
(1.0 / 3.0));
50
}
51
else
52
{
53
return ::std::pow
(arg,
static_cast<
T
>
(1.0 / 3.0));
54
}
55
}
56
57
template
<
typename
T>
58
inline
T
sign
(
const
T& arg)
59
{
60
if
(arg > 0)
61
{
62
return
1;
63
}
64
else
if
(arg < 0)
65
{
66
return
-1;
67
}
68
else
69
{
70
return
0;
71
}
72
}
73
}
74
}
75
76
#endif // RL_MATH_REAL_H
pow
Quaternion< Scalar > pow(const Scalar &t) const
Definition:
QuaternionBaseAddons.h:128
rl::math::sign
T sign(const T &arg)
Definition:
Real.h:58
rl::math::cbrt
T cbrt(const T &arg)
Definition:
Real.h:45
rl::math::Real
double Real
Definition:
Real.h:42
rl
Robotics Library.
Definition:
AnalogInput.cpp:30
Generated by
1.8.20