27 #define M_PI 3.141592653589793
41 return ((a.
r == b.
r) && (a.
g == b.
g) && (a.
b == b.
b));
45 inline T
abs(
const T &x) {
return (x > 0 ? x : -x); };
48 inline int sign(
const T &x) {
return (x >= 0 ? 1 : -1); };
51 inline T
square(
const T &x) {
return x*x; };
54 inline T
bound(
const T &x,
const T &min,
const T &max) {
55 return (x < min ? min : (x > max ? max : x));
59 inline bool check_bound(
const T &x,
const T&min,
const T &max) {
60 return ((x < min) || (x > max));
63 inline int vlib_round(
float x) {
return (
int)(x + 0.5F); }
65 inline int vlib_round(
double x) {
return (
int)(x + 0.5); }
67 inline double gaussian(
double val,
double sigma) {
68 return exp(-
square(val/sigma)/2)/(sqrt(2*
M_PI)*sigma);
Class and structs in single-thread CPU bp implementation by Pedro Felzenwalb available at https://cs....
bool check_bound(const T &x, const T &min, const T &max)
bool operator==(const rgb &a, const rgb &b)
double gaussian(double val, double sigma)
T bound(const T &x, const T &min, const T &max)