hypre/seq_matrix_vector/multiblock_matrix.h

45 lines
1.6 KiB
C
Raw Normal View History

/*BHEADER**********************************************************************
* (c) 1996 The Regents of the University of California
*
* See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
* notice, contact person, and disclaimer.
*
* $Revision$
*********************************************************************EHEADER*/
/******************************************************************************
*
* Header info for Multiblock Matrix data structures
*
*****************************************************************************/
#ifndef hypre_MULTIBLOCK_MATRIX_HEADER
#define hypre_MULTIBLOCK_MATRIX_HEADER
/*--------------------------------------------------------------------------
* Multiblock Matrix
*--------------------------------------------------------------------------*/
typedef struct
{
int num_submatrices;
int *submatrix_types;
void **submatrices;
} hypre_MultiblockMatrix;
/*--------------------------------------------------------------------------
* Accessor functions for the Multiblock Matrix structure
*--------------------------------------------------------------------------*/
#define hypre_MultiblockMatrixSubmatrices(matrix) ((matrix) -> submatrices)
#define hypre_MultiblockMatrixNumSubmatrices(matrix) ((matrix) -> num_submatrices)
#define hypre_MultiblockMatrixSubmatrixTypes(matrix) ((matrix) -> submatrix_types)
#define hypre_MultiblockMatrixSubmatrix(matrix,j) (hypre_MultiblockMatrixSubmatrices\
(matrix)[j])
#define hypre_MultiblockMatrixSubmatrixType(matrix,j) (hypre_MultiblockMatrixSubmatrixTypes\
(matrix)[j])
#endif