Epsilon Filter

template<typename T, T Ep = std::numeric_limits<T>::epsilon()>
struct Epsilon

Filter that accepts changes larger than epsilon (floating-point comparison).

This filter uses epsilon comparison to handle floating-point precision issues, propagating only when the absolute difference exceeds the epsilon value.

Since

v0.1.0

// Example: Use epsilon for float comparison
Signal<float, 10, Epsilon<float>> precise(0.0);

Warning

  • Only accepts floating-point types (float, double).

  • Epsilon must be greater than 0.

Template Parameters:
typename T

Floating-point type.

T Ep = std::numeric_limits<T>::epsilon()

Epsilon value.

Public Functions

inline bool operator()(const T &old_value, const T &new_value) const

See Also