|
@ -302,7 +302,9 @@ static inline ImGuiID ImHash(const void* data, int size, ImU32 seed = 0) { ret |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// Helpers: Sorting
|
|
|
// Helpers: Sorting
|
|
|
#define ImQsort qsort |
|
|
#ifndef ImQsort |
|
|
|
|
|
static inline void ImQsort(void* base, size_t count, size_t size_of_element, int(IMGUI_CDECL *compare_func)(void const*, void const*)) { if (count > 1) qsort(base, count, size_of_element, compare_func); } |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// Helpers: Color Blending
|
|
|
// Helpers: Color Blending
|
|
|
IMGUI_API ImU32 ImAlphaBlendColors(ImU32 col_a, ImU32 col_b); |
|
|
IMGUI_API ImU32 ImAlphaBlendColors(ImU32 col_a, ImU32 col_b); |
|
@ -409,8 +411,8 @@ static inline double ImLog(double x) { return log(x); } |
|
|
static inline int ImAbs(int x) { return x < 0 ? -x : x; } |
|
|
static inline int ImAbs(int x) { return x < 0 ? -x : x; } |
|
|
static inline float ImAbs(float x) { return fabsf(x); } |
|
|
static inline float ImAbs(float x) { return fabsf(x); } |
|
|
static inline double ImAbs(double x) { return fabs(x); } |
|
|
static inline double ImAbs(double x) { return fabs(x); } |
|
|
static inline float ImSign(float x) { return (x < 0.0f) ? -1.0f : ((x > 0.0f) ? 1.0f : 0.0f); } // Sign operator - returns -1, 0 or 1 based on sign of argument
|
|
|
static inline float ImSign(float x) { return (x < 0.0f) ? -1.0f : (x > 0.0f) ? 1.0f : 0.0f; } // Sign operator - returns -1, 0 or 1 based on sign of argument
|
|
|
static inline double ImSign(double x) { return (x < 0.0) ? -1.0 : ((x > 0.0) ? 1.0 : 0.0); } |
|
|
static inline double ImSign(double x) { return (x < 0.0) ? -1.0 : (x > 0.0) ? 1.0 : 0.0; } |
|
|
#ifdef IMGUI_ENABLE_SSE |
|
|
#ifdef IMGUI_ENABLE_SSE |
|
|
static inline float ImRsqrt(float x) { return _mm_cvtss_f32(_mm_rsqrt_ss(_mm_set_ss(x))); } |
|
|
static inline float ImRsqrt(float x) { return _mm_cvtss_f32(_mm_rsqrt_ss(_mm_set_ss(x))); } |
|
|
#else |
|
|
#else |
|
|