hypre/seq_mv/HYPRE_seq_mv.h
2008-07-18 01:34:48 +00:00

95 lines
3.7 KiB
C

/*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 file for HYPRE_mv library
*
*****************************************************************************/
#ifndef HYPRE_SEQ_MV_HEADER
#define HYPRE_SEQ_MV_HEADER
#include "HYPRE_utilities.h"
#ifdef __cplusplus
extern "C" {
#endif
/*--------------------------------------------------------------------------
* Structures
*--------------------------------------------------------------------------*/
struct hypre_CSRMatrix_struct;
typedef struct hypre_CSRMatrix_struct *HYPRE_CSRMatrix;
struct hypre_MappedMatrix_struct;
typedef struct hypre_MappedMatrix_struct *HYPRE_MappedMatrix;
struct hypre_MultiblockMatrix_struct;
typedef struct hypre_MultiblockMatrix_struct *HYPRE_MultiblockMatrix;
#ifndef HYPRE_VECTOR_STRUCT
#define HYPRE_VECTOR_STRUCT
struct hypre_Vector_struct;
typedef struct hypre_Vector_struct *HYPRE_Vector;
#endif
/*--------------------------------------------------------------------------
* Prototypes
*--------------------------------------------------------------------------*/
/* HYPRE_csr_matrix.c */
HYPRE_CSRMatrix HYPRE_CSRMatrixCreate( int num_rows , int num_cols , int *row_sizes );
int HYPRE_CSRMatrixDestroy( HYPRE_CSRMatrix matrix );
int HYPRE_CSRMatrixInitialize( HYPRE_CSRMatrix matrix );
HYPRE_CSRMatrix HYPRE_CSRMatrixRead( char *file_name );
void HYPRE_CSRMatrixPrint( HYPRE_CSRMatrix matrix , char *file_name );
int HYPRE_CSRMatrixGetNumRows( HYPRE_CSRMatrix matrix , int *num_rows );
/* HYPRE_mapped_matrix.c */
HYPRE_MappedMatrix HYPRE_MappedMatrixCreate( void );
int HYPRE_MappedMatrixDestroy( HYPRE_MappedMatrix matrix );
int HYPRE_MappedMatrixLimitedDestroy( HYPRE_MappedMatrix matrix );
int HYPRE_MappedMatrixInitialize( HYPRE_MappedMatrix matrix );
int HYPRE_MappedMatrixAssemble( HYPRE_MappedMatrix matrix );
void HYPRE_MappedMatrixPrint( HYPRE_MappedMatrix matrix );
int HYPRE_MappedMatrixGetColIndex( HYPRE_MappedMatrix matrix , int j );
void *HYPRE_MappedMatrixGetMatrix( HYPRE_MappedMatrix matrix );
int HYPRE_MappedMatrixSetMatrix( HYPRE_MappedMatrix matrix , void *matrix_data );
int HYPRE_MappedMatrixSetColMap( HYPRE_MappedMatrix matrix , int (*ColMap )(int ,void *));
int HYPRE_MappedMatrixSetMapData( HYPRE_MappedMatrix matrix , void *MapData );
/* HYPRE_multiblock_matrix.c */
HYPRE_MultiblockMatrix HYPRE_MultiblockMatrixCreate( void );
int HYPRE_MultiblockMatrixDestroy( HYPRE_MultiblockMatrix matrix );
int HYPRE_MultiblockMatrixLimitedDestroy( HYPRE_MultiblockMatrix matrix );
int HYPRE_MultiblockMatrixInitialize( HYPRE_MultiblockMatrix matrix );
int HYPRE_MultiblockMatrixAssemble( HYPRE_MultiblockMatrix matrix );
void HYPRE_MultiblockMatrixPrint( HYPRE_MultiblockMatrix matrix );
int HYPRE_MultiblockMatrixSetNumSubmatrices( HYPRE_MultiblockMatrix matrix , int n );
int HYPRE_MultiblockMatrixSetSubmatrixType( HYPRE_MultiblockMatrix matrix , int j , int type );
/* HYPRE_vector.c */
HYPRE_Vector HYPRE_VectorCreate( int size );
int HYPRE_VectorDestroy( HYPRE_Vector vector );
int HYPRE_VectorInitialize( HYPRE_Vector vector );
int HYPRE_VectorPrint( HYPRE_Vector vector , char *file_name );
HYPRE_Vector HYPRE_VectorRead( char *file_name );
#ifdef __cplusplus
}
#endif
#endif