Changeset 2232

Show
Ignore:
Timestamp:
07/10/08 19:00:01 (17 months ago)
Author:
jmaessen
Message:

Small changes kicking around. Most useful: | | on ranges is now non-negative.

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/Library/FortressLibrary.fss

    r2226 r2232  
    30593059 
    30603060    opr =(self, other:CompleteRange[\T\]): Boolean = 
    3061         isBounded()=other.isBounded() AND lower()=other.lower() AND |self| = |other| 
     3061        isBounded()=other.isBounded() AND lower()=other.lower() AND 
     3062        extent() = other.extent() 
    30623063    opr CMP(self, other:Range[\T\]): Comparison = 
    30633064        typecase other of 
     
    31053106(** ParRanges and SeqRanges, the simplest and most basic of all 
    31063107    generators.  They generate |self| numbers, incrementing by 1, 
    3107     starting with lower() (that's the canonical ordering).  Note that 
    3108     |self| may be negative, in which case the range represents a 
    3109     partial range that only generates elements when provided with a 
    3110     negative increment (by writing range:(-increment)).  These ranges 
    3111     generate 0 elements if an attempt is made to enumerate them. *) 
     3108    starting with lower() (that's the canonical ordering). *) 
    31123109trait ScalarRange[\N extends Integral[\N\], bool bounded\] 
    31133110        extends { FullRange[\N, bounded\] } 
     
    31183115    widenUpper(): ScalarRange[\N,false\] = lower()#(extent()+1) 
    31193116    widenLower(): ScalarRange[\N,false\] = (lower()-1)#(extent()+1) 
    3120     opr |self| : ZZ32 = narrow(extent()) 
     3117    opr |self| : ZZ32 = narrow(0 MAX extent()) 
    31213118    opr[i:N]: N = 
    31223119        if 0 <= i < extent() then 
     
    31273124    opr IN(a:N, self): Boolean = do 
    31283125        t = a - lower() 
    3129         0 <= t < |self| 
     3126        0 <= t < extent() 
    31303127      end 
    31313128end 
     
    32583255    widenUpper(): Tuple2Range[\N,M,true\] = Tuple2Range[\N,M,true\](l1,l2,x1+1,x2+1) 
    32593256    widenLower(): Tuple2Range[\N,M,true\] = Tuple2Range[\N,M,true\](l1-1,l2-1,x1+1,x2+1) 
    3260     opr |self| : ZZ32 = narrow(x1) narrow(x2) 
     3257    opr |self| : ZZ32 = narrow((0 MAX x1) (0 MAX x2)) 
    32613258    opr[i:(N,M)]: (N,M) = do 
    32623259        (i1,i2) = i 
     
    33063303    widenLower(): Tuple3Range[\N1,N2,N3,true\] = 
    33073304        Tuple3Range[\N1,N2,N3,true\](l1-1,l2-1,l3-1,x1+1,x2+1,x3+1) 
    3308     opr |self| : (N1,N2,N3) = narrow(x1) narrow(x2) narrow(x3) 
     3305    opr |self| : (N1,N2,N3) = narrow((0 MAX x1) (0 MAX x2) (0 MAX x3)) 
    33093306    opr[i:(N1,N2,N3)]: (N1,N2,N3) = do 
    33103307        (i1,i2,i3) = i 
  • trunk/ProjectFortress/src/com/sun/fortress/interpreter/evaluator/values/OverloadedFunction.java

    r2164 r2232  
    838838            if (oargs != null && 
    839839                argsMatchTypes(oargs,  sfn.getDomain()) && 
    840                         (best == -1 || 
    841                          best == i || 
    842                          FTypeTuple.moreSpecificThan(sfn.getDomain(), best_sfn.getDomain()))) { 
     840                (best == -1 || 
     841                 FTypeTuple.moreSpecificThan(sfn.getDomain(), best_sfn.getDomain()))) { 
    843842                best = i; 
    844843                best_sfn = sfn;