/*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: 2.4 $ ***********************************************************************EHEADER*/ /****************************************************************************** * * Header info for hypre_StructStencil data structures * *****************************************************************************/ #ifndef hypre_STRUCT_STENCIL_HEADER #define hypre_STRUCT_STENCIL_HEADER /*-------------------------------------------------------------------------- * hypre_StructStencil *--------------------------------------------------------------------------*/ typedef struct hypre_StructStencil_struct { hypre_Index *shape; /* Description of a stencil's shape */ int size; /* Number of stencil coefficients */ int max_offset; int dim; /* Number of dimensions */ int ref_count; } hypre_StructStencil; /*-------------------------------------------------------------------------- * Accessor functions for the hypre_StructStencil structure *--------------------------------------------------------------------------*/ #define hypre_StructStencilShape(stencil) ((stencil) -> shape) #define hypre_StructStencilSize(stencil) ((stencil) -> size) #define hypre_StructStencilMaxOffset(stencil) ((stencil) -> max_offset) #define hypre_StructStencilDim(stencil) ((stencil) -> dim) #define hypre_StructStencilRefCount(stencil) ((stencil) -> ref_count) #define hypre_StructStencilElement(stencil, i) \ hypre_StructStencilShape(stencil)[i] #endif