Changeset ded61bf2 for libcfa/src/stdlib.hfa
- Timestamp:
- Aug 12, 2020, 5:59:46 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 51230f1b
- Parents:
- fb0ae06
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/stdlib.hfa
rfb0ae06 rded61bf2 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 30 16:14:58202013 // Update Count : 49 012 // Last Modified On : Tue Aug 11 21:11:46 2020 13 // Update Count : 495 14 14 // 15 15 … … 136 136 T * alloc_set( char fill ) { 137 137 return (T *)memset( (T *)alloc(), (int)fill, sizeof(T) ); // initialize with fill value 138 } // alloc 139 140 T * alloc_set( Tfill ) {138 } // alloc_set 139 140 T * alloc_set( const T & fill ) { 141 141 return (T *)memcpy( (T *)alloc(), &fill, sizeof(T) ); // initialize with fill value 142 } // alloc 142 } // alloc_set 143 143 144 144 T * alloc_set( size_t dim, char fill ) { 145 145 return (T *)memset( (T *)alloc( dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value 146 } // alloc 147 148 T * alloc_set( size_t dim, Tfill ) {146 } // alloc_set 147 148 T * alloc_set( size_t dim, const T & fill ) { 149 149 T * r = (T *)alloc( dim ); 150 150 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value 151 151 return r; 152 } // alloc 152 } // alloc_set 153 153 154 154 T * alloc_set( size_t dim, const T fill[] ) { 155 155 return (T *)memcpy( (T *)alloc( dim ), fill, dim * sizeof(T) ); // initialize with fill value 156 } // alloc 156 } // alloc_set 157 157 158 158 T * alloc_set( T ptr[], size_t dim, char fill ) { // realloc array with fill … … 166 166 } // alloc_set 167 167 168 T * alloc_set( T ptr[], size_t dim, T & fill ) { // realloc array with fill168 T * alloc_set( T ptr[], size_t dim, const T & fill ) { // realloc array with fill 169 169 size_t odim = malloc_size( ptr ) / sizeof(T); // current dimension 170 170 size_t nsize = dim * sizeof(T); // new allocation … … 177 177 } // if 178 178 return nptr; 179 } // alloc_ align_set179 } // alloc_set 180 180 } // distribution 181 181 … … 204 204 T * alloc_align_set( size_t align, char fill ) { 205 205 return (T *)memset( (T *)alloc_align( align ), (int)fill, sizeof(T) ); // initialize with fill value 206 } // alloc_align 207 208 T * alloc_align_set( size_t align, Tfill ) {206 } // alloc_align_set 207 208 T * alloc_align_set( size_t align, const T & fill ) { 209 209 return (T *)memcpy( (T *)alloc_align( align ), &fill, sizeof(T) ); // initialize with fill value 210 } // alloc_align 210 } // alloc_align_set 211 211 212 212 T * alloc_align_set( size_t align, size_t dim, char fill ) { 213 213 return (T *)memset( (T *)alloc_align( align, dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value 214 } // alloc_align 215 216 T * alloc_align_set( size_t align, size_t dim, Tfill ) {214 } // alloc_align_set 215 216 T * alloc_align_set( size_t align, size_t dim, const T & fill ) { 217 217 T * r = (T *)alloc_align( align, dim ); 218 218 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value 219 219 return r; 220 } // alloc_align 220 } // alloc_align_set 221 221 222 222 T * alloc_align_set( size_t align, size_t dim, const T fill[] ) { 223 223 return (T *)memcpy( (T *)alloc_align( align, dim ), fill, dim * sizeof(T) ); 224 } // alloc_align 224 } // alloc_align_set 225 225 226 226 T * alloc_align_set( T ptr[], size_t align, size_t dim, char fill ) { … … 234 234 } // alloc_align_set 235 235 236 T * alloc_align_set( T ptr[], size_t align, size_t dim, T & fill ) {236 T * alloc_align_set( T ptr[], size_t align, size_t dim, const T & fill ) { 237 237 size_t odim = malloc_size( ptr ) / sizeof(T); // current dimension 238 238 size_t nsize = dim * sizeof(T); // new allocation
Note: See TracChangeset
for help on using the changeset viewer.