mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
util: Add a _mesa_i64roundevenf() helper.
This always returns a int64_t, translating to _mesa_lroundevenf on
systems where long is 64-bit, and llrintf where "long long" is needed.
Fixes: 594fc0f859 ("mesa: Replace F_TO_I() with _mesa_lroundevenf().")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
163fc11f27
commit
b59914e179
1 changed files with 16 additions and 0 deletions
|
|
@ -129,4 +129,20 @@ _mesa_lroundeven(double x)
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Rounds \c x to the nearest integer, with ties to the even integer,
|
||||
* and returns the value as an int64_t.
|
||||
*/
|
||||
static inline int64_t
|
||||
_mesa_i64roundevenf(float x)
|
||||
{
|
||||
#if LONG_MAX == INT64_MAX
|
||||
return _mesa_lroundevenf(x);
|
||||
#elif LONG_MAX == INT32_MAX
|
||||
return llrintf(x);
|
||||
#else
|
||||
#error "Unsupported long size"
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue