Changeset 73ac10e


Ignore:
Timestamp:
Dec 20, 2018, 11:17:21 AM (3 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer
Children:
aeb8f70, ff5caaf
Parents:
8deaf2b
Message:

Fixed error in searchsort test

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.cc

    r8deaf2b r73ac10e  
    12301230
    12311231                // function may return struct or union value, in which case we need to add alternatives
    1232                 // for implicitconversions to each of the anonymous members, must happen after findMinCost
     1232                // for implicit conversions to each of the anonymous members, must happen after findMinCost
    12331233                // since anon conversions are never the cheapest expression
    12341234                for ( const Alternative & alt : winners ) {
  • tests/searchsort.c

    r8deaf2b r73ac10e  
    2121
    2222int main( void ) {
    23         const unsigned int size = 10;
     23        const int size = 10;
    2424        int iarr[size];
    2525
    26         for ( i; 0u ~ size ) {
     26        for ( i; 0 ~ size ) {
    2727                iarr[i] = size - i;
    2828                sout | iarr[i] | ", ";
     
    3232        // ascending sort/search by changing < to >
    3333        qsort( iarr, size );
    34         for ( i; 0u ~ size ) {
     34        for ( i; 0 ~ size ) {
    3535                sout | iarr[i] | ", ";
    3636        } // for
    3737        sout | endl;
    38         for ( i; 0u ~ size ) {          // C version
     38        for ( i; 0 ~ size ) {           // C version
    3939                int key = size - i;
    4040                int * v = bsearch( &key, iarr, size, sizeof( iarr[0] ), comp );
     
    4343        sout | endl;
    4444
    45         for ( i; 0u ~ size ) {
     45        for ( i; 0 ~ size ) {
    4646                int * v = bsearch( size - i, iarr, size );
    4747                sout | size - i | ':' | *v | ", ";
    4848        } // for
    4949        sout | endl;
    50         for ( i; 0u ~ size ) {
     50        for ( i; 0 ~ size ) {
    5151                unsigned int posn = bsearch( size - i, iarr, size );
    5252                sout | size - i | ':' | iarr[posn] | ", ";
     
    5555
    5656        // descending sort/search by changing < to >
    57         for ( i; 0u ~ size ) {
     57        for ( i; 0 ~ size ) {
    5858                iarr[i] = i + 1;
    5959                sout | iarr[i] | ", ";
     
    6161        sout | endl;
    6262        {
    63                 int ?<?( int x, int y ) { return x > y; }
    64                 qsort( iarr, size );
    65                 for ( i; 0u ~ size ) {
     63                // redefinition of ?<? can't overlap the loop controls:
     64                //int ?<?( int x, int y ) { return x > y; }
     65                {
     66                        int (*?<?)(int, int) = ?>?;
     67                        qsort( iarr, size );
     68                }
     69                for ( i; 0 ~ size ) {
    6670                        sout | iarr[i] | ", ";
    6771                } // for
    6872                sout | endl;
    69                 for ( i; 0u ~ size ) {
     73                for ( i; 0 ~ size ) {
     74                        int (*?<?)(int, int) = ?>?;
    7075                        int * v = bsearch( size - i, iarr, size );
    7176                        sout | size - i | ':' | *v | ", ";
    7277                } // for
    7378                sout | endl;
    74                 for ( i; 0u ~ size ) {
     79                for ( i; 0 ~ size ) {
     80                        int (*?<?)(int, int) = ?>?;
    7581                        unsigned int posn = bsearch( size - i, iarr, size );
    7682                        sout | size - i | ':' | iarr[posn] | ", ";
     
    8086
    8187        double darr[size];
    82         for ( i; 0u ~ size ) {
     88        for ( i; 0 ~ size ) {
    8389                darr[i] = size - i + 0.5;
    8490                sout | darr[i] | ", ";
     
    8692        sout | endl;
    8793        qsort( darr, size );
    88         for ( i; 0u ~ size ) {
     94        for ( i; 0 ~ size ) {
    8995                sout | darr[i] | ", ";
    9096        } // for
    9197        sout | endl;
    92         for ( i; 0u ~ size ) {
     98        for ( i; 0 ~ size ) {
    9399                double * v = bsearch( size - i + 0.5, darr, size );
    94100                sout | size - i + 0.5 | ':' | *v | ", ";
    95101        } // for
    96102        sout | endl;
    97         for ( i; 0u ~ size ) {
     103        for ( i; 0 ~ size ) {
    98104                unsigned int posn = bsearch( size - i + 0.5, darr, size );
    99105                sout | size - i + 0.5 | ':' | darr[posn] | ", ";
     
    104110        int ?<?( S t1, S t2 ) { return t1.i < t2.i && t1.j < t2.j; }
    105111        ofstream & ?|?( ofstream & os, S v ) { return os | v.i | ' ' | v.j; }
    106         for ( i; 0u ~ size ) {
     112        for ( i; 0 ~ size ) {
    107113                sarr[i].i = size - i;
    108114                sarr[i].j = size - i + 1;
     
    111117        sout | endl;
    112118        qsort( sarr, size );
    113         for ( i; 0u ~ size ) {
     119        for ( i; 0 ~ size ) {
    114120                sout | sarr[i] | ", ";
    115121        } // for
    116122        sout | endl;
    117         for ( i; 0u ~ size ) {
     123        for ( i; 0 ~ size ) {
    118124                S temp = { size - i, size - i + 1 };
    119125                S * v = bsearch( temp, sarr, size );
     
    121127        } // for
    122128        sout | endl;
    123         for ( i; 0u ~ size ) {
     129        for ( i; 0 ~ size ) {
    124130                S temp = { size - i, size - i + 1 };
    125131                unsigned int posn = bsearch( temp, sarr, size );
     
    128134        sout | endl | endl;
    129135        {
    130                 unsigned int getKey( const S & s ) { return s.j; }
    131                 for ( i; 0u ~ size ) {
     136                int getKey( const S & s ) { return s.j; }
     137                for ( i; 0 ~ size ) {
    132138                        sout | sarr[i] | ", ";
    133139                } // for
    134140                sout | endl;
    135                 for ( i; 0u ~ size ) {
     141                for ( i; 0 ~ size ) {
    136142                        S * v = bsearch( size - i + 1, sarr, size );
    137143                        sout | size - i + 1 | ':' | *v | ", ";
    138144                } // for
    139145                sout | endl;
    140                 for ( i; 0u ~ size ) {
     146                for ( i; 0 ~ size ) {
    141147                        unsigned int posn = bsearch( size - i + 1, sarr, size );
    142148                        sout | size - i + 1 | ':' | sarr[posn] | ", ";
Note: See TracChangeset for help on using the changeset viewer.