28#if defined(_OPENMP) && !defined(_WIN32) && !defined(__GNUC__)
30#pragma omp declare simd
31extern float fmaxf(
const float x,
const float y);
33#pragma omp declare simd
34extern float fminf(
const float x,
const float y);
36#pragma omp declare simd
37extern float fabsf(
const float x);
39#pragma omp declare simd
40extern float powf(
const float x,
const float y);
42#pragma omp declare simd
43extern float sqrtf(
const float x);
45#pragma omp declare simd
46extern float cbrtf(
const float x);
48#pragma omp declare simd
49extern float log2f(
const float x);
51#pragma omp declare simd
52extern float exp2f(
const float x);
54#pragma omp declare simd
55extern float log10f(
const float x);
57#pragma omp declare simd
58extern float expf(
const float x);
60#pragma omp declare simd
61extern float logf(
const float x);
73 return exp2f(3.3219280948873626f *
x);
82 return exp2f(1.4426950408889634f *
x);
87static inline float
v_maxf(const float vector[3])
90 return fmaxf(fmaxf(vector[0], vector[1]), vector[2]);
95static inline float
v_minf(const float vector[3])
98 return fminf(fminf(vector[0], vector[1]), vector[2]);
102static inline float
v_sumf(const float vector[3])
104 return vector[0] + vector[1] + vector[2];
109static inline
float fmaxabsf(const
float a, const
float b)
112 return (fabsf(a) > fabsf(b) && !isnan(a)) ? a :
113 (isnan(b)) ? 0.f : b;
118static inline
float fminabsf(const
float a, const
float b)
121 return (fabsf(a) < fabsf(b) && !isnan(a)) ? a :
122 (isnan(b)) ? 0.f : b;
129 return fminf(fmaxf(
x, 0.0f), 1.0f);
#define __OMP_DECLARE_SIMD__(...)
Definition darktable.h:263
static const float x
Definition iop_profile.h:235
static float fminabsf(const float a, const float b)
Definition openmp_maths.h:118
static float fmaxabsf(const float a, const float b)
Definition openmp_maths.h:109
static float v_maxf(const float vector[3])
Definition openmp_maths.h:87
static float v_sumf(const float vector[3])
Definition openmp_maths.h:102
static float fast_exp10f(const float x)
Definition openmp_maths.h:69
static float clamp_simd(const float x)
Definition openmp_maths.h:127
static float fast_expf(const float x)
Definition openmp_maths.h:78
static float v_minf(const float vector[3])
Definition openmp_maths.h:95