Changes in src/examples/vector_int.c [86bd7c1f:1ad1c99]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/examples/vector_int.c
r86bd7c1f r1ad1c99 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // vector_int.c -- 7 // vector_int.c -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Wed May 27 18:38:05 201511 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Apr 27 17:27:12 2016 13 13 // Update Count : 3 14 14 // … … 22 22 #define DEFAULT_CAPACITY 20 23 23 24 v ector_int vector_int_allocate() {25 return vector_int_allocate( DEFAULT_CAPACITY );24 void ?{}( vector_int * vec ) { 25 vec { DEFAULT_CAPACITY }; 26 26 } 27 27 28 vector_int vector_int_allocate( int reserve ) { 29 vector_int new_vector; 30 new_vector.last = -1; 31 new_vector.capacity = reserve; 32 new_vector.data = malloc( sizeof( int ) * reserve ); 33 return new_vector; 28 void ?{}( vector_int * vec, int reserve ) { 29 vec->last = -1; 30 vec->capacity = reserve; 31 vec->data = malloc( sizeof( int ) * reserve ); 34 32 } 35 33 36 void vector_int_deallocate( vector_int vec ) { 37 free( vec.data ); 34 void ?{}( vector_int * vec, vector_int other ) { 35 vec->last = other.last; 36 vec->capacity = other.capacity; 37 vec->data = malloc( sizeof( int ) * other.capacity ); 38 for (int i = 0; i < vec->last; i++) { 39 vec->data[i] = other.data[i]; 40 } 41 } 42 43 void ^?{}( vector_int * vec ) { 44 free( vec->data ); 38 45 } 39 46 … … 56 63 // implement bounded_array 57 64 58 lvalue int ?[?]( vector_int vec, int index ) {59 return vec .data[ index ];65 lvalue int ?[?]( vector_int * vec, int index ) { 66 return vec->data[ index ]; 60 67 } 61 68 62 int last( vector_int vec ) {63 return vec .last;69 int last( vector_int * vec ) { 70 return vec->last; 64 71 } 65 72
Note: See TracChangeset
for help on using the changeset viewer.