Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/stdlib.c

    r4040425 r52f85e0  
    1010// Created On       : Thu Jan 28 17:10:29 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar  2 17:38:47 2016
    13 // Update Count     : 143
     12// Last Modified On : Wed Feb 10 15:45:56 2016
     13// Update Count     : 140
    1414//
    1515
     
    2727} // extern "C"
    2828
    29 forall( otype T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill
     29forall( type T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill
    3030        printf( "memset1\n" );
    3131    return (T *)memset( ptr, (int)fill, malloc_usable_size( ptr ) );
    3232} // memset
    33 forall( otype T ) T * memset( T * ptr ) {                               // remove when default value available
     33forall( type T ) T * memset( T * ptr ) {                                // remove when default value available
    3434        printf( "memset2\n" );
    3535    return (T *)memset( ptr, 0, malloc_usable_size( ptr ) );
    3636} // memset
    3737
    38 forall( otype T ) T * malloc( void ) {
     38forall( type T ) T * malloc( void ) {
    3939        printf( "malloc1\n" );
    4040    return (T *)malloc( sizeof(T) );
    4141} // malloc
    42 forall( otype T ) T * malloc( size_t size ) {
     42forall( type T ) T * malloc( size_t size ) {
    4343        printf( "malloc2\n" );
    4444    return (T *)(void *)malloc( size );
    4545} // malloc
    46 forall( otype T ) T * malloc( char fill ) {
     46forall( type T ) T * malloc( char fill ) {
    4747        printf( "malloc3\n" );
    4848        T * ptr = (T *)malloc( sizeof(T) );
     
    5050} // malloc
    5151
    52 forall( otype T ) T * calloc( size_t size ) {
     52forall( type T ) T * calloc( size_t size ) {
    5353        printf( "calloc\n" );
    5454    return (T *)calloc( size, sizeof(T) );
    5555} // calloc
    5656
    57 forall( otype T ) T * realloc( T * ptr, size_t size ) {
     57forall( type T ) T * realloc( T * ptr, size_t size ) {
    5858        printf( "realloc1\n" );
    5959    return (T *)(void *)realloc( (void *)ptr, size );
    6060} // realloc
    61 forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill ) {
     61forall( type T ) T * realloc( T * ptr, size_t size, unsigned char fill ) {
    6262        printf( "realloc2\n" );
    6363    char * nptr = (T *)(void *)realloc( (void *)ptr, size );
     
    6767} // realloc
    6868
    69 forall( otype T ) T * malloc( T * ptr, size_t size ) {
     69forall( type T ) T * malloc( T * ptr, size_t size ) {
    7070        printf( "malloc4\n" );
    7171    return (T *)realloc( ptr, size );
    7272} // malloc
    73 forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill ) {
     73forall( type T ) T * malloc( T * ptr, size_t size, unsigned char fill ) {
    7474        printf( "malloc5\n" );
    7575    return (T *)realloc( ptr, size, fill );
    7676} // malloc
    7777
    78 forall( otype T ) T * aligned_alloc( size_t alignment ) {
     78forall( type T ) T * aligned_alloc( size_t alignment ) {
    7979        printf( "aligned_alloc\n" );
    8080    return (T *)memalign( alignment, sizeof(T) );
    8181} // aligned_alloc
    8282
    83 forall( otype T ) T * memalign( size_t alignment ) {
     83forall( type T ) T * memalign( size_t alignment ) {
    8484        printf( "memalign\n" );
    8585    return (T *)memalign( alignment, sizeof(T) );
    8686} // memalign
    8787
    88 forall( otype T ) int posix_memalign( T ** ptr, size_t alignment ) {
     88forall( type T ) int posix_memalign( T ** ptr, size_t alignment ) {
    8989        printf( "posix_memalign\n" );
    9090    return posix_memalign( (void **)ptr, alignment, sizeof(T) );
     
    123123        return ulli;
    124124}
    125 
    126125float ato( const char * ptr ) {
    127126        float f;
     
    139138        return ld;
    140139}
    141 
    142140float _Complex ato( const char * ptr ) {
    143141        float re, im;
     
    174172        return strtoull( sptr, eptr, base );
    175173}
    176 
    177174float strto( const char * sptr, char ** eptr ) {
    178175        return strtof( sptr, eptr );
     
    184181        return strtold( sptr, eptr );
    185182}
    186 
    187183float _Complex strto( const char * sptr, char ** eptr ) {
    188184        float re, im;
     
    212208//---------------------------------------
    213209
    214 forall( otype T | { int ?<?( T, T ); } )
     210forall( type T | { int ?<?( T, T ); } )
    215211T * bsearch( const T key, const T * arr, size_t dimension ) {
    216212        int comp( const void * t1, const void * t2 ) { return *(T *)t1 < *(T *)t2 ? -1 : *(T *)t2 < *(T *)t1 ? 1 : 0; }
     
    218214} // bsearch
    219215
    220 forall( otype T | { int ?<?( T, T ); } )
     216forall( type T | { int ?<?( T, T ); } )
    221217void qsort( const T * arr, size_t dimension ) {
    222218        int comp( const void * t1, const void * t2 ) { return *(T *)t1 < *(T *)t2 ? -1 : *(T *)t2 < *(T *)t1 ? 1 : 0; }
     
    226222//---------------------------------------
    227223
    228 forall( otype T | { T ?/?( T, T ); T ?%?( T, T ); } )
     224forall( type T | { T ?/?( T, T ); T ?%?( T, T ); } )
    229225[ T, T ] div( T t1, T t2 ) { /* return [ t1 / t2, t1 % t2 ]; */ }
    230226
     
    257253//---------------------------------------
    258254
    259 forall( otype T | { int ?<?( T, T ); } )
     255forall( type T | { int ?<?( T, T ); } )
    260256T min( const T t1, const T t2 ) {
    261257        return t1 < t2 ? t1 : t2;
    262258} // min
    263259
    264 forall( otype T | { int ?>?( T, T ); } )
     260forall( type T | { int ?>?( T, T ); } )
    265261T max( const T t1, const T t2 ) {
    266262        return t1 > t2 ? t1 : t2;
    267263} // max
    268264
    269 forall( otype T )
     265forall( type T )
    270266void swap( T * t1, T * t2 ) {
    271267        T temp = *t1;
Note: See TracChangeset for help on using the changeset viewer.