Changeset 7457:ae8cefdbfcca


Ignore:
Timestamp:
11/18/07 00:49:54 (6 years ago)
Author:
Robert Bradshaw <robertwb@…>
Branch:
default
Message:

Replace generic valuation for fallback.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sage/rings/arith.py

    r7456 r7457  
    2525from sage.interfaces.all import gp 
    2626from sage.misc.misc import prod 
     27from sage.rings.fraction_field_element import is_FractionFieldElement 
    2728 
    2829import integer_ring 
     
    422423        1 
    423424    """ 
    424     return m.valuation(p) 
    425  
     425    if hasattr(m, 'valuation'): 
     426        return m.valuation(p) 
     427    if m == 0: 
     428        import sage.rings.all 
     429        return sage.rings.all.infinity 
     430    if is_FractionFieldElement(m): 
     431        return valuation(m.numerator()) - valuation(m.denominator()) 
     432    r = 0 
     433    power = p 
     434    while not (m % power): # m % power == 0 
     435        r += 1 
     436        power *= p 
     437    return r 
    426438 
    427439 
Note: See TracChangeset for help on using the changeset viewer.