Changeset 751

Show
Ignore:
Timestamp:
06/23/08 04:15:42 (3 months ago)
Author:
walter
Message:

speed up array compares

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/phobos/internal/adi.d

    r390 r751  
    463463/*************************************** 
    464464 * Support for array equality test. 
     465 * Returns: 
     466 *  1   equal 
     467 *  0   not equal 
    465468 */ 
    466469 
     
    491494    } 
    492495    return 1;           // equal 
     496} 
     497 
     498extern (C) int _adEq2(Array a1, Array a2, TypeInfo ti) 
     499{ 
     500    //printf("_adEq2(a1.length = %d, a2.length = %d)\n", a1.length, a2.length); 
     501    if (a1.length != a2.length) 
     502    return 0;       // not equal 
     503    if (!ti.equals(&a1, &a2)) 
     504    return 0; 
     505    return 1; 
    493506} 
    494507 
     
    583596    return 0; 
    584597    return (a1.length > a2.length) ? 1 : -1; 
     598} 
     599 
     600extern (C) int _adCmp2(Array a1, Array a2, TypeInfo ti) 
     601{ 
     602    //printf("_adCmp2(a1.length = %d, a2.length = %d)\n", a1.length, a2.length); 
     603    return ti.compare(&a1, &a2); 
    585604} 
    586605 
  • trunk/phobos/win32.mak

    r730 r751  
    7979OBJS= asserterror.obj deh.obj switch.obj icomplex.obj gcstats.obj \ 
    8080    critical.obj object.obj monitor.obj arraycat.obj invariant.obj \ 
    81     dmain2.obj outofmemory.obj adi.obj aApply.obj \ 
     81    dmain2.obj outofmemory.obj aApply.obj \ 
    8282    system.obj moduleinit.obj \ 
    8383    cast.obj syserror.obj memset.obj \ 
     
    103103    std\path.d std\file.d std\outbuffer.d std\utf.d std\uri.d \ 
    104104    std\ctype.d std\random.d std\array.d std\mmfile.d \ 
    105     internal\aaA.d
     105    internal\aaA.d internal\adi.d
    106106    etc\gamma.d \ 
    107107    std\windows\registry.d \