Ignore:
Timestamp:
Dec 20, 2018, 12:00:13 PM (5 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
1b34b87
Parents:
6ebc13f
Message:

Fix errors in searchsort test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/searchsort.cfa

    r6ebc13f r2a092d6  
    2121
    2222int main( void ) {
    23         const unsigned int size = 10;
     23        const int size = 10;
    2424        int iarr[size];
    2525
    2626        sout | nlOff;                                                                           // turn off auto newline
    2727
    28         for ( i; 0u ~ size ) {
     28        for ( i; 0 ~ size ) {
    2929                iarr[i] = size - i;
    3030                sout | iarr[i] | ", ";
     
    3434        // ascending sort/search by changing < to >
    3535        qsort( iarr, size );
    36         for ( i; 0u ~ size ) {
     36        for ( i; 0 ~ size ) {
    3737                sout | iarr[i] | ", ";
    3838        } // for
    3939        sout | nl;
    40         for ( i; 0u ~ size ) {          // C version
     40        for ( i; 0 ~ size ) {           // C version
    4141                int key = size - i;
    4242                int * v = bsearch( &key, iarr, size, sizeof( iarr[0] ), comp );
     
    4545        sout | nl;
    4646
    47         for ( i; 0u ~ size ) {
     47        for ( i; 0 ~ size ) {
    4848                int * v = bsearch( size - i, iarr, size );
    4949                sout | size - i | ':' | *v | ", ";
    5050        } // for
    5151        sout | nl;
    52         for ( i; 0u ~ size ) {
     52        for ( i; 0 ~ size ) {
    5353                unsigned int posn = bsearch( size - i, iarr, size );
    5454                sout | size - i | ':' | iarr[posn] | ", ";
     
    6363        sout | nl;
    6464        {
    65                 int ?<?( int x, int y ) { return x > y; }
    66                 qsort( iarr, size );
    67                 for ( i; 0u ~ size ) {
     65                // redefinition of ?<? can't overlap the loop controls:
     66                {
     67                        int (*?<?)(int, int) = ?>?;
     68                        qsort( iarr, size );
     69                }
     70                for ( i; 0 ~ size ) {
    6871                        sout | iarr[i] | ", ";
    6972                } // for
    7073                sout | nl;
    71                 for ( i; 0u ~ size ) {
     74                for ( i; 0 ~ size ) {
     75                        int (*?<?)(int, int) = ?>?;
    7276                        int * v = bsearch( size - i, iarr, size );
    7377                        sout | size - i | ':' | *v | ", ";
    7478                } // for
    7579                sout | nl;
    76                 for ( i; 0u ~ size ) {
     80                for ( i; 0 ~ size ) {
     81                        int (*?<?)(int, int) = ?>?;
    7782                        unsigned int posn = bsearch( size - i, iarr, size );
    7883                        sout | size - i | ':' | iarr[posn] | ", ";
     
    8287
    8388        double darr[size];
    84         for ( i; 0u ~ size ) {
     89        for ( i; 0 ~ size ) {
    8590                darr[i] = size - i + 0.5;
    8691                sout | darr[i] | ", ";
     
    8893        sout | nl;
    8994        qsort( darr, size );
    90         for ( i; 0u ~ size ) {
     95        for ( i; 0 ~ size ) {
    9196                sout | darr[i] | ", ";
    9297        } // for
    9398        sout | nl;
    94         for ( i; 0u ~ size ) {
     99        for ( i; 0 ~ size ) {
    95100                double * v = bsearch( size - i + 0.5, darr, size );
    96101                sout | size - i + 0.5 | ':' | *v | ", ";
    97102        } // for
    98103        sout | nl;
    99         for ( i; 0u ~ size ) {
     104        for ( i; 0 ~ size ) {
    100105                unsigned int posn = bsearch( size - i + 0.5, darr, size );
    101106                sout | size - i + 0.5 | ':' | darr[posn] | ", ";
     
    106111        int ?<?( S t1, S t2 ) { return t1.i < t2.i && t1.j < t2.j; }
    107112        ofstream & ?|?( ofstream & os, S v ) { return os | v.i | ' ' | v.j; }
    108         for ( i; 0u ~ size ) {
     113        for ( i; 0 ~ size ) {
    109114                sarr[i].i = size - i;
    110115                sarr[i].j = size - i + 1;
     
    113118        sout | nl;
    114119        qsort( sarr, size );
    115         for ( i; 0u ~ size ) {
     120        for ( i; 0 ~ size ) {
    116121                sout | sarr[i] | ", ";
    117122        } // for
    118123        sout | nl;
    119         for ( i; 0u ~ size ) {
     124        for ( i; 0 ~ size ) {
    120125                S temp = { size - i, size - i + 1 };
    121126                S * v = bsearch( temp, sarr, size );
     
    123128        } // for
    124129        sout | nl;
    125         for ( i; 0u ~ size ) {
     130        for ( i; 0 ~ size ) {
    126131                S temp = { size - i, size - i + 1 };
    127132                unsigned int posn = bsearch( temp, sarr, size );
     
    130135        sout | nl;
    131136        {
    132                 unsigned int getKey( const S & s ) { return s.j; }
    133                 for ( i; 0u ~ size ) {
     137                int getKey( const S & s ) { return s.j; }
     138                for ( i; 0 ~ size ) {
    134139                        sout | sarr[i] | ", ";
    135140                } // for
    136141                sout | nl;
    137                 for ( i; 0u ~ size ) {
     142                for ( i; 0 ~ size ) {
    138143                        S * v = bsearch( size - i + 1, sarr, size );
    139144                        sout | size - i + 1 | ':' | *v | ", ";
    140145                } // for
    141146                sout | nl;
    142                 for ( i; 0u ~ size ) {
     147                for ( i; 0 ~ size ) {
    143148                        unsigned int posn = bsearch( size - i + 1, sarr, size );
    144149                        sout | size - i + 1 | ':' | sarr[posn] | ", ";
Note: See TracChangeset for help on using the changeset viewer.