5#include "software/geom/circle.h"
6#include "software/geom/point.h"
7#include "software/geom/rectangle.h"
16double linear(
double value,
double offset,
double linear_width);
34 const double& sig_width);
49double circleSigmoid(
const Circle& circle,
const Point& point,
const double& sig_width);
68double sigmoid(
const double& v,
const double& offset,
const double& sig_width);
86T normalizeValueToRange(T value,
const T& value_min,
const T& value_max,
87 const T& range_min,
const T& range_max)
89 static_assert(std::is_integral<T>::value || std::is_floating_point<T>::value,
90 "Integral or floating point type required.");
91 value = std::clamp<T>(value, value_min, value_max);
92 T value_range = value_max - value_min;
93 T new_range = range_max - range_min;
94 return new_range / value_range * (value - value_max) + range_max;
106double percent_difference(
double a,
double b);
Definition rectangle.h:10