grib_iarray* grib_iarray_push(grib_context* c,grib_iarray* v,long val) { size_t start_size=100; size_t start_incsize=100; if (!v) v=grib_iarray_new(c,start_size,start_incsize); if (v->n >= v->size) v=grib_iarray_resize(c,v); v->v[v->n]=val; v->n++; return v; }
grib_iarray* grib_iarray_push(grib_iarray* v,long val) { size_t start_size=100; size_t start_incsize=100; if (!v) v=grib_iarray_new(0,start_size,start_incsize); if (v->n >= v->size-v->number_of_pop_front) v=grib_iarray_resize(v); v->v[v->n]=val; v->n++; return v; }
grib_iarray* grib_iarray_push_front(grib_iarray* v,long val) { size_t start_size=100; size_t start_incsize=100; int i; if (!v) v=grib_iarray_new(0,start_size,start_incsize); if (v->number_of_pop_front) { v->v--; v->number_of_pop_front--; } else { if (v->n >= v->size) v=grib_iarray_resize(v); for (i=v->n;i>0;i--) v[i]=v[i-1]; } v->v[0]=val; v->n++; return v; }