Changes in src/examples/vector_int.c [86bd7c1f:843054c2]
- File:
-
- 1 edited
-
src/examples/vector_int.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/examples/vector_int.c
r86bd7c1f r843054c2 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // vector_int.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:38:05 2015 13 // Update Count : 3 14 // 1 // "cfa vector_int.c" 15 2 16 3 #include "vector_int.h" … … 23 10 24 11 vector_int vector_int_allocate() { 25 return vector_int_allocate( DEFAULT_CAPACITY );12 return vector_int_allocate( DEFAULT_CAPACITY ); 26 13 } 27 14 28 15 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;16 vector_int new_vector; 17 new_vector.last = -1; 18 new_vector.capacity = reserve; 19 new_vector.data = malloc( sizeof( int ) * reserve ); 20 return new_vector; 34 21 } 35 22 36 23 void vector_int_deallocate( vector_int vec ) { 37 free( vec.data );24 free( vec.data ); 38 25 } 39 26 40 27 void reserve( vector_int *vec, int reserve ) { 41 if ( reserve > vec->capacity ) {42 vec->data = realloc( vec->data, sizeof( int ) * reserve );43 vec->capacity = reserve;44 }28 if ( reserve > vec->capacity ) { 29 vec->data = realloc( vec->data, sizeof( int ) * reserve ); 30 vec->capacity = reserve; 31 } 45 32 } 46 33 47 34 void append( vector_int *vec, int element ) { 48 vec->last++;49 if ( vec->last == vec->capacity ) {50 vec->capacity *= 2;51 vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );52 }53 vec->data[ vec->last ] = element;35 vec->last++; 36 if ( vec->last == vec->capacity ) { 37 vec->capacity *= 2; 38 vec->data = realloc( vec->data, sizeof( int ) * vec->capacity ); 39 } 40 vec->data[ vec->last ] = element; 54 41 } 55 42 … … 57 44 58 45 lvalue int ?[?]( vector_int vec, int index ) { 59 return vec.data[ index ];46 return vec.data[ index ]; 60 47 } 61 48 62 49 int last( vector_int vec ) { 63 return vec.last;50 return vec.last; 64 51 } 65 52 66 67 // Local Variables: //68 // tab-width: 4 //69 // compile-command: "cfa vector_int.c" //70 // End: //
Note:
See TracChangeset
for help on using the changeset viewer.