text: /*BHEADER**********************************************************************
   * Copyright (c) 2008,  Lawrence Livermore National Security, LLC.
   * Produced at the Lawrence Livermore National Laboratory.
   * This file is part of HYPRE.  See file COPYRIGHT for details.
   *
   * HYPRE is free software; you can redistribute it and/or modify it under the
   * terms of the GNU Lesser General Public License (as published by the Free
   * Software Foundation) version 2.1 dated February 1999.
   *
   * $Revision$
   ***********************************************************************EHEADER*/
  
  
  
  
  
  /******************************************************************************
   *
   * Header info for Multiblock Matrix data structures
   *
   *****************************************************************************/
  
  #ifndef hypre_MULTIBLOCK_MATRIX_HEADER
  #define hypre_MULTIBLOCK_MATRIX_HEADER
  
  /*--------------------------------------------------------------------------
   * Multiblock Matrix
   *--------------------------------------------------------------------------*/
  
  typedef struct
  {
     HYPRE_Int                  num_submatrices;
     HYPRE_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
  