Changeset 6447:e539439d4989


Ignore:
Timestamp:
09/20/07 14:47:40 (6 years ago)
Author:
Robert Bradshaw <robertwb@…>
Branch:
default
Message:

More 1..n work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sage/misc/misc.py

    r6446 r6447  
    639639        L = [] 
    640640        while start < end: 
     641            L.append(start) 
    641642            start += step 
     643        return L 
     644 
     645 
     646def xurange(start, end, step=1, universe=None, check=True): 
     647    from sage.structure.sequence import Sequence 
     648    from sage.rings.all import ZZ 
     649    if check: 
     650        if universe is None: 
     651            universe = Sequence([start, end, step]).universe() 
     652        start, end, step = universe(start), universe(end), universe(step) 
     653    if universe is int: 
     654        return xrange(start, end, step) 
     655    elif universe is ZZ: 
     656        return xsrange(start, end, step) 
     657    else: 
     658        L = [] 
     659        while start < end: 
    642660            L.append(start) 
     661            start += step 
    643662        return L 
     663         
     664def generic_xurange(start, end, step): 
     665    while start < end: 
     666        yield start 
     667        start += step 
     668         
    644669 
    645670 
     
    727752                    cur += diff 
    728753                    yield cur 
    729             for num in urange(args[i-1]+diff, args[i+1]+1, diff, universe=universe, check=False): 
     754            for num in xurange(args[i-1]+diff, args[i+1]+1, diff, universe=universe, check=False): 
    730755                yield num 
    731756            last = num 
Note: See TracChangeset for help on using the changeset viewer.