| [2aa6644] | 1 | /*BHEADER**********************************************************************
|
|---|
| 2 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC.
|
|---|
| 3 | * Produced at the Lawrence Livermore National Laboratory.
|
|---|
| 4 | * This file is part of HYPRE. See file COPYRIGHT for details.
|
|---|
| 5 | *
|
|---|
| 6 | * HYPRE is free software; you can redistribute it and/or modify it under the
|
|---|
| 7 | * terms of the GNU Lesser General Public License (as published by the Free
|
|---|
| 8 | * Software Foundation) version 2.1 dated February 1999.
|
|---|
| 9 | *
|
|---|
| 10 | * $Revision: 2.4 $
|
|---|
| 11 | ***********************************************************************EHEADER*/
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 | #ifndef HYPRE_MATVEC_FUNCTIONS
|
|---|
| 16 | #define HYPRE_MATVEC_FUNCTIONS
|
|---|
| 17 |
|
|---|
| 18 | typedef struct
|
|---|
| 19 | {
|
|---|
| 20 | void* (*MatvecCreate) ( void *A, void *x );
|
|---|
| 21 | int (*Matvec) ( void *matvec_data, double alpha, void *A,
|
|---|
| 22 | void *x, double beta, void *y );
|
|---|
| 23 | int (*MatvecDestroy) ( void *matvec_data );
|
|---|
| 24 |
|
|---|
| 25 | void* (*MatMultiVecCreate) ( void *A, void *x );
|
|---|
| 26 | int (*MatMultiVec) ( void *data, double alpha, void *A,
|
|---|
| 27 | void *x, double beta, void *y );
|
|---|
| 28 | int (*MatMultiVecDestroy) ( void *data );
|
|---|
| 29 |
|
|---|
| 30 | } HYPRE_MatvecFunctions;
|
|---|
| 31 |
|
|---|
| 32 | #endif
|
|---|