Changed type of 'value' argument in VectorSetValues and AddToValues.

This should enable cleaner implementation of the complex interface.
This commit is contained in:
falgout 2000-09-15 15:32:58 +00:00
parent d573b7665e
commit e130b5afdf
8 changed files with 30 additions and 26 deletions

View File

@ -590,8 +590,7 @@ int HYPRE_SStructVectorInitialize(HYPRE_SStructVector vector);
*
* If the vector is complex, then {\tt value} consists of a pair of
* doubles representing the real and imaginary parts of the complex
* value. NOTE: To implement this, the type of {\tt value} will have
* to be changed.
* value.
*
* @param param [IN] ...
*
@ -601,7 +600,7 @@ int HYPRE_SStructVectorSetValues(HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value);
double *value);
/**
* Set vector coefficients a box at a time.
@ -633,8 +632,7 @@ int HYPRE_SStructVectorSetBoxValues(HYPRE_SStructVector vector,
*
* If the vector is complex, then {\tt value} consists of a pair of
* doubles representing the real and imaginary parts of the complex
* value. NOTE: To implement this, the type of {\tt value} will have
* to be changed.
* value.
*
* @param param [IN] ...
*
@ -644,7 +642,7 @@ int HYPRE_SStructVectorAddToValues(HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value);
double *value);
/**
* Set vector coefficients a box at a time.

View File

@ -122,7 +122,7 @@ HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value )
double *value )
{
int ierr = 0;
int ndim = hypre_SStructVectorNDim(vector);
@ -177,7 +177,7 @@ HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value )
double *value )
{
int ierr = 0;
int ndim = hypre_SStructVectorNDim(vector);

View File

@ -630,6 +630,8 @@ int HYPRE_SStructMatrixAddToValues( HYPRE_SStructMatrix matrix , int part , int
int HYPRE_SStructMatrixAddToBoxValues( HYPRE_SStructMatrix matrix , int part , int *ilower , int *iupper , int var , int nentries , int *entries , double *values );
int HYPRE_SStructMatrixAssemble( HYPRE_SStructMatrix matrix );
int HYPRE_SStructMatrixSetSymmetric( HYPRE_SStructMatrix matrix , int symmetric );
int HYPRE_SStructMatrixSetObjectType( HYPRE_SStructMatrix matrix , int type );
int HYPRE_SStructMatrixGetObject( HYPRE_SStructMatrix matrix , void **object );
int HYPRE_SStructMatrixPrint( char *filename , HYPRE_SStructMatrix matrix , int all );
/* HYPRE_sstruct_stencil.c */
@ -641,14 +643,16 @@ int HYPRE_SStructStencilSetEntry( HYPRE_SStructStencil stencil , int entry , int
int HYPRE_SStructVectorCreate( MPI_Comm comm , HYPRE_SStructGrid grid , HYPRE_SStructVector *vector_ptr );
int HYPRE_SStructVectorDestroy( HYPRE_SStructVector vector );
int HYPRE_SStructVectorInitialize( HYPRE_SStructVector vector );
int HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector , int part , int *index , int var , double value );
int HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorSetBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector , int part , int *index , int var , double value );
int HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorAddToBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorAssemble( HYPRE_SStructVector vector );
int HYPRE_SStructVectorGather( HYPRE_SStructVector vector );
int HYPRE_SStructVectorGetValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorGetBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorSetObjectType( HYPRE_SStructVector vector , int type );
int HYPRE_SStructVectorGetObject( HYPRE_SStructVector vector , void **object );
int HYPRE_SStructVectorPrint( char *filename , HYPRE_SStructVector vector , int all );
/* sstruct_axpy.c */
@ -716,7 +720,7 @@ int hypre_SStructStencilRef( hypre_SStructStencil *stencil , hypre_SStructStenci
int hypre_SStructPVectorCreate( MPI_Comm comm , hypre_SStructPGrid *pgrid , hypre_SStructPVector **pvector_ptr );
int hypre_SStructPVectorDestroy( hypre_SStructPVector *pvector );
int hypre_SStructPVectorInitialize( hypre_SStructPVector *pvector );
int hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector , hypre_Index index , int var , double value , int add_to );
int hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector , hypre_Index index , int var , double *value , int add_to );
int hypre_SStructPVectorSetBoxValues( hypre_SStructPVector *pvector , hypre_Index ilower , hypre_Index iupper , int var , double *values , int add_to );
int hypre_SStructPVectorAssemble( hypre_SStructPVector *pvector );
int hypre_SStructPVectorGather( hypre_SStructPVector *pvector );

View File

@ -120,13 +120,13 @@ int
hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector,
hypre_Index index,
int var,
double value,
double *value,
int add_to )
{
int ierr = 0;
hypre_StructVector *svector = hypre_SStructPVectorSVector(pvector, var);
ierr = hypre_StructVectorSetValues(svector, index, value, add_to);
ierr = hypre_StructVectorSetValues(svector, index, *value, add_to);
return ierr;
}

View File

@ -590,8 +590,7 @@ int HYPRE_SStructVectorInitialize(HYPRE_SStructVector vector);
*
* If the vector is complex, then {\tt value} consists of a pair of
* doubles representing the real and imaginary parts of the complex
* value. NOTE: To implement this, the type of {\tt value} will have
* to be changed.
* value.
*
* @param param [IN] ...
*
@ -601,7 +600,7 @@ int HYPRE_SStructVectorSetValues(HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value);
double *value);
/**
* Set vector coefficients a box at a time.
@ -633,8 +632,7 @@ int HYPRE_SStructVectorSetBoxValues(HYPRE_SStructVector vector,
*
* If the vector is complex, then {\tt value} consists of a pair of
* doubles representing the real and imaginary parts of the complex
* value. NOTE: To implement this, the type of {\tt value} will have
* to be changed.
* value.
*
* @param param [IN] ...
*
@ -644,7 +642,7 @@ int HYPRE_SStructVectorAddToValues(HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value);
double *value);
/**
* Set vector coefficients a box at a time.

View File

@ -122,7 +122,7 @@ HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value )
double *value )
{
int ierr = 0;
int ndim = hypre_SStructVectorNDim(vector);
@ -177,7 +177,7 @@ HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector,
int part,
int *index,
int var,
double value )
double *value )
{
int ierr = 0;
int ndim = hypre_SStructVectorNDim(vector);

View File

@ -630,6 +630,8 @@ int HYPRE_SStructMatrixAddToValues( HYPRE_SStructMatrix matrix , int part , int
int HYPRE_SStructMatrixAddToBoxValues( HYPRE_SStructMatrix matrix , int part , int *ilower , int *iupper , int var , int nentries , int *entries , double *values );
int HYPRE_SStructMatrixAssemble( HYPRE_SStructMatrix matrix );
int HYPRE_SStructMatrixSetSymmetric( HYPRE_SStructMatrix matrix , int symmetric );
int HYPRE_SStructMatrixSetObjectType( HYPRE_SStructMatrix matrix , int type );
int HYPRE_SStructMatrixGetObject( HYPRE_SStructMatrix matrix , void **object );
int HYPRE_SStructMatrixPrint( char *filename , HYPRE_SStructMatrix matrix , int all );
/* HYPRE_sstruct_stencil.c */
@ -641,14 +643,16 @@ int HYPRE_SStructStencilSetEntry( HYPRE_SStructStencil stencil , int entry , int
int HYPRE_SStructVectorCreate( MPI_Comm comm , HYPRE_SStructGrid grid , HYPRE_SStructVector *vector_ptr );
int HYPRE_SStructVectorDestroy( HYPRE_SStructVector vector );
int HYPRE_SStructVectorInitialize( HYPRE_SStructVector vector );
int HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector , int part , int *index , int var , double value );
int HYPRE_SStructVectorSetValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorSetBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector , int part , int *index , int var , double value );
int HYPRE_SStructVectorAddToValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorAddToBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorAssemble( HYPRE_SStructVector vector );
int HYPRE_SStructVectorGather( HYPRE_SStructVector vector );
int HYPRE_SStructVectorGetValues( HYPRE_SStructVector vector , int part , int *index , int var , double *value );
int HYPRE_SStructVectorGetBoxValues( HYPRE_SStructVector vector , int part , int *ilower , int *iupper , int var , double *values );
int HYPRE_SStructVectorSetObjectType( HYPRE_SStructVector vector , int type );
int HYPRE_SStructVectorGetObject( HYPRE_SStructVector vector , void **object );
int HYPRE_SStructVectorPrint( char *filename , HYPRE_SStructVector vector , int all );
/* sstruct_axpy.c */
@ -716,7 +720,7 @@ int hypre_SStructStencilRef( hypre_SStructStencil *stencil , hypre_SStructStenci
int hypre_SStructPVectorCreate( MPI_Comm comm , hypre_SStructPGrid *pgrid , hypre_SStructPVector **pvector_ptr );
int hypre_SStructPVectorDestroy( hypre_SStructPVector *pvector );
int hypre_SStructPVectorInitialize( hypre_SStructPVector *pvector );
int hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector , hypre_Index index , int var , double value , int add_to );
int hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector , hypre_Index index , int var , double *value , int add_to );
int hypre_SStructPVectorSetBoxValues( hypre_SStructPVector *pvector , hypre_Index ilower , hypre_Index iupper , int var , double *values , int add_to );
int hypre_SStructPVectorAssemble( hypre_SStructPVector *pvector );
int hypre_SStructPVectorGather( hypre_SStructPVector *pvector );

View File

@ -120,13 +120,13 @@ int
hypre_SStructPVectorSetValues( hypre_SStructPVector *pvector,
hypre_Index index,
int var,
double value,
double *value,
int add_to )
{
int ierr = 0;
hypre_StructVector *svector = hypre_SStructPVectorSVector(pvector, var);
ierr = hypre_StructVectorSetValues(svector, index, value, add_to);
ierr = hypre_StructVectorSetValues(svector, index, *value, add_to);
return ierr;
}