libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

commit db32818ba9ebe683fba199aba6cd0a7c7ca30fef
parent 46db111e949c4b36737f81fb217e5e72f4f198ba
Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev>
Date:   Tue, 30 Jun 2026 01:34:09 +0200

mhd_predict: minor code and description improvements

Diffstat:
Msrc/mhd2/mhd_predict.h | 26++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/mhd2/mhd_predict.h b/src/mhd2/mhd_predict.h @@ -101,14 +101,16 @@ * * Hint that @p cond is expected to be true with probability @p prob. * - * @param cond Boolean-like expression; evaluated exactly once. - * @param prob Anticipated probability in the range [0.0, 1.0]. - * Only compile-time constants; avoid 0.0 or 1.0. - * * Expands to compiler-specific intrinsics when available; otherwise to * a boolean normalisation of @p cond. * + * @param cond Boolean-like expression; evaluated exactly once. + * @param prob Anticipated probability in the range (0.5, 1.0]. + * Only compile-time constants; avoid 1.0. + * * @see mhd_COND_PRED_FALSE_P + * @warning Technically, @a prob is accepted in the range [0.0, 1.0], but for + * values lower than 0.5 #mhd_COND_PRED_FALSE_P() must be used instead */ /** @@ -116,14 +118,16 @@ * * Hint that @p cond is expected to be false with probability @p prob. * - * @param cond Boolean-like expression; evaluated exactly once. - * @param prob Anticipated probability in the range [0.0, 1.0]. - * Only compile-time constants; avoid 0.0 or 1.0. - * * Expands to compiler-specific intrinsics when available; otherwise to * a boolean normalisation of @p cond. * + * @param cond Boolean-like expression; evaluated exactly once. + * @param prob Anticipated probability in the range (0.5, 1.0]. + * Only compile-time constants; avoid 1.0. + * * @see mhd_COND_PRED_TRUE_P + * @warning Technically, @a prob is accepted in the range [0.0, 1.0], but for + * values lower than 0.5 #mhd_COND_PRED_TRUE_P() must be used instead */ @@ -133,8 +137,10 @@ # define mhd_COND_PRED_FALSE_P(cond,prob) \ __builtin_expect_with_probability (! ! (cond), 0, (prob)) #elif defined(MHD_HAVE___BUILTIN_EXPECT) -# define mhd_COND_PRED_TRUE_P(cond,prob) __builtin_expect (! ! (cond), ! 0) -# define mhd_COND_PRED_FALSE_P(cond,prob) __builtin_expect (! ! (cond), 0) +# define mhd_COND_PRED_TRUE_P(cond,prob) \ + (((prob) < 0.85) ? (! ! (cond)) : (__builtin_expect (! ! (cond), ! 0))) +# define mhd_COND_PRED_FALSE_P(cond,prob) \ + (((prob) < 0.85) ? (! ! (cond)) : (__builtin_expect (! ! (cond), 0))) #else # define mhd_COND_PRED_TRUE_P(cond,prob) (! ! (cond)) # define mhd_COND_PRED_FALSE_P(cond,prob) (! ! (cond))