AIToolbox
A library that offers tools for AI problem solving.
Core.hpp File Reference
#include <cmath>
#include <limits>
#include <compare>
#include <AIToolbox/Types.hpp>
#include <boost/functional/hash.hpp>

Go to the source code of this file.

Namespaces

 AIToolbox
 
 Eigen
 

Functions

unsigned AIToolbox::ceil (unsigned x, unsigned y)
 This function returns a fast ceiling between two unsigned ints. More...
 
bool AIToolbox::checkEqualSmall (const double a, const double b)
 This function checks if two doubles near [0,1] are reasonably equal. More...
 
bool AIToolbox::checkDifferentSmall (const double a, const double b)
 This function checks if two doubles near [0,1] are reasonably different. More...
 
bool AIToolbox::checkEqualGeneral (const double a, const double b)
 This function checks if two doubles are reasonably equal. More...
 
bool AIToolbox::checkDifferentGeneral (const double a, const double b)
 This function checks if two doubles are reasonably different. More...
 
template<typename V >
bool AIToolbox::checkEqualSmall (const V &v, const double d)
 This function checks whether a given vector only contains the stated value. More...
 
template<typename V >
bool AIToolbox::checkDifferentSmall (const V &v, const double d)
 This function checks whether a given vector does not contain only the stated value. More...
 
template<typename V >
bool AIToolbox::checkEqualGeneral (const V &v, const double d)
 This function checks whether a given vector only contains the stated value. More...
 
template<typename V >
bool AIToolbox::checkDifferentGeneral (const V &v, const double d)
 This function checks whether a given vector does not contain only the stated value. More...
 
template<typename V >
std::strong_ordering AIToolbox::veccmp (const V &lhs, const V &rhs)
 This function compares two general vectors of equal size lexicographically. More...
 
template<typename V >
std::partial_ordering AIToolbox::veccmpSmall (const V &lhs, const V &rhs)
 This function compares two general vectors of equal size lexicographically. More...
 
template<typename V >
std::partial_ordering AIToolbox::veccmpGeneral (const V &lhs, const V &rhs)
 This function compares two general vectors of equal size lexicographically. More...
 
template<typename It >
It AIToolbox::sequential_sorted_find (It begin, It end, const typename std::iterator_traits< It >::value_type &elem)
 This function returns an iterator to the position where the input should be in a sorted range, via sequential scan. More...
 
template<typename It >
bool AIToolbox::sequential_sorted_contains (It begin, It end, const typename std::iterator_traits< It >::value_type &elem)
 This function returns whether a sorted range contains a given element, via sequential scan. More...
 
template<typename V >
bool AIToolbox::sequential_sorted_contains (const V &v, const V &elems)
 This function returns whether a sorted range contains another sorted range, via sequential scan. More...
 
template<typename T >
void AIToolbox::set_union_inplace (std::vector< T > &lhs, const std::vector< T > &rhs)
 This function performs an inplace union of two sorted sets. More...
 
template<typename It , typename F >
auto AIToolbox::max_element_unary (It begin, const It end, F unary_converter)
 This function is equivalent to std::max_element, but takes a unary function. More...
 
template<typename T , typename U >
void AIToolbox::copyDumb3D (const T &in, U &out, const size_t d1, const size_t d2, const size_t d3)
 Copies a 3d container into another 3d container. More...
 
size_t Eigen::hash_value (const AIToolbox::Vector &v)
 This function enables hashing of Vectors with boost::hash. More...
 

Variables

constexpr auto AIToolbox::equalToleranceSmall = 0.000001
 This is the max absolute difference for which two values can be considered equal. More...
 
constexpr auto AIToolbox::equalToleranceGeneral = 0.00000000001