Esempio n. 1
0
/*
   --------------------------------------------------------------
   sets the maximum numnber of entries.  this methods resizes the
   ivec1[], ivece2[] and dvec[] vectors if newmaxnent != maxnent

   created -- 98jan28, cca
   --------------------------------------------------------------
*/
void   
InpMtx_setMaxnent (
   InpMtx  *inpmtx, 
   int      newmaxnent
) {
/*
   ---------------
   check the input
   ---------------
*/
if ( inpmtx == NULL || newmaxnent < 0 ) {
   fprintf(stderr, "\n fatal error in InpMtx_setMaxnent(%p, %d)"
           "\n bad input\n", inpmtx, newmaxnent) ;
   spoolesFatal();
}
if ( newmaxnent != inpmtx->maxnent ) {
  IV_setMaxsize(&(inpmtx->ivec1IV), newmaxnent) ;
  IV_setMaxsize(&(inpmtx->ivec2IV), newmaxnent) ;
  if ( INPMTX_IS_REAL_ENTRIES(inpmtx) ) {
    DV_setMaxsize(&(inpmtx->dvecDV), newmaxnent) ;
  } else if ( INPMTX_IS_COMPLEX_ENTRIES(inpmtx) ) {
    DV_setMaxsize(&(inpmtx->dvecDV), 2*newmaxnent) ;
  }
}
inpmtx->maxnent = newmaxnent ;

return ; }
Esempio n. 2
0
/*
   --------------------------
   set the size of the vector

   created -- 96dec08, cca
   --------------------------
*/
void
DV_setSize (
   DV    *dv,
   int   newsize
) {
/*
   ---------------
   check the input
   ---------------
*/
if ( dv == NULL || newsize < 0 ) {
   fprintf(stderr, "\n fatal error in DV_setSize(%p,%d)"
           "\n bad input\n", dv, newsize) ;
   spoolesFatal();
}
if ( 0 < dv->maxsize && dv->maxsize < newsize && dv->owned == 0 ) {
   fprintf(stderr, "\n fatal error in DV_setSize(%p,%d)"
           "\n dv->maxsize = %d, newsize = %d, dv->owned = %d\n", 
           dv, newsize, dv->maxsize, newsize, dv->owned) ;
   spoolesFatal();
}
if ( dv->maxsize < newsize ) {
/*
   -------------------------------------------------------------
   new size requested is more than maxsize, set new maximum size 
   -------------------------------------------------------------
*/
   DV_setMaxsize(dv, newsize) ;
}
dv->size = newsize ;

return ; }
Esempio n. 3
0
File: util.c Progetto: bialk/SPOOLES
/*
   --------------------------------------
   push an entry onto the list

   created -- 95oct06, cca
   --------------------------------------
*/
void
DV_push (
   DV       *dv,
   double   val
) {
if ( dv == NULL ) {
   fprintf(stderr, "\n fatal error in DV_push(%p,%f)"
           "\n bad input\n", dv, val) ;
   exit(-1) ;
}
if ( dv->size == dv->maxsize ) {
   if ( dv->maxsize > 0 ) {
      DV_setMaxsize(dv, 2*dv->maxsize) ;
   } else {
      DV_setMaxsize(dv, 10) ;
   }
}
dv->vec[dv->size++] = val ;

return ; }