tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

19_remove_unneeded_round_to_integer_helpers.patch (1807B)


      1 diff --git a/math_private.h b/math_private.h
      2 --- a/math_private.h
      3 +++ b/math_private.h
      4 @@ -612,46 +612,16 @@ rnint(__double_t x)
      5 	 * magic number would need to be variable.  Assuming that the
      6 	 * rounding precision is always the default is too fragile.  This
      7 	 * and many other complications will move when the default is
      8 	 * changed to FP_PE.
      9 	 */
     10 	return ((double)(x + 0x1.8p52) - 0x1.8p52);
     11 }
     12 
     13 -static inline float
     14 -rnintf(__float_t x)
     15 -{
     16 -	/*
     17 -	 * As for rnint(), except we could just call that to handle the
     18 -	 * extra precision case, usually without losing efficiency.
     19 -	 */
     20 -	return ((float)(x + 0x1.8p23F) - 0x1.8p23F);
     21 -}
     22 -
     23 -#ifdef LDBL_MANT_DIG
     24 -/*
     25 - * The complications for extra precision are smaller for rnintl() since it
     26 - * can safely assume that the rounding precision has been increased from
     27 - * its default to FP_PE on x86.  We don't exploit that here to get small
     28 - * optimizations from limiting the rangle to double.  We just need it for
     29 - * the magic number to work with long doubles.  ld128 callers should use
     30 - * rnint() instead of this if possible.  ld80 callers should prefer
     31 - * rnintl() since for amd64 this avoids swapping the register set, while
     32 - * for i386 it makes no difference (assuming FP_PE), and for other arches
     33 - * it makes little difference.
     34 - */
     35 -static inline long double
     36 -rnintl(long double x)
     37 -{
     38 -	return (x + __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2 -
     39 -	    __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2);
     40 -}
     41 -#endif /* LDBL_MANT_DIG */
     42 -
     43 /*
     44  * irint() and i64rint() give the same result as casting to their integer
     45  * return type provided their arg is a floating point integer.  They can
     46  * sometimes be more efficient because no rounding is required.
     47  */
     48 #if defined(amd64) || defined(__i386__)
     49 #define	irint(x)						\
     50     (sizeof(x) == sizeof(float) &&				\