Ticket #7879: trac_7879-harmless_fuzz_2.diff

File trac_7879-harmless_fuzz_2.diff, 16.1 KB (added by Leif Leonhardy, 11 years ago)

Do not apply. Fuzz against Sage 4.7.2.alpha2. For reference only.

  • .patch

    old new  
    11# HG changeset patch
    22# User Robert Bradshaw <robertwb@math.washington.edu>
    33# Date 1263066099 28800
    4 # Node ID 8cdc0dd8ba61b3ecb646dedf14650ab13d7f5405
    5 # Parent  c8f01838c8d5e7abece0ca915bab4c47b7d5b3da
     4# Node ID 925df2316d52179ed2025dcdc46c63120b32c8fe
     5# Parent  eb1b6cc7087907589a6592e331a3adfbc78b2014
    66Trac #7879: Remove unnecessary signal handling for low prec mpfr operations.
    77
    8 diff -r c8f01838c8d5 -r 8cdc0dd8ba61 sage/rings/real_mpfr.pyx
    9 --- a/sage/rings/real_mpfr.pyx  Fri Mar 04 00:34:43 2011 -0800
    10 +++ b/sage/rings/real_mpfr.pyx  Sat Jan 09 11:41:39 2010 -0800
    11 @@ -165,6 +165,11 @@
     8diff --git a/sage/rings/real_mpfr.pyx b/sage/rings/real_mpfr.pyx
     9--- a/sage/rings/real_mpfr.pyx
     10+++ b/sage/rings/real_mpfr.pyx
     11@@ -167,6 +167,11 @@
    1212 cdef object numpy_double_interface = {'typestr': '=f8'}
    1313 cdef object numpy_object_interface = {'typestr': '|O'}
    1414 
     
    2020 #*****************************************************************************
    2121 #
    2222 #       External Python access to constants
    23 @@ -808,9 +813,8 @@
     23@@ -810,9 +815,8 @@
    2424             sage: R.pi().sqrt()/2
    2525             0.88622692545275801364908374167057259139877473
    2626         """
     
    3232         # The docs for mpfr_free_cache say "Free the cache used by
    3333         # the functions computing constants if needed (currently
    3434         # mpfr_const_log2, mpfr_const_pi and mpfr_const_euler)", so
    35 @@ -820,7 +824,7 @@
     35@@ -822,7 +826,7 @@
    3636         # functions, but this free is needed for them too!
    3737         mpfr_free_cache()
    3838         mpfr_const_pi(x.value, self.rnd)
     
    4141         return x
    4242 
    4343 
    44 @@ -834,8 +838,7 @@
     44@@ -836,8 +840,7 @@
    4545             sage: RealField(100).euler_constant()
    4646             0.57721566490153286060651209008
    4747         """
     
    5151         sig_on()
    5252         mpfr_free_cache()
    5353         mpfr_const_euler(x.value, self.rnd)
    54 @@ -852,12 +855,11 @@
     54@@ -854,12 +857,11 @@
    5555             sage: RealField(100).catalan_constant()
    5656             0.91596559417721901505460351493
    5757         """
     
    6767         return x
    6868 
    6969     # int mpfr_const_log2 (mpfr_t rop, mp_rnd_t rnd)
    70 @@ -875,10 +877,10 @@
     70@@ -877,10 +879,10 @@
    7171             0.69314718055994530941723212146
    7272         """
    7373         cdef RealNumber x = self._new()
     
    8080         return x
    8181         
    8282     def random_element(self, min=-1, max=1, distribution=None):
    83 @@ -961,9 +963,9 @@
     83@@ -963,9 +965,9 @@
    8484         if n < 0:
    8585             raise ArithmeticError, "n must be nonnegative"
    8686         x = self._new()
     
    9292         return x
    9393 
    9494     def rounding_mode(self):
    95 @@ -1866,8 +1868,7 @@
     95@@ -1868,8 +1870,7 @@
    9696             sage: R(-1.5) + R(2.5)
    9797             1.00000000000000
    9898         """
     
    102102         mpfr_add(x.value, self.value, (<RealNumber>other).value, (<RealField_class>self._parent).rnd)
    103103         return x
    104104         
    105 @@ -1884,8 +1885,7 @@
     105@@ -1886,8 +1887,7 @@
    106106             sage: R(-1.5) - R(2.5)
    107107             -4.00000000000000
    108108         """
     
    112112         mpfr_sub(x.value, self.value, (<RealNumber>right).value, (<RealField_class> self._parent).rnd)
    113113         return x
    114114         
    115 @@ -1919,8 +1919,7 @@
     115@@ -1921,8 +1921,7 @@
    116116             sage: parent(b*a)
    117117             Real Field with 20 bits of precision
    118118         """
     
    122122         mpfr_mul(x.value, self.value, (<RealNumber>right).value, (<RealField_class>self._parent).rnd)
    123123         return x
    124124     
    125 @@ -1943,8 +1942,7 @@
     125@@ -1945,8 +1944,7 @@
    126126             sage: R(-1.5) / R(2.5)
    127127             -0.600000000000000
    128128         """
     
    132132         mpfr_div((<RealNumber>x).value, self.value,
    133133                  (<RealNumber>right).value, (<RealField_class>self._parent).rnd)
    134134         return x
    135 @@ -1962,8 +1960,7 @@
     135@@ -1964,8 +1962,7 @@
    136136             sage: RR('nan')._neg_()
    137137             NaN
    138138         """
     
    142142         mpfr_neg(x.value, self.value, (<RealField_class>self._parent).rnd)
    143143         return x
    144144 
    145 @@ -1999,8 +1996,7 @@
     145@@ -2001,8 +1998,7 @@
    146146             sage: RR('nan').abs()
    147147             NaN
    148148         """
     
    152152         mpfr_abs(x.value, self.value, (<RealField_class>self._parent).rnd)
    153153         return x
    154154 
    155 @@ -2056,8 +2052,7 @@
     155@@ -2058,8 +2054,7 @@
    156156         """
    157157         if n > sys.maxint:
    158158             raise OverflowError, "n (=%s) must be <= %s"%(n, sys.maxint)
     
    162162         mpfr_div_2exp(x.value, self.value, n, (<RealField_class>self._parent).rnd)
    163163         return x
    164164 
    165 @@ -2246,8 +2241,7 @@
     165@@ -2248,8 +2243,7 @@
    166166              sage: RR(-0.5).round()
    167167              -1
    168168          """
     
    172172         mpfr_round(x.value, self.value)
    173173         return x.integer_part()
    174174 
    175 @@ -2324,8 +2318,7 @@
     175@@ -2326,8 +2320,7 @@
    176176             sage: (0.00).trunc()
    177177             0
    178178         """
     
    182182         mpfr_trunc(x.value, self.value)
    183183         return x.integer_part()
    184184 
    185 @@ -2378,8 +2371,7 @@
     185@@ -2380,8 +2373,7 @@
    186186         else:
    187187             other_rn = self._parent(other)
    188188 
     
    192192         
    193193         mpfr_set(x.value, self.value, GMP_RNDN)
    194194         mpfr_nexttoward(x.value, other_rn.value)
    195 @@ -2404,8 +2396,7 @@
     195@@ -2406,8 +2398,7 @@
    196196             '-1.4142135623730949'
    197197         """
    198198 
     
    202202         mpfr_set(x.value, self.value, GMP_RNDN)
    203203         mpfr_nextabove(x.value)
    204204 
    205 @@ -2429,8 +2420,7 @@
     205@@ -2431,8 +2422,7 @@
    206206             '-1.4142135623730954'
    207207         """
    208208 
     
    212212         mpfr_set(x.value, self.value, GMP_RNDN)
    213213         mpfr_nextbelow(x.value)
    214214 
    215 @@ -3396,9 +3386,9 @@
     215@@ -3397,9 +3387,9 @@
    216216         cdef RealNumber x
    217217         if mpfr_cmp_ui(self.value, 0) >= 0:
    218218             x = self._new()
     
    224224             if all:
    225225                 if x.is_zero():
    226226                     return [x]
    227 @@ -3441,11 +3431,10 @@
     227@@ -3442,11 +3432,10 @@
    228228             sage: r.cube_root()^3 - r       # illustrates precision loss
    229229             -1.42108547152020e-14
    230230         """
     
    239239         return x
    240240 
    241241     def __pow(self, RealNumber exponent):
    242 @@ -3542,9 +3531,9 @@
     242@@ -3569,9 +3558,9 @@
    243243                 return self._complex_number_().log(base)
    244244         if base == 'e':
    245245             x = self._new()
     
    251251             return x
    252252         elif base == 10:
    253253             return self.log10()
    254 @@ -3583,9 +3572,9 @@
     254@@ -3610,9 +3599,9 @@
    255255         if self < 0:
    256256             return self._complex_number_().log(2)
    257257         x = self._new()
     
    263263         return x
    264264 
    265265     def log10(self):
    266 @@ -3620,9 +3609,9 @@
     266@@ -3647,9 +3636,9 @@
    267267         if self < 0:
    268268             return self._complex_number_().log(10)
    269269         x = self._new()
     
    275275         return x
    276276 
    277277     def log1p(self):
    278 @@ -3636,6 +3625,18 @@
    279              sage: (r+1).log()
    280              2.77258872223978
     278@@ -3675,6 +3664,18 @@
     279             sage: (1+r100).log()
     280             2.9999999995500000000978021372e-10
    281281         
    282282+        For small values, this is more accurate than computing `log(1 + self)`
    283283+        directly, as it avoid cancelation issues::
     
    294294         ::
    295295         
    296296             sage: r = 38.9; r.log1p()
    297 @@ -3657,9 +3658,9 @@
     297@@ -3696,9 +3697,9 @@
    298298         if self < -1:
    299299             return (self+1.0)._complex_number_().log()
    300300         x = self._new()
     
    306306         return x
    307307 
    308308     def exp(self):
    309 @@ -3686,8 +3687,7 @@
     309@@ -3725,8 +3726,7 @@
    310310             sage: r.exp()
    311311             9.38184458849869e-15
    312312         """
     
    316316         sig_on()               
    317317         mpfr_exp(x.value, self.value, (<RealField_class>self._parent).rnd)
    318318         sig_off()       
    319 @@ -3715,11 +3715,10 @@
     319@@ -3754,11 +3754,10 @@
    320320             sage: r.exp2()
    321321             1.89117248253021e-10
    322322         """
     
    331331         return x
    332332 
    333333     def exp10(self):
    334 @@ -3744,11 +3743,10 @@
     334@@ -3783,11 +3782,10 @@
    335335             sage: r.exp10()
    336336             5.01187233627276e-33
    337337         """
     
    346346         return x
    347347 
    348348     def expm1(self):
    349 @@ -3770,11 +3768,10 @@
     349@@ -3809,11 +3807,10 @@
    350350             sage: r.expm1()
    351351             1.00000000000000e-16
    352352         """
     
    361361         return x
    362362 
    363363     def eint(self):
    364 @@ -3793,11 +3790,10 @@
     364@@ -3832,11 +3829,10 @@
    365365             sage: r.eint()
    366366             NaN
    367367         """
     
    376376         return x
    377377 
    378378     def cos(self):
    379 @@ -3810,9 +3806,8 @@
     379@@ -3849,9 +3845,8 @@
    380380             sage: t.cos()
    381381             6.12323399573677e-17
    382382         """
     
    388388         mpfr_cos(x.value, self.value, (<RealField_class>self._parent).rnd)
    389389         sig_off()       
    390390         return x
    391 @@ -3836,8 +3831,7 @@
     391@@ -3875,8 +3870,7 @@
    392392             sage: R(2).sin()
    393393             0.90929742682568169539601986591
    394394         """
     
    398398         sig_on()               
    399399         mpfr_sin(x.value, self.value, (<RealField_class>self._parent).rnd)
    400400         sig_off()
    401 @@ -3856,8 +3850,7 @@
     401@@ -3895,8 +3889,7 @@
    402402             sage: q.tan()
    403403             0.577350269189626
    404404         """
     
    408408         sig_on()               
    409409         mpfr_tan(x.value, self.value, (<RealField_class>self._parent).rnd)
    410410         sig_off()
    411 @@ -3896,8 +3889,7 @@
     411@@ -3935,8 +3928,7 @@
    412412             sage: i.arccos() == q
    413413             True
    414414         """
     
    418418         sig_on()               
    419419         mpfr_acos(x.value, self.value, (<RealField_class>self._parent).rnd)
    420420         sig_off()       
    421 @@ -3916,8 +3908,7 @@
     421@@ -3955,8 +3947,7 @@
    422422             sage: i.arcsin() - q
    423423             0.000000000000000
    424424         """
     
    428428         sig_on()               
    429429         mpfr_asin(x.value, self.value, (<RealField_class>self._parent).rnd)
    430430         sig_off()       
    431 @@ -3934,8 +3925,7 @@
     431@@ -3973,8 +3964,7 @@
    432432             sage: i.arctan() == q
    433433             True
    434434         """
     
    438438         sig_on()               
    439439         mpfr_atan(x.value, self.value, (<RealField_class>self._parent).rnd)
    440440         sig_off()       
    441 @@ -3955,8 +3945,7 @@
     441@@ -3994,8 +3984,7 @@
    442442             sage: q.cosh()
    443443             1.03446564009551
    444444         """
     
    448448         sig_on()               
    449449         mpfr_cosh(x.value, self.value, (<RealField_class>self._parent).rnd)
    450450         sig_off()       
    451 @@ -3972,8 +3961,7 @@
     451@@ -4011,8 +4000,7 @@
    452452             sage: q.sinh()
    453453             0.264800227602271
    454454         """
     
    458458         sig_on()               
    459459         mpfr_sinh(x.value, self.value, (<RealField_class>self._parent).rnd)
    460460         sig_off()       
    461 @@ -3989,8 +3977,7 @@
     461@@ -4028,8 +4016,7 @@
    462462             sage: q.tanh()
    463463             0.278079429295850
    464464         """
     
    468468         sig_on()               
    469469         mpfr_tanh(x.value, self.value, (<RealField_class>self._parent).rnd)
    470470         sig_off()       
    471 @@ -4005,8 +3992,7 @@
     471@@ -4044,8 +4031,7 @@
    472472             sage: RealField(100)(2).coth()
    473473             1.0373147207275480958778097648
    474474         """
     
    478478         sig_on()               
    479479         mpfr_coth(x.value, self.value, (<RealField_class>self._parent).rnd)
    480480         sig_off()       
    481 @@ -4034,8 +4020,7 @@
     481@@ -4073,8 +4059,7 @@
    482482             sage: RealField(100)(2).cot()
    483483             -0.45765755436028576375027741043
    484484         """
     
    488488         sig_on()               
    489489         mpfr_cot(x.value, self.value, (<RealField_class>self._parent).rnd)
    490490         sig_off()       
    491 @@ -4050,8 +4035,7 @@
     491@@ -4089,8 +4074,7 @@
    492492             sage: RealField(100)(2).csch()
    493493             0.27572056477178320775835148216
    494494         """
     
    498498         sig_on()               
    499499         mpfr_csch(x.value, self.value, (<RealField_class>self._parent).rnd)
    500500         sig_off()       
    501 @@ -4079,8 +4063,7 @@
     501@@ -4118,8 +4102,7 @@
    502502             sage: RealField(100)(2).csc()
    503503             1.0997501702946164667566973970
    504504         """
     
    508508         sig_on()               
    509509         mpfr_csc(x.value, self.value, (<RealField_class>self._parent).rnd)
    510510         sig_off()       
    511 @@ -4095,8 +4078,7 @@
     511@@ -4134,8 +4117,7 @@
    512512             sage: RealField(100)(2).sech()
    513513             0.26580222883407969212086273982
    514514         """
     
    518518         sig_on()               
    519519         mpfr_sech(x.value, self.value, (<RealField_class>self._parent).rnd)
    520520         sig_off()       
    521 @@ -4124,8 +4106,7 @@
     521@@ -4163,8 +4145,7 @@
    522522             sage: RealField(100)(2).sec()
    523523             -2.4029979617223809897546004014
    524524         """
     
    528528         sig_on()               
    529529         mpfr_sec(x.value, self.value, (<RealField_class>self._parent).rnd)
    530530         sig_off()       
    531 @@ -4143,8 +4124,7 @@
     531@@ -4182,8 +4163,7 @@
    532532             sage: q == i.arccosh()
    533533             True
    534534         """
     
    538538         sig_on()               
    539539         mpfr_acosh(x.value, self.value, (<RealField_class>self._parent).rnd)
    540540         sig_off()       
    541 @@ -4162,8 +4142,7 @@
     541@@ -4201,8 +4181,7 @@
    542542             sage: i.arcsinh() - q
    543543             0.000000000000000
    544544         """
     
    548548         sig_on()               
    549549         mpfr_asinh(x.value, self.value, (<RealField_class>self._parent).rnd)
    550550         sig_off()       
    551 @@ -4181,8 +4160,7 @@
     551@@ -4220,8 +4199,7 @@
    552552             sage: i.arctanh() - q
    553553             0.000000000000000
    554554         """
     
    558558         sig_on()       
    559559         mpfr_atanh(x.value, self.value, (<RealField_class>self._parent).rnd)
    560560         sig_off()       
    561 @@ -4272,8 +4250,7 @@
     561@@ -4311,8 +4289,7 @@
    562562             sage: R(6).erf()
    563563             1.00000000000000
    564564         """
     
    568568         sig_on()
    569569         mpfr_erf(x.value, self.value, (<RealField_class>self._parent).rnd)
    570570         sig_off()
    571 @@ -4292,8 +4269,7 @@
     571@@ -4331,8 +4308,7 @@
    572572             sage: R(6).erfc()
    573573             2.15197367124989e-17
    574574         """
     
    578578         sig_on()
    579579         mpfr_erfc(x.value, self.value, (<RealField_class>self._parent).rnd)
    580580         sig_off()
    581 @@ -4309,8 +4285,7 @@
     581@@ -4348,8 +4324,7 @@
    582582             sage: R(2).j0()
    583583             0.223890779141236
    584584         """
     
    588588         sig_on()
    589589         mpfr_j0(x.value, self.value, (<RealField_class>self._parent).rnd)
    590590         sig_off()
    591 @@ -4326,8 +4301,7 @@
     591@@ -4365,8 +4340,7 @@
    592592             sage: R(2).j1()
    593593             0.576724807756873
    594594         """
     
    598598         sig_on()
    599599         mpfr_j1(x.value, self.value, (<RealField_class>self._parent).rnd)
    600600         sig_off()
    601 @@ -4346,8 +4320,7 @@
     601@@ -4385,8 +4359,7 @@
    602602             sage: R(2).jn(-17)
    603603             -2.65930780516787e-15
    604604         """
     
    608608         sig_on()
    609609         mpfr_jn(x.value, n, self.value, (<RealField_class>self._parent).rnd)
    610610         sig_off()
    611 @@ -4363,8 +4336,7 @@
     611@@ -4402,8 +4375,7 @@
    612612             sage: R(2).y0()
    613613             0.510375672649745
    614614         """
     
    618618         sig_on()
    619619         mpfr_y0(x.value, self.value, (<RealField_class>self._parent).rnd)
    620620         sig_off()
    621 @@ -4380,8 +4352,7 @@
     621@@ -4419,8 +4391,7 @@
    622622             sage: R(2).y1()
    623623             -0.107032431540938
    624624         """
     
    628628         sig_on()
    629629         mpfr_y1(x.value, self.value, (<RealField_class>self._parent).rnd)
    630630         sig_off()
    631 @@ -4400,8 +4371,7 @@
     631@@ -4439,8 +4410,7 @@
    632632             sage: R(2).yn(-17)
    633633             7.09038821729481e12
    634634         """
     
    638638         sig_on()
    639639         mpfr_yn(x.value, n, self.value, (<RealField_class>self._parent).rnd)
    640640         sig_off()
    641 @@ -4419,11 +4389,10 @@
     641@@ -4458,11 +4428,10 @@
    642642             sage: R(1.5).gamma()
    643643             0.886226925452758
    644644         """
     
    653653         return x
    654654 
    655655     def lngamma(self):
    656 @@ -4454,11 +4423,10 @@
     656@@ -4493,11 +4462,10 @@
    657657             sage: R(1e10).log_gamma()
    658658             2.20258509288811e11
    659659         """
     
    668668         return x
    669669 
    670670     def zeta(self):
    671 @@ -4506,8 +4474,7 @@
     671@@ -4545,8 +4513,7 @@
    672672             sage: R(z)
    673673             1.64493406684823
    674674         """