ext/cvode/source/cvband.c
void CVBand(void *cvode_mem, integer mupper, integer mlower, CVBandJacFn bjac,
	    void *jac_data)
{
  CVodeMem cv_mem;
  CVBandMem cvband_mem;
  
  /* Return immediately if cvode_mem is NULL */
  cv_mem = (CVodeMem) cvode_mem;
  if (cv_mem == NULL) return;  /* CVode reports this error */

  /* Set four main function fields in cv_mem */  
  linit  = CVBandInit;
  lsetup = CVBandSetup;
  lsolve = CVBandSolve;
  lfree  = CVBandFree;
  
  /* Get memory for CVBandMemRec */
  lmem = cvband_mem = (CVBandMem) malloc(sizeof(CVBandMemRec));
  if (cvband_mem == NULL) return;  /* CVBandInit reports this error */
  
  /* Set Jacobian routine field to user's bjac or CVBandDQJac */
  if (bjac == NULL) {
    jac = CVBandDQJac;
  } else {
    jac = bjac;
  }
  J_data = jac_data;
  
  /* Load half-bandwiths in cvband_mem */
  ml = mlower;
  mu = mupper;
}
/*************** CVBand **********************************************

 This routine initializes the memory record and sets various function
 fields specific to the band linear solver module. CVBand sets the
 cv_linit, cv_lsetup, cv_lsolve, and cv_lfree fields in (*cvode_mem)
 to be CVBandInit, CVBandSetup, CVBandSolve, and CVBandFree,
 respectively. It allocates memory for a structure of type
 CVBandMemRec and sets the cv_lmem field in (*cvode_mem) to the
 address of this structure. Finally, it sets b_J_data field in the
 CVBandMemRec structure to be the input parameter jac_data, b_mu to
 be mupper, b_ml to be mlower, and the b_jac field to be:

 (1) the input parameter bjac if bjac != NULL or                
                                                                
 (2) CVBandDQJac if bjac == NULL.                               

**********************************************************************/
CVBand
This routine initializes the memory record and sets various function
fields specific to the band linear solver module.

(1) the input parameter bjac if bjac != NULL or

(2) CVBandDQJac if bjac == NULL.
CVBand This routine initializes the memory record and sets various function fields specific to the band linear solver module . ( 1 ) the input parameter bjac if bjac ! = NULL or ( 2 ) CVBandDQJac if bjac == NULL .
void CVBand(void *cvode_mem, integer mupper, integer mlower, CVBandJacFn bjac,
	    void *jac_data)
{
  CVodeMem cv_mem;
  CVBandMem cvband_mem;
  cv_mem = (CVodeMem) cvode_mem;
  if (cv_mem == NULL) return;  
  linit  = CVBandInit;
  lsetup = CVBandSetup;
  lsolve = CVBandSolve;
  lfree  = CVBandFree;
  lmem = cvband_mem = (CVBandMem) malloc(sizeof(CVBandMemRec));
  if (cvband_mem == NULL) return;  
  if (bjac == NULL) {
    jac = CVBandDQJac;
  } else {
    jac = bjac;
  }
  J_data = jac_data;
  ml = mlower;
  mu = mupper;
}
void CVBand ( void * cvode_mem , integer mupper , integer mlower , CVBandJacFn bjac , void * jac_data ) { CVodeMem cv_mem ; CVBandMem cvband_mem ; cv_mem = ( CVodeMem ) cvode_mem ; if ( cv_mem == NULL ) return ; linit = CVBandInit ; lsetup = CVBandSetup ; lsolve = CVBandSolve ; lfree = CVBandFree ; lmem = cvband_mem = ( CVBandMem ) malloc ( sizeof ( CVBandMemRec ) ) ; if ( cvband_mem == NULL ) return ; if ( bjac == NULL ) { jac = CVBandDQJac ; } else { jac = bjac ; } J_data = jac_data ; ml = mlower ; mu = mupper ; }
CVBand 
This routine initializes the memory record and sets various function
fields specific to the band linear solver module.
CVBand This routine initializes the memory record and sets various function fields specific to the band linear solver module .
/* Return immediately if cvode_mem is NULL */ /* CVode reports this error */ /* Set four main function fields in cv_mem */ /* Get memory for CVBandMemRec */ /* CVBandInit reports this error */ /* Set Jacobian routine field to user's bjac or CVBandDQJac */ /* Load half-bandwiths in cvband_mem */