Changeset 7382:d811ced9a6dd


Ignore:
Timestamp:
11/07/07 08:29:09 (6 years ago)
Author:
Martin Albrecht <malb@…>
Branch:
default
Message:

fix for #1122 (error in libsingular -> givaro conversion)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sage/libs/singular/singular.pyx

    r7367 r7382  
    9898        OUTPUT: 
    9999            An Element in GF(q). 
    100          
     100 
     101        EXAMPLE: 
     102            sage: K.<a> = GF(5^3) 
     103            sage: R.<x,y,z> = PolynomialRing(K) 
     104            sage: K( (4*R(a)^2 + R(a))^3 ) 
     105            a^2 
    101106        """ 
    102107        cdef napoly *z 
     
    104109        cdef int a 
    105110        cdef int ret 
     111        cdef int order 
    106112 
    107113        if naIsZero(n): 
     
    113119        a = base.objectptr.sage_generator() 
    114120        ret = base.objectptr.zero 
    115  
     121        order = base.objectptr.cardinality() - 1 
     122         
    116123        while z: 
    117124            c = base.objectptr.initi(c,<long>napGetCoeff(z)) 
    118125            e = napGetExp(z,1) 
    119126            if e == 0: 
    120                 ret = base.objectptr.add(ret, <int>c, ret) 
     127                ret = base.objectptr.add(ret, c, ret) 
    121128            else: 
    122                 a = e * base.objectptr.sage_generator() 
    123                 ret = base.objectptr.axpy(ret, <int>c, a, ret) 
     129                a = ( e * base.objectptr.sage_generator() ) % order 
     130                ret = base.objectptr.axpy(ret, c, a, ret) 
    124131            z = napIter(z) 
    125132        return (<FiniteField_givaroElement>base._zero_element)._new_c(ret) 
Note: See TracChangeset for help on using the changeset viewer.