Changeset 200fcb3 for tests/searchsort.cfa
- Timestamp:
- Dec 12, 2018, 9:16:12 AM (6 years ago)
- 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:
- 5ebb1368
- Parents:
- 3d99498
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/searchsort.cfa
r3d99498 r200fcb3 10 10 // Created On : Thu Feb 4 18:17:50 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Nov 6 18:00:38201813 // Update Count : 10 212 // Last Modified On : Wed Dec 5 08:18:42 2018 13 // Update Count : 106 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> 17 #include <stdlib.hfa> // bsearch, qsort 18 18 #include <stdlib.h> // C version of bsearch 19 19 … … 24 24 int iarr[size]; 25 25 26 sout | nlOff; // turn off auto newline 27 26 28 for ( i; 0u ~ size ) { 27 29 iarr[i] = size - i; 28 30 sout | iarr[i] | ", "; 29 31 } // for 30 sout | endl | endl;32 sout | nl; 31 33 32 34 // ascending sort/search by changing < to > … … 35 37 sout | iarr[i] | ", "; 36 38 } // for 37 sout | endl;39 sout | nl; 38 40 for ( i; 0u ~ size ) { // C version 39 41 int key = size - i; … … 41 43 sout | key | ':' | *v | ", "; 42 44 } // for 43 sout | endl;45 sout | nl; 44 46 45 47 for ( i; 0u ~ size ) { … … 47 49 sout | size - i | ':' | *v | ", "; 48 50 } // for 49 sout | endl;51 sout | nl; 50 52 for ( i; 0u ~ size ) { 51 53 unsigned int posn = bsearch( size - i, iarr, size ); 52 54 sout | size - i | ':' | iarr[posn] | ", "; 53 55 } // for 54 sout | endl | endl;56 sout | nl; 55 57 56 58 // descending sort/search by changing < to > … … 59 61 sout | iarr[i] | ", "; 60 62 } // for 61 sout | endl;63 sout | nl; 62 64 { 63 65 int ?<?( int x, int y ) { return x > y; } … … 66 68 sout | iarr[i] | ", "; 67 69 } // for 68 sout | endl;70 sout | nl; 69 71 for ( i; 0u ~ size ) { 70 72 int * v = bsearch( size - i, iarr, size ); 71 73 sout | size - i | ':' | *v | ", "; 72 74 } // for 73 sout | endl;75 sout | nl; 74 76 for ( i; 0u ~ size ) { 75 77 unsigned int posn = bsearch( size - i, iarr, size ); … … 77 79 } // for 78 80 } 79 sout | endl | endl;81 sout | nl; 80 82 81 83 double darr[size]; … … 84 86 sout | darr[i] | ", "; 85 87 } // for 86 sout | endl;88 sout | nl; 87 89 qsort( darr, size ); 88 90 for ( i; 0u ~ size ) { 89 91 sout | darr[i] | ", "; 90 92 } // for 91 sout | endl;93 sout | nl; 92 94 for ( i; 0u ~ size ) { 93 95 double * v = bsearch( size - i + 0.5, darr, size ); 94 96 sout | size - i + 0.5 | ':' | *v | ", "; 95 97 } // for 96 sout | endl;98 sout | nl; 97 99 for ( i; 0u ~ size ) { 98 100 unsigned int posn = bsearch( size - i + 0.5, darr, size ); 99 101 sout | size - i + 0.5 | ':' | darr[posn] | ", "; 100 102 } // for 101 sout | endl | endl;103 sout | nl; 102 104 103 105 struct S { int i, j; } sarr[size]; … … 109 111 sout | sarr[i] | ", "; 110 112 } // for 111 sout | endl;113 sout | nl; 112 114 qsort( sarr, size ); 113 115 for ( i; 0u ~ size ) { 114 116 sout | sarr[i] | ", "; 115 117 } // for 116 sout | endl;118 sout | nl; 117 119 for ( i; 0u ~ size ) { 118 120 S temp = { size - i, size - i + 1 }; … … 120 122 sout | temp | ':' | *v | ", "; 121 123 } // for 122 sout | endl;124 sout | nl; 123 125 for ( i; 0u ~ size ) { 124 126 S temp = { size - i, size - i + 1 }; … … 126 128 sout | temp | ':' | sarr[posn] | ", "; 127 129 } // for 128 sout | endl | endl;130 sout | nl; 129 131 { 130 132 unsigned int getKey( const S & s ) { return s.j; } … … 132 134 sout | sarr[i] | ", "; 133 135 } // for 134 sout | endl;136 sout | nl; 135 137 for ( i; 0u ~ size ) { 136 138 S * v = bsearch( size - i + 1, sarr, size ); 137 139 sout | size - i + 1 | ':' | *v | ", "; 138 140 } // for 139 sout | endl;141 sout | nl; 140 142 for ( i; 0u ~ size ) { 141 143 unsigned int posn = bsearch( size - i + 1, sarr, size ); 142 144 sout | size - i + 1 | ':' | sarr[posn] | ", "; 143 145 } // for 144 sout | endl | endl;146 sout | nl; 145 147 } 146 148 } // main
Note: See TracChangeset
for help on using the changeset viewer.