This file was moved from gallium so drop depending on gallium headers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
void
util_init_math(void)
{
void
util_init_math(void)
{
- static boolean initialized = FALSE;
+ static bool initialized = false;
if (!initialized) {
init_pow2_table();
init_log2_table();
if (!initialized) {
init_pow2_table();
init_log2_table();
-#include "pipe/p_compiler.h"
-
#include "c99_math.h"
#include <assert.h>
#include <float.h>
#include "c99_math.h"
#include <assert.h>
#include <float.h>
/**
* Approximate floating point comparison
*/
/**
* Approximate floating point comparison
*/
util_is_approx(float a, float b, float tol)
{
return fabsf(b - a) <= tol;
util_is_approx(float a, float b, float tol)
{
return fabsf(b - a) <= tol;
util_is_inf_or_nan(float x)
{
union fi tmp;
util_is_inf_or_nan(float x)
{
union fi tmp;
util_is_nan(float x)
{
union fi tmp;
util_is_nan(float x)
{
union fi tmp;
util_is_double_inf_or_nan(double x)
{
union di tmp;
util_is_double_inf_or_nan(double x)
{
union di tmp;
util_is_double_nan(double x)
{
union di tmp;
util_is_double_nan(double x)
{
union di tmp;
util_is_half_inf_or_nan(int16_t x)
{
return (x & 0x7c00) == 0x7c00;
}
util_is_half_inf_or_nan(int16_t x)
{
return (x & 0x7c00) == 0x7c00;
}
util_is_half_nan(int16_t x)
{
return (x & 0x7fff) > 0x7c00;
util_is_half_nan(int16_t x)
{
return (x & 0x7fff) > 0x7c00;
- * Convert ubyte to float in [0, 1].
+ * Convert uint8_t to float in [0, 1].
-ubyte_to_float(ubyte ub)
+ubyte_to_float(uint8_t ub)
{
return (float) ub * (1.0f / 255.0f);
}
/**
{
return (float) ub * (1.0f / 255.0f);
}
/**
- * Convert float in [0,1] to ubyte in [0,255] with clamping.
+ * Convert float in [0,1] to uint8_t in [0,255] with clamping.
float_to_ubyte(float f)
{
/* return 0 for NaN too */
if (!(f > 0.0f)) {
float_to_ubyte(float f)
{
/* return 0 for NaN too */
if (!(f > 0.0f)) {
}
else {
union fi tmp;
tmp.f = f;
tmp.f = tmp.f * (255.0f/256.0f) + 32768.0f;
}
else {
union fi tmp;
tmp.f = f;
tmp.f = tmp.f * (255.0f/256.0f) + 32768.0f;
+ return (uint8_t) tmp.i;
- * Convert ushort to float in [0, 1].
+ * Convert uint16_t to float in [0, 1].
-ushort_to_float(ushort us)
+ushort_to_float(uint16_t us)
{
return (float) us * (1.0f / 65535.0f);
}
/**
{
return (float) us * (1.0f / 65535.0f);
}
/**
- * Convert float in [0,1] to ushort in [0,65535] with clamping.
+ * Convert float in [0,1] to uint16_t in [0,65535] with clamping.
float_to_ushort(float f)
{
/* return 0 for NaN too */
if (!(f > 0.0f)) {
float_to_ushort(float f)
{
/* return 0 for NaN too */
if (!(f > 0.0f)) {
+ return (uint16_t) 65535;
}
else {
union fi tmp;
tmp.f = f;
tmp.f = tmp.f * (65535.0f/65536.0f) + 128.0f;
}
else {
union fi tmp;
tmp.f = f;
tmp.f = tmp.f * (65535.0f/65536.0f) + 128.0f;
+ return (uint16_t) tmp.i;