Changeset 8542:566052e39256


Ignore:
Timestamp:
12/02/07 01:30:12 (5 years ago)
Author:
Robert Bradshaw <robertwb@…>
Branch:
default
Message:

Copy D for quadratic field elements in _new

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sage/rings/number_field/number_field_element_quadratic.pyx

    r8097 r8542  
    5656 
    5757cdef class NumberFieldElement_quadratic(NumberFieldElement_absolute): 
     58 
    5859    def __init__(self, parent, f): 
    5960        """ 
     
    155156                mpz_set_ui(self.denom, 1) 
    156157         
     158    cdef _new(self): 
     159        """ 
     160        Quickly creates a new initialized NumberFieldElement with the 
     161        same parent as self. 
     162        """ 
     163        cdef NumberFieldElement_quadratic x 
     164        x = <NumberFieldElement_quadratic>PY_NEW_SAME_TYPE(self) 
     165        x._parent = self._parent 
     166        x.D = self.D 
     167        return x 
     168 
    157169    cdef number_field(self): 
    158170        return self._parent 
     
    179191        mpz_set(x.b, self.b) 
    180192        mpz_set(x.denom, self.denom) 
    181         x.D = self.D 
    182193        return x 
    183194         
     
    319330        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    320331        cdef mpz_t gcd, tmp 
    321         res.D = self.D 
    322332        if mpz_cmp(self.denom, other.denom) == 0: 
    323333            mpz_add(res.a, self.a, other.a) 
     
    366376        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    367377        cdef mpz_t gcd, tmp 
    368         res.D = self.D 
    369378        if mpz_cmp(self.denom, other.denom) == 0: 
    370379            mpz_sub(res.a, self.a, other.a) 
     
    408417        """ 
    409418        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    410         res.D = self.D 
    411419        mpz_neg(res.a, self.a) 
    412420        mpz_neg(res.b, self.b) 
     
    439447        cdef NumberFieldElement_quadratic other = <NumberFieldElement_quadratic>other_m 
    440448        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    441         res.D = self.D 
    442449        cdef mpz_t tmp 
    443450         
     
    482489        cdef Rational c =  <Rational>_c 
    483490        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    484         res.D = self.D 
    485491        mpz_mul(res.a, self.a, mpq_numref(c.value)) 
    486492        mpz_mul(res.b, self.b, mpq_numref(c.value)) 
     
    499505        cdef Rational c =  <Rational>_c 
    500506        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    501         res.D = self.D 
    502507        mpz_mul(res.a, self.a, mpq_numref(c.value)) 
    503508        mpz_mul(res.b, self.b, mpq_numref(c.value)) 
     
    543548        """ 
    544549        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    545         res.D = self.D 
    546550        cdef mpz_t tmp, gcd 
    547551        mpz_init(tmp) 
     
    577581    cdef NumberFieldElement conjugate_c(self): 
    578582        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    579         res.D = self.D 
    580583        mpz_set(res.a, self.a) 
    581584        mpz_neg(res.b, self.b) 
     
    905908        cdef Integer c = <Integer>_c 
    906909        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    907         res.D = self.D 
    908910        mpz_mul(res.a, self.a, c.value) 
    909911        mpz_mul(res.b, self.b, c.value) 
     
    925927        cdef Integer c = <Integer>_c 
    926928        cdef NumberFieldElement_quadratic res = <NumberFieldElement_quadratic>self._new() 
    927         res.D = self.D 
    928929        mpz_mul(res.a, self.a, c.value) 
    929930        mpz_mul(res.b, self.b, c.value) 
Note: See TracChangeset for help on using the changeset viewer.