source: CIVL/examples/mpi-omp/AMG2013/krylov/all_krylov.h

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 2.4 KB
RevLine 
[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
16/******************************************************************************
17 *
18 * WARNING: The file krylov.h should NOT be edited by hand.
19 * It is automatically generated by the script "headers", which should be run
20 * frequently. Almost every other hypre directory is set up this way, the
21 * krylov directory is no different.
22 *
23 *****************************************************************************
24 *
25 * krylov solver headers
26 *
27 *****************************************************************************/
28
29#ifndef HYPRE_ALL_KRYLOV_HEADER
30#define HYPRE_ALL_KRYLOV_HEADER
31
32#include <stdlib.h>
33#include <stdio.h>
34#include <math.h>
35
36/*
37#ifndef max
38#define max(a,b) (((a)<(b)) ? (b) : (a))
39#endif
40*/
41
42#define hypre_CTAllocF(type, count, funcs) \
43( (type *)(*(funcs->CAlloc))\
44((unsigned int)(count), (unsigned int)sizeof(type)) )
45
46#define hypre_TFreeF( ptr, funcs ) \
47( (*(funcs->Free))((char *)ptr), ptr = NULL )
48
49/* A pointer to a type which is never defined, sort of works like void* ... */
50#ifndef HYPRE_SOLVER_STRUCT
51#define HYPRE_SOLVER_STRUCT
52struct hypre_Solver_struct;
53typedef struct hypre_Solver_struct *HYPRE_Solver;
54/* similar pseudo-void* for Matrix and Vector: */
55#endif
56#ifndef HYPRE_MATRIX_STRUCT
57#define HYPRE_MATRIX_STRUCT
58struct hypre_Matrix_struct;
59typedef struct hypre_Matrix_struct *HYPRE_Matrix;
60#endif
61#ifndef HYPRE_VECTOR_STRUCT
62#define HYPRE_VECTOR_STRUCT
63struct hypre_Vector_struct;
64typedef struct hypre_Vector_struct *HYPRE_Vector;
65#endif
66
67typedef int (*HYPRE_PtrToSolverFcn)(HYPRE_Solver,
68 HYPRE_Matrix,
69 HYPRE_Vector,
70 HYPRE_Vector);
71
72
73#ifndef HYPRE_MODIFYPC
74#define HYPRE_MODIFYPC
75typedef int (*HYPRE_PtrToModifyPCFcn)(HYPRE_Solver,
76 int,
77 double);
78
79#endif
Note: See TracBrowser for help on using the repository browser.