/* -------------------------- set the size of the vector created -- 98jan22, cca -------------------------- */ void ZV_setSize ( ZV *zv, int newsize ) { /* --------------- check the input --------------- */ if ( zv == NULL || newsize < 0 ) { fprintf(stderr, "\n fatal error in ZV_setSize(%p,%d)" "\n bad input\n", zv, newsize) ; exit(-1) ; } if ( 0 < zv->maxsize && zv->maxsize < newsize && zv->owned == 0 ) { fprintf(stderr, "\n fatal error in ZV_setSize(%p,%d)" "\n zv->maxsize = %d, newsize = %d, zv->owned = %d\n", zv, newsize, zv->maxsize, newsize, zv->owned) ; exit(-1) ; } if ( zv->maxsize < newsize ) { /* ------------------------------------------------------------- new size requested is more than maxsize, set new maximum size ------------------------------------------------------------- */ ZV_setMaxsize(zv, newsize) ; } zv->size = newsize ; return ; }
/* -------------------------------------- push an entry onto the list created -- 95oct06, cca -------------------------------------- */ void ZV_push ( ZV *zv, double real, double imag ) { if ( zv == NULL ) { fprintf(stderr, "\n fatal error in ZV_push(%p,%f,%f)" "\n bad input\n", zv, real, imag) ; spoolesFatal(); } if ( zv->size == zv->maxsize ) { if ( zv->maxsize > 0 ) { ZV_setMaxsize(zv, 2*zv->maxsize) ; } else { ZV_setMaxsize(zv, 10) ; } } zv->vec[2*zv->size] = real ; zv->vec[2*zv->size+1] = real ; zv->size++ ; return ; }