ZFFramework
 
Loading...
Searching...
No Matches
ZFCoreUtilMath.h File Reference

math utilities for ZFFramework More...

#include "ZFComparer.h"

Go to the source code of this file.

Functions

template<typename T_Number>
T_Number const & zfmMax (T_Number const &n0, T_Number const &n1)
 well known MAX
 
template<typename T_Number>
T_Number const & zfmMin (T_Number const &n0, T_Number const &n1)
 well known MIN
 
template<typename T_Number>
T_Number zfmAbs (T_Number const &n0)
 well known ABS
 
template<typename T_Number>
T_Number zfmApplyRange (T_Number const &n, T_Number const &nMin, T_Number const &nMax)
 return n if in range [nMin, nMax], return edge value otherwise
 
template<typename T_Number>
T_Number zfmApplyProgress (T_Number const &start, T_Number const &end, zffloat progress)
 return value at progress in range [start, end], progress must in range [0, 1]
 
template<typename T_zffloat>
T_zffloat zfmRoundUp (const T_zffloat &v)
 util method to round up/down or round a float value
 
template<typename T_zffloat>
T_zffloat zfmRoundDown (const T_zffloat &v)
 util method to round up/down or round a float value
 
template<typename T_zffloat>
T_zffloat zfmRound (const T_zffloat &v)
 util method to round up/down or round a float value
 
zffloat zfmRand (void)
 return a random float in range [0, 1]
 
template<typename T_int>
T_int zfmRand (T_int const &range)
 return a random number range [0, range) or 0 if range is 0 or negative
 
template<typename T_int>
T_int zfmRand (T_int const &start, T_int const &end)
 return a random number range [start, end) or 0 if range invalid
 
template<typename T_Element, typename T_Holder>
zfbool zfmSort (T_Holder &holder, zfindex left, zfindex right, typename ZFComparer< T_Element >::Comparer comparer=_ZFP_ZFComparerDefault)
 sort with custom comparer in range [left, right], holder must support operator []
 
template<typename T_Element, typename T_Holder>
zfbool zfmSortReversely (T_Holder &holder, zfindex left, zfindex right, typename ZFComparer< T_Element >::Comparer comparer=_ZFP_ZFComparerDefault)
 sort with custom comparer in range [left, right], holder must support operator []
 

Detailed Description

math utilities for ZFFramework

Function Documentation

◆ zfmApplyRange()

template<typename T_Number>
T_Number zfmApplyRange ( T_Number const & n,
T_Number const & nMin,
T_Number const & nMax )
inline

return n if in range [nMin, nMax], return edge value otherwise

return value in range [nMin, infinite) if nMax < mMin