MRPT  2.0.0
Namespaces | Macros | Functions
core/include/mrpt/core/bits_math.h File Reference
#include <algorithm>
#include <cmath>
#include <stdexcept>
Include dependency graph for core/include/mrpt/core/bits_math.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 

Macros

#define M_PI   3.14159265358979323846
 
#define M_PIl   3.14159265358979323846264338327950288L
 
#define M_2PIl   (2.0L * 3.14159265358979323846264338327950288L)
 
#define DEG2RAD   DEG2RAD
 
#define RAD2DEG   RAD2DEG
 

Functions

template<typename num_t , typename return_t = num_t>
return_t mrpt::square (const num_t x)
 Inline function for the square of a number. More...
 
template<class T >
mrpt::hypot_fast (const T x, const T y)
 Faster version of std::hypot(), to use when overflow is not an issue and we prefer fast code. More...
 
constexpr double mrpt::DEG2RAD (const double x)
 Degrees to radians. More...
 
constexpr float mrpt::DEG2RAD (const float x)
 Degrees to radians. More...
 
constexpr double mrpt::DEG2RAD (const int x)
 Degrees to radians. More...
 
constexpr double mrpt::RAD2DEG (const double x)
 Radians to degrees. More...
 
constexpr float mrpt::RAD2DEG (const float x)
 Radians to degrees. More...
 
constexpr long double mrpt::DEG2RAD (const long double x)
 Degrees to radians. More...
 
constexpr long double mrpt::RAD2DEG (const long double x)
 Radians to degrees. More...
 
constexpr double mrpt::operator"" _deg (long double v)
 degrees to radian literal operator (e.g. More...
 
template<typename T >
int mrpt::sign (T x)
 Returns the sign of X as "1" or "-1". More...
 
template<typename T >
int mrpt::signWithZero (T x)
 Returns the sign of X as "0", "1" or "-1". More...
 
template<typename T >
mrpt::lowestPositive (const T a, const T b)
 Returns the smallest positive number among a and b. More...
 
template<typename T >
mrpt::abs_diff (const T a, const T b)
 Efficient and portable evaluation of the absolute difference of two unsigned integer values (but will also work for signed and floating point types) More...
 
template<typename T >
const T mrpt::min3 (const T &A, const T &B, const T &C)
 
template<typename T >
const T mrpt::max3 (const T &A, const T &B, const T &C)
 
template<typename T >
int mrpt::fix (T x)
 Rounds toward zero. More...
 
template<typename T , typename K >
void mrpt::keep_min (T &var, const K test_val)
 If the second argument is below the first one, set the first argument to this lower value. More...
 
template<typename T , typename K >
void mrpt::keep_max (T &var, const K test_val)
 If the second argument is above the first one, set the first argument to this higher value. More...
 
template<typename T >
void mrpt::saturate (T &var, const T sat_min, const T sat_max)
 Saturate the value of var (the variable gets modified) so it does not get out of [min,max]. More...
 
template<typename T >
mrpt::saturate_val (const T &value, const T sat_min, const T sat_max)
 Like saturate() but it returns the value instead of modifying the variable. More...
 
template<class T >
mrpt::round2up (T val)
 Round up to the nearest power of two of a given number. More...
 
float mrpt::d2f (const double d)
 shortcut for static_cast<float>(double) More...
 
uint8_t mrpt::f2u8 (const float f)
 converts a float [0,1] into an uint8_t [0,255] (without checking for out of bounds) More...
 
float mrpt::u8tof (const uint8_t v)
 converts a uint8_t [0,255] into a float [0,1] More...
 



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020