Vowpal Wabbit
Loading...
Searching...
No Matches
Namespaces | Macros | Functions | Variables
vw_math.h File Reference
#include "vw/common/future_compat.h"
#include "vw/common/vw_exception.h"
#include "vw/common/vw_throw.h"
#include <cassert>
#include <cmath>

Namespaces

namespace  VW
 
namespace  VW::math
 

Macros

#define NOMINMAX
 
#define VW_DEFAULT_TOLERANCE   0.0001
 

Functions

template<typename T >
bool VW::math::are_same (T lhs, T rhs, T tolerance=0.0001)
 
template<typename T >
bool VW::math::are_same_rel (T lhs, T rhs, T tolerance=0.0001)
 
VW_STD14_CONSTEXPR int64_t VW::math::factorial (int64_t n) noexcept
 
int64_t VW::math::number_of_combinations_with_repetition (int64_t n, int64_t k)
 Both n and k must be non-zero. More...
 
int64_t VW::math::number_of_permutations_with_repetition (int64_t n, int64_t k)
 
constexpr float VW::math::sign (float w) noexcept
 
VW_STD14_CONSTEXPR int64_t VW::math::choose (int64_t n, int64_t k) noexcept
 C(n,k) = n!/(k!(n-k)!) More...
 
template<typename T >
VW_STD14_CONSTEXPR T VW::math::clamp (const T &num, const T &lower_bound, const T &upper_bound)
 Clamp a value in the range [lower_bound, upper_bound]. More...
 

Variables

constexpr float VW::math::DEFAULT_FLOAT_TOLERANCE = static_cast<float>( 0.0001 )
 

Macro Definition Documentation

◆ NOMINMAX

#define NOMINMAX

◆ VW_DEFAULT_TOLERANCE

#define VW_DEFAULT_TOLERANCE   0.0001