Changeset 5923:ef0306350890


Ignore:
Timestamp:
08/15/07 09:58:45 (6 years ago)
Author:
'Martin Albrecht <malb@…
Branch:
default
Message:

set _zero/_one_element for RealField?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sage/rings/real_mpfr.pyx

    r5482 r5923  
    165165 
    166166    def __init__(self, int prec=53, int sci_not=0, rnd="RNDN"): 
     167        cdef RealNumber rn 
     168 
    167169        if prec < MPFR_PREC_MIN or prec > MPFR_PREC_MAX: 
    168170            raise ValueError, "prec (=%s) must be >= %s and <= %s."%( 
     
    179181        ParentWithGens.__init__(self, self, tuple([]), False) 
    180182 
     183        # hack, we cannot call the constructor here 
     184        rn = PY_NEW(RealNumber) 
     185        rn._parent = self 
     186        mpfr_init2(rn.value, self.__prec) 
     187        rn.init = 1 
     188        mpfr_set_d(rn.value, 0.0, self.rnd) 
     189        self._zero_element = rn 
     190 
     191        rn = PY_NEW(RealNumber) 
     192        rn._parent = self 
     193        mpfr_init2(rn.value, self.__prec) 
     194        rn.init = 1 
     195        mpfr_set_d(rn.value, 1.0, self.rnd) 
     196        self._one_element = rn 
     197 
    181198    cdef RealNumber _new(self): 
    182199        """ 
     
    530547        """ 
    531548        cdef RealNumber x 
    532         x = PY_NEW(RealNumber) 
     549        x = PY_NEW(RealNumber)  
    533550        x._parent = self._parent 
    534551        mpfr_init2(x.value, (<RealField>self._parent).__prec) 
Note: See TracChangeset for help on using the changeset viewer.