diff --git a/src/gallium/auxiliary/util/u_bitcast.h b/src/gallium/auxiliary/util/u_bitcast.h index 703ea64e4dd..f5b33471ad1 100644 --- a/src/gallium/auxiliary/util/u_bitcast.h +++ b/src/gallium/auxiliary/util/u_bitcast.h @@ -45,6 +45,14 @@ u_bitcast_f2u(float f) return u; } +static inline uint64_t +u_bitcast_d2u(double d) +{ + uint64_t u; + memcpy(&u, &d, sizeof(u)); + return u; +} + static inline float u_bitcast_u2f(uint32_t u) { @@ -53,6 +61,14 @@ u_bitcast_u2f(uint32_t u) return f; } +static inline double +u_bitcast_u2d(uint64_t u) +{ + double d; + memcpy(&d, &u, sizeof(d)); + return d; +} + #ifdef __cplusplus } #endif