Ticket #9828: 4_typing_issue.patch

File 4_typing_issue.patch, 12.2 KB (added by robertwb, 12 years ago)
  • sage/libs/pari/gen.pyx

    # HG changeset patch
    # User Craig Citro <craigcitro@gmail.com>
    # Date 1275089380 25200
    # Node ID 362315e467acf436c3c081efbf77e4cd7c57d617
    # Parent  65e33f0777f16f38ae6d899e1de237e8dd98683d
    Remove some extraneous explicit types.
    
    diff -r 65e33f0777f1 -r 362315e467ac sage/libs/pari/gen.pyx
    a b  
    83828382        if PyObject_TypeCheck(s, gen):
    83838383            return s
    83848384        elif PyObject_TypeCheck(s, Integer):
    8385             return self.new_gen_from_mpz_t(<mpz_t>(<void *>s + mpz_t_offset))
     8385            return self.new_gen_from_mpz_t(<void *>s + mpz_t_offset)
    83868386        elif PyObject_HasAttrString(s, "_pari_"):
    83878387            return s._pari_()
    83888388        elif isinstance(s, (types.ListType, types.XRangeType,
  • sage/rings/complex_interval.pyx

    diff -r 65e33f0777f1 -r 362315e467ac sage/rings/complex_interval.pyx
    a b  
    9595            R = parent._real_field()
    9696            rr = R(real)
    9797            ii = R(imag)
    98             mpfi_set(self.__re, <mpfi_t> rr.value)
    99             mpfi_set(self.__im, <mpfi_t> ii.value)
     98            mpfi_set(self.__re, rr.value)
     99            mpfi_set(self.__im, ii.value)
    100100        except TypeError:
    101101            raise TypeError, "unable to coerce to a ComplexIntervalFieldElement"
    102102
     
    246246            True
    247247        """
    248248        cdef ComplexIntervalFieldElement a00 = self._new()
    249         mpfr_set(<mpfr_t> &a00.__re.left, <mpfr_t> &self.__re.left, GMP_RNDN)
    250         mpfi_mid(<mpfr_t> &a00.__re.right, self.__re)
    251         mpfr_set(<mpfr_t> &a00.__im.left, <mpfr_t> &self.__im.left, GMP_RNDN)
    252         mpfi_mid(<mpfr_t> &a00.__im.right, self.__im)
     249        mpfr_set(&a00.__re.left, &self.__re.left, GMP_RNDN)
     250        mpfi_mid(&a00.__re.right, self.__re)
     251        mpfr_set(&a00.__im.left, &self.__im.left, GMP_RNDN)
     252        mpfi_mid(&a00.__im.right, self.__im)
    253253
    254254        cdef ComplexIntervalFieldElement a01 = self._new()
    255         mpfr_set(<mpfr_t> &a01.__re.left, <mpfr_t> &a00.__re.right, GMP_RNDN)
    256         mpfr_set(<mpfr_t> &a01.__re.right, <mpfr_t> &self.__re.right, GMP_RNDN)
     255        mpfr_set(&a01.__re.left, &a00.__re.right, GMP_RNDN)
     256        mpfr_set(&a01.__re.right, &self.__re.right, GMP_RNDN)
    257257        mpfi_set(a01.__im, a00.__im)
    258258       
    259259        cdef ComplexIntervalFieldElement a10 = self._new()
    260260        mpfi_set(a10.__re, a00.__re)
    261         mpfi_mid(<mpfr_t> &a10.__im.left, self.__im)
    262         mpfr_set(<mpfr_t> &a10.__im.right, <mpfr_t> &self.__im.right, GMP_RNDN)
     261        mpfi_mid(&a10.__im.left, self.__im)
     262        mpfr_set(&a10.__im.right, &self.__im.right, GMP_RNDN)
    263263       
    264264        cdef ComplexIntervalFieldElement a11 = self._new()
    265265        mpfi_set(a11.__re, a01.__re)
     
    469469        mpfi_sqr(t0, self.__re)
    470470        mpfi_sqr(t1, self.__im)
    471471
    472         mpfi_add(<mpfi_t> x.value, t0, t1)
     472        mpfi_add(x.value, t0, t1)
    473473       
    474474        mpfi_clear(t0)
    475475        mpfi_clear(t1)
     
    486486        mpfi_sqr(t0, self.__re)
    487487        mpfi_sqr(t1, self.__im)
    488488
    489         mpfi_add(<mpfi_t> x.value, t0, t1)
    490         mpfi_sqrt(<mpfi_t> x.value, <mpfi_t> x.value)
     489        mpfi_add(x.value, t0, t1)
     490        mpfi_sqrt(x.value, x.value)
    491491
    492492        mpfi_clear(t0)
    493493        mpfi_clear(t1)
  • sage/rings/complex_number.pyx

    diff -r 65e33f0777f1 -r 362315e467ac sage/rings/complex_number.pyx
    a b  
    154154            R = parent._real_field()
    155155            rr = R(real)
    156156            ii = R(imag)
    157             mpfr_set(self.__re, <mpfr_t> rr.value, rnd)
    158             mpfr_set(self.__im, <mpfr_t> ii.value, rnd)
     157            mpfr_set(self.__re, rr.value, rnd)
     158            mpfr_set(self.__im, ii.value, rnd)
    159159        except TypeError:
    160160            raise TypeError, "unable to coerce to a ComplexNumber: %s" % type(real)
    161161
     
    591591        mpfr_mul(t0, self.__re, self.__re, rnd)
    592592        mpfr_mul(t1, self.__im, self.__im, rnd)
    593593
    594         mpfr_add(<mpfr_t> x.value, t0, t1, rnd)
     594        mpfr_add(x.value, t0, t1, rnd)
    595595       
    596596        mpfr_clear(t0)
    597597        mpfr_clear(t1)
     
    608608        mpfr_mul(t0, self.__re, self.__re, rnd)
    609609        mpfr_mul(t1, self.__im, self.__im, rnd)
    610610
    611         mpfr_add(<mpfr_t> x.value, t0, t1, rnd)
    612         mpfr_sqrt(<mpfr_t> x.value, <mpfr_t> x.value, rnd)
     611        mpfr_add(x.value, t0, t1, rnd)
     612        mpfr_sqrt(x.value, x.value, rnd)
    613613
    614614        mpfr_clear(t0)
    615615        mpfr_clear(t1)
     
    759759        """
    760760        cdef real_mpfr.RealNumber x
    761761        x = real_mpfr.RealNumber(self._parent._real_field(), None)
    762         mpfr_set(<mpfr_t> x.value, self.__re, rnd)
     762        mpfr_set(x.value, self.__re, rnd)
    763763        return x
    764764
    765765    real_part = real
     
    781781        """
    782782        cdef real_mpfr.RealNumber x
    783783        x = real_mpfr.RealNumber(self._parent._real_field(), None)
    784         mpfr_set(<mpfr_t> x.value, self.__im, rnd)
     784        mpfr_set(x.value, self.__im, rnd)
    785785        return x
    786786
    787787    imag_part = imag
     
    950950            1.4142135623730951
    951951        """
    952952        if mpfr_zero_p(self.__im):
    953             return mpfr_get_d(<mpfr_t> self.__re, rnd)
     953            return mpfr_get_d(self.__re, rnd)
    954954        else:
    955955            raise TypeError, "Unable to convert %s to float; use abs() or real_part() as desired"%self
    956956       
     
    16971697        """
    16981698        cdef real_mpfr.RealNumber x
    16991699        x = real_mpfr.RealNumber(self._parent._real_field(), None)
    1700         mpfr_atan2(<mpfr_t> x.value, self.__im, self.__re, rnd)
     1700        mpfr_atan2(x.value, self.__im, self.__re, rnd)
    17011701        return x
    17021702       
    17031703
     
    20032003        rho = abs(self)
    20042004        arg = self.argument() / n
    20052005        mpfr_init2(r, self._prec)
    2006         mpfr_root(r, <mpfr_t> rho.value, n, rnd)
     2006        mpfr_root(r, rho.value, n, rnd)
    20072007
    2008         mpfr_sin_cos(z.__im, z.__re, <mpfr_t> arg.value, rnd)
     2008        mpfr_sin_cos(z.__im, z.__re, arg.value, rnd)
    20092009        mpfr_mul(z.__re, z.__re, r, rnd)
    20102010        mpfr_mul(z.__im, z.__im, r, rnd)
    20112011
     
    20202020        for k in range(1, n):
    20212021            z = self._new()
    20222022            arg += theta
    2023             mpfr_sin_cos(z.__im, z.__re, <mpfr_t> arg.value, rnd)
     2023            mpfr_sin_cos(z.__im, z.__re, arg.value, rnd)
    20242024            mpfr_mul(z.__re, z.__re, r, rnd)
    20252025            mpfr_mul(z.__im, z.__im, r, rnd)
    20262026            zlist.append(z)
  • sage/rings/real_mpfi.pyx

    diff -r 65e33f0777f1 -r 362315e467ac sage/rings/real_mpfi.pyx
    a b  
    986986            mpfi_set(self.value, _x.value)
    987987        elif PY_TYPE_CHECK(x, RealNumber):
    988988            rn = x
    989             mpfi_set_fr(self.value, <mpfr_t> rn.value)
     989            mpfi_set_fr(self.value, rn.value)
    990990        elif PY_TYPE_CHECK(x, Rational):
    991991            rat = x
    992992            mpfi_set_q(self.value, <mpq_t> rat.value)
     
    10041004            if PY_TYPE_CHECK(a, RealNumber) and PY_TYPE_CHECK(b, RealNumber):
    10051005                rn = a
    10061006                rn1 = b
    1007                 mpfi_interv_fr(self.value, <mpfr_t> rn.value, <mpfr_t> rn1.value)
     1007                mpfi_interv_fr(self.value, rn.value, rn1.value)
    10081008            elif PY_TYPE_CHECK(a, RealDoubleElement) and PY_TYPE_CHECK(b, RealDoubleElement):
    10091009                dx = a
    10101010                dx1 = b
     
    10251025            else:  # generic fallback
    10261026                rn  = self._parent(a).lower()
    10271027                rn1 = self._parent(b).upper()
    1028                 mpfi_interv_fr(self.value, <mpfr_t> rn.value, <mpfr_t> rn1.value)
     1028                mpfi_interv_fr(self.value, rn.value, rn1.value)
    10291029               
    10301030        elif isinstance(x, sage.rings.qqbar.AlgebraicReal):
    10311031            d = x.interval(self._parent)
     
    10501050                    rn1 = self._parent._upper_field()(x)
    10511051                except TypeError:
    10521052                    raise TypeError, "Unable to convert number to real interval."
    1053                 mpfi_interv_fr(self.value, <mpfr_t> rn.value, <mpfr_t> rn1.value)
     1053                mpfi_interv_fr(self.value, rn.value, rn1.value)
    10541054
    10551055    def __reduce__(self):
    10561056        """
     
    19441944            x = (<RealIntervalField_class>self._parent).__lower_field._new()
    19451945        else:
    19461946            x = (<RealField_class>(self._parent._real_field(rnd)))._new()
    1947         mpfi_get_left(<mpfr_t> x.value, self.value)
     1947        mpfi_get_left(x.value, self.value)
    19481948        return x
    19491949
    19501950    def upper(self, rnd =None):
     
    19941994            x = (<RealIntervalField_class>self._parent).__upper_field._new()
    19951995        else:
    19961996            x = ((<RealField_class>self._parent._real_field(rnd)))._new()
    1997         mpfi_get_right(<mpfr_t> x.value, self.value)
     1997        mpfi_get_right(x.value, self.value)
    19981998        return x
    19991999   
    20002000    def endpoints(self, rnd=None):
     
    20302030        """
    20312031        cdef RealNumber x
    20322032        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2033         mpfi_diam_abs(<mpfr_t> x.value, self.value)
     2033        mpfi_diam_abs(x.value, self.value)
    20342034        return x
    20352035
    20362036    def relative_diameter(self):
     
    20452045        """
    20462046        cdef RealNumber x
    20472047        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2048         mpfi_diam_rel(<mpfr_t> x.value, self.value)
     2048        mpfi_diam_rel(x.value, self.value)
    20492049        return x
    20502050
    20512051    def diameter(self):
     
    20762076        """
    20772077        cdef RealNumber x
    20782078        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2079         mpfi_diam(<mpfr_t> x.value, self.value)
     2079        mpfi_diam(x.value, self.value)
    20802080        return x
    20812081
    20822082    def fp_rank_diameter(self):
     
    21352135        """
    21362136        cdef RealNumber x
    21372137        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2138         mpfi_mag(<mpfr_t> x.value, self.value)
     2138        mpfi_mag(x.value, self.value)
    21392139        return x
    21402140
    21412141    def mignitude(self):
     
    21532153        """
    21542154        cdef RealNumber x
    21552155        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2156         mpfi_mig(<mpfr_t> x.value, self.value)
     2156        mpfi_mig(x.value, self.value)
    21572157        return x
    21582158
    21592159    def center(self):
     
    21672167        """
    21682168        cdef RealNumber x
    21692169        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2170         mpfi_mid(<mpfr_t> x.value, self.value)
     2170        mpfi_mid(x.value, self.value)
    21712171        return x
    21722172   
    21732173    def bisection(self):
     
    21922192        """
    21932193        cdef RealIntervalFieldElement left = self._new()
    21942194        cdef RealIntervalFieldElement right = self._new()
    2195         mpfr_set(<mpfr_t> &left.value.left, <mpfr_t> &self.value.left, GMP_RNDN)   
    2196         mpfi_mid(<mpfr_t> &left.value.right, self.value)
    2197         mpfi_interv_fr(right.value, <mpfr_t> &left.value.right, <mpfr_t> &self.value.right)
     2195        mpfr_set(&left.value.left, &self.value.left, GMP_RNDN)   
     2196        mpfi_mid(&left.value.right, self.value)
     2197        mpfi_interv_fr(right.value, &left.value.right, &self.value.right)
    21982198        return left, right
    21992199
    22002200    def alea(self):
     
    22092209        """
    22102210        cdef RealNumber x
    22112211        x = (<RealIntervalField_class>self._parent).__middle_field._new()
    2212         mpfi_alea(<mpfr_t> x.value, self.value)
     2212        mpfi_alea(x.value, self.value)
    22132213        return x
    22142214
    22152215#     def integer_part(self):
     
    30363036            return mpfi_is_inside(other_intv.value, self.value)
    30373037        elif PY_TYPE_CHECK(other, RealNumber):
    30383038            other_rn = other
    3039             return mpfi_is_inside_fr(<mpfr_t> other_rn.value, self.value)
     3039            return mpfi_is_inside_fr(other_rn.value, self.value)
    30403040        try:
    30413041            other_intv = self._parent(other)
    30423042            return mpfi_is_inside(other_intv.value, self.value)
     
    31413141        elif PY_TYPE_CHECK(other, RealNumber):
    31423142            other_rn = other
    31433143            mpfi_set(x.value, self.value)
    3144             mpfi_put_fr(x.value, <mpfr_t> other_rn.value)
     3144            mpfi_put_fr(x.value, other_rn.value)
    31453145        else:
    31463146            # Let type errors from _coerce_ propagate...
    31473147            other_intv = self._parent(other)