hb-private.hh: Add fallback implementation for round()

For pre-C99 compilers that do not support round(), we need to have a
simplistic implementation for it, when it is not detected during build
configuration, either via CMake or autotools, by using floor() and
ceil(), which are provided in the pre-C99 compilers.

Please see discussion at commit 86a0ac2 for more details for re-adding
this patch.
This commit is contained in:
Chun-wei Fan 2018-03-12 13:33:03 +08:00 committed by Behdad Esfahbod
parent 95f0458f44
commit 19256bef9d
1 changed files with 13 additions and 0 deletions

View File

@ -1070,4 +1070,17 @@ struct hb_string_t
}; };
/* fallback for round() */
#if !defined (HAVE_ROUND) && !defined (HAVE_DECL_ROUND)
static inline double
round (double x)
{
if (x >= 0)
return floor (x + 0.5);
else
return ceil (x - 0.5);
}
#endif
#endif /* HB_PRIVATE_HH */ #endif /* HB_PRIVATE_HH */