Changeset 02d241f for src/libcfa/stdlib.c
- Timestamp:
- Apr 16, 2017, 9:16:18 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 33e22da
- Parents:
- 19b2133
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/stdlib.c
r19b2133 r02d241f 10 10 // Created On : Thu Jan 28 17:10:29 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Apr 1 18:31:26201713 // Update Count : 18 112 // Last Modified On : Sun Apr 16 10:41:05 2017 13 // Update Count : 189 14 14 // 15 15 … … 78 78 } // posix_memalign 79 79 80 forall( dtype T, ttype Params | sized(T) | { void ?{}( T *, Params); } )80 forall( dtype T, ttype Params | sized(T) | { void ?{}( T *, Params ); } ) 81 81 T * new( Params p ) { 82 return ((T *)malloc()){ p };82 return ((T *)malloc()){ p }; 83 83 } 84 84 … … 229 229 forall( otype T | { int ?<?( T, T ); } ) 230 230 unsigned int bsearch( T key, const T * arr, size_t dimension ) { 231 int comp( const void * t1, const void * t2 ) { return *(T *)t1 < *(T *)t2 ? -1 : *(T *)t2 < *(T *)t1 ? 1 : 0; } 232 T *result = (T *)bsearch( &key, arr, dimension, sizeof(T), comp ); 231 T *result = bsearch( key, arr, dimension ); 233 232 return result ? result - arr : dimension; // pointer subtraction includes sizeof(T) 234 233 } // bsearch
Note: See TracChangeset
for help on using the changeset viewer.