Пример #1
0
/*
   --------------------------
   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 ; }
Пример #2
0
/*
   --------------------------------------
   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 ; }