Ignore:
Timestamp:
Jan 10, 2019, 3:50:34 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:
d97c3a4
Parents:
aeb8f70 (diff), 08222c7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Aaron Moss <a3moss@…> (01/10/19 14:46:09)
git-committer:
Aaron Moss <a3moss@…> (01/10/19 15:50:34)
Message:

Merge remote-tracking branch 'plg/master' into deferred_resn

File:
1 moved

Legend:

Unmodified
Added
Removed
  • tests/searchsort.cfa

    raeb8f70 re99e43f  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // searchsort.c --
     7// searchsort.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Feb  4 18:17:50 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug  9 07:54:57 2018
    13 // Update Count     : 101
     12// Last Modified On : Thu Dec 20 22:49:46 2018
     13// Update Count     : 108
    1414//
    1515
    1616#include <fstream.hfa>
    17 #include <stdlib.hfa>                                                                           // bsearch, qsort
     17#include <stdlib.hfa>                                                                   // bsearch, qsort
    1818#include <stdlib.h>                                                                             // C version of bsearch
    1919
     
    2424        int iarr[size];
    2525
     26        sout | nlOff;                                                                           // turn off auto newline
     27
    2628        for ( i; 0 ~ size ) {
    2729                iarr[i] = size - i;
    2830                sout | iarr[i] | ", ";
    2931        } // for
    30         sout | endl | endl;
     32        sout | nl | nl;
    3133
    3234        // ascending sort/search by changing < to >
     
    3537                sout | iarr[i] | ", ";
    3638        } // for
    37         sout | endl;
     39        sout | nl;
    3840        for ( i; 0 ~ size ) {           // C version
    3941                int key = size - i;
     
    4143                sout | key | ':' | *v | ", ";
    4244        } // for
    43         sout | endl;
     45        sout | nl;
    4446
    4547        for ( i; 0 ~ size ) {
     
    4749                sout | size - i | ':' | *v | ", ";
    4850        } // for
    49         sout | endl;
     51        sout | nl;
    5052        for ( i; 0 ~ size ) {
    5153                unsigned int posn = bsearch( size - i, iarr, size );
    5254                sout | size - i | ':' | iarr[posn] | ", ";
    5355        } // for
    54         sout | endl | endl;
     56        sout | nl | nl;
    5557
    5658        // descending sort/search by changing < to >
     
    5961                sout | iarr[i] | ", ";
    6062        } // for
    61         sout | endl;
     63        sout | nl;
    6264        {
    6365                // redefinition of ?<? can't overlap the loop controls:
    64                 //int ?<?( int x, int y ) { return x > y; }
    6566                {
    6667                        int (*?<?)(int, int) = ?>?;
     
    7071                        sout | iarr[i] | ", ";
    7172                } // for
    72                 sout | endl;
     73                sout | nl;
    7374                for ( i; 0 ~ size ) {
    7475                        int (*?<?)(int, int) = ?>?;
     
    7677                        sout | size - i | ':' | *v | ", ";
    7778                } // for
    78                 sout | endl;
     79                sout | nl;
    7980                for ( i; 0 ~ size ) {
    8081                        int (*?<?)(int, int) = ?>?;
     
    8384                } // for
    8485        }
    85         sout | endl | endl;
     86        sout | nl | nl;
    8687
    8788        double darr[size];
     
    9091                sout | darr[i] | ", ";
    9192        } // for
    92         sout | endl;
     93        sout | nl;
    9394        qsort( darr, size );
    9495        for ( i; 0 ~ size ) {
    9596                sout | darr[i] | ", ";
    9697        } // for
    97         sout | endl;
     98        sout | nl;
    9899        for ( i; 0 ~ size ) {
    99100                double * v = bsearch( size - i + 0.5, darr, size );
    100101                sout | size - i + 0.5 | ':' | *v | ", ";
    101102        } // for
    102         sout | endl;
     103        sout | nl;
    103104        for ( i; 0 ~ size ) {
    104105                unsigned int posn = bsearch( size - i + 0.5, darr, size );
    105106                sout | size - i + 0.5 | ':' | darr[posn] | ", ";
    106107        } // for
    107         sout | endl | endl;
     108        sout | nl | nl;
    108109
    109110        struct S { int i, j; } sarr[size];
     
    115116                sout | sarr[i] | ", ";
    116117        } // for
    117         sout | endl;
     118        sout | nl;
    118119        qsort( sarr, size );
    119120        for ( i; 0 ~ size ) {
    120121                sout | sarr[i] | ", ";
    121122        } // for
    122         sout | endl;
     123        sout | nl;
    123124        for ( i; 0 ~ size ) {
    124125                S temp = { size - i, size - i + 1 };
     
    126127                sout | temp | ':' | *v | ", ";
    127128        } // for
    128         sout | endl;
     129        sout | nl;
    129130        for ( i; 0 ~ size ) {
    130131                S temp = { size - i, size - i + 1 };
     
    132133                sout | temp | ':' | sarr[posn] | ", ";
    133134        } // for
    134         sout | endl | endl;
     135        sout | nl | nl;
    135136        {
    136137                int getKey( const S & s ) { return s.j; }
     
    138139                        sout | sarr[i] | ", ";
    139140                } // for
    140                 sout | endl;
     141                sout | nl;
    141142                for ( i; 0 ~ size ) {
    142143                        S * v = bsearch( size - i + 1, sarr, size );
    143144                        sout | size - i + 1 | ':' | *v | ", ";
    144145                } // for
    145                 sout | endl;
     146                sout | nl;
    146147                for ( i; 0 ~ size ) {
    147148                        unsigned int posn = bsearch( size - i + 1, sarr, size );
    148149                        sout | size - i + 1 | ':' | sarr[posn] | ", ";
    149150                } // for
    150                 sout | endl | endl;
     151                sout | nl | nl;
    151152        }
    152153} // main
     
    154155// Local Variables: //
    155156// tab-width: 4 //
    156 // compile-command: "cfa searchsort.c" //
     157// compile-command: "cfa searchsort.cfa" //
    157158// End: //
Note: See TracChangeset for help on using the changeset viewer.