Changes in libcfa/src/stdlib.hfa [524627e:cafb687]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/stdlib.hfa
r524627e rcafb687 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Nov 29 23:08:02201913 // Update Count : 40012 // Last Modified On : Sun Oct 20 22:57:33 2019 13 // Update Count : 390 14 14 // 15 15 … … 28 28 } // extern "C" 29 29 30 void * realloc( void * oaddr, size_t nalign, size_t size ); // CFA heap31 32 30 //--------------------------------------- 33 31 … … 52 50 } // calloc 53 51 54 T * realloc( T * ptr, size_t size ) { // CFA realloc, eliminate return-type cast 52 T * realloc( T * ptr, size_t size ) { 53 if ( unlikely( ptr == 0 ) ) return malloc(); 55 54 return (T *)(void *)realloc( (void *)ptr, size ); // C realloc 56 55 } // realloc … … 60 59 } // memalign 61 60 62 T * cmemalign( size_t align, size_t dim ) {63 return (T *)cmemalign( align, dim, sizeof(T) ); // CFA cmemalign64 } // cmemalign65 66 61 T * aligned_alloc( size_t align ) { 67 62 return (T *)aligned_alloc( align, sizeof(T) ); // C aligned_alloc … … 84 79 85 80 T * alloc( T ptr[], size_t dim ) { // realloc 86 return (T *)(void *)realloc( (void *)ptr, dim * sizeof(T) ); // C realloc81 return realloc( ptr, dim * sizeof(T) ); 87 82 } // alloc 88 83 … … 123 118 } // alloc_align 124 119 125 T * alloc_align( T ptr[], size_t align ) { // aligned realloc array126 return (T *)(void *)realloc( (void *)ptr, align, sizeof(T) ); // CFA realloc127 } // alloc_align128 129 T * alloc_align( T ptr[], size_t align, size_t dim ) { // aligned realloc array130 return (T *)(void *)realloc( (void *)ptr, align, dim * sizeof(T) ); // CFA realloc131 } // alloc_align132 133 120 T * alloc_align_set( size_t align, char fill ) { 134 121 return (T *)memset( (T *)alloc_align( align ), (int)fill, sizeof(T) ); // initialize with fill value … … 155 142 156 143 forall( dtype T | sized(T) ) { 144 T * alloc_align( T ptr[], size_t align ); // realign 145 T * alloc_align( T ptr[], size_t align, size_t dim ); // aligned realloc array 157 146 T * alloc_align_set( T ptr[], size_t align, size_t dim, char fill ); // aligned realloc array with fill 158 147 } // distribution … … 210 199 211 200 static inline { 212 int ato( const char * sptr ) { return (int)strtol( sptr, 0 p, 10 ); }213 unsigned int ato( const char * sptr ) { return (unsigned int)strtoul( sptr, 0 p, 10 ); }214 long int ato( const char * sptr ) { return strtol( sptr, 0 p, 10 ); }215 unsigned long int ato( const char * sptr ) { return strtoul( sptr, 0 p, 10 ); }216 long long int ato( const char * sptr ) { return strtoll( sptr, 0 p, 10 ); }217 unsigned long long int ato( const char * sptr ) { return strtoull( sptr, 0 p, 10 ); }218 219 float ato( const char * sptr ) { return strtof( sptr, 0 p); }220 double ato( const char * sptr ) { return strtod( sptr, 0 p); }221 long double ato( const char * sptr ) { return strtold( sptr, 0 p); }222 223 float _Complex ato( const char * sptr ) { return strto( sptr, 0p); }224 double _Complex ato( const char * sptr ) { return strto( sptr, 0p); }225 long double _Complex ato( const char * sptr ) { return strto( sptr, 0p); }201 int ato( const char * sptr ) { return (int)strtol( sptr, 0, 10 ); } 202 unsigned int ato( const char * sptr ) { return (unsigned int)strtoul( sptr, 0, 10 ); } 203 long int ato( const char * sptr ) { return strtol( sptr, 0, 10 ); } 204 unsigned long int ato( const char * sptr ) { return strtoul( sptr, 0, 10 ); } 205 long long int ato( const char * sptr ) { return strtoll( sptr, 0, 10 ); } 206 unsigned long long int ato( const char * sptr ) { return strtoull( sptr, 0, 10 ); } 207 208 float ato( const char * sptr ) { return strtof( sptr, 0 ); } 209 double ato( const char * sptr ) { return strtod( sptr, 0 ); } 210 long double ato( const char * sptr ) { return strtold( sptr, 0 ); } 211 212 float _Complex ato( const char * sptr ) { return strto( sptr, NULL ); } 213 double _Complex ato( const char * sptr ) { return strto( sptr, NULL ); } 214 long double _Complex ato( const char * sptr ) { return strto( sptr, NULL ); } 226 215 } // distribution 227 216
Note:
See TracChangeset
for help on using the changeset viewer.