1 /*
2  * -----------------------------------------------------------------
3  * Programmer(s): Daniel Reynolds @ SMU
4  * -----------------------------------------------------------------
5  * SUNDIALS Copyright Start
6  * Copyright (c) 2002-2020, Lawrence Livermore National Security
7  * and Southern Methodist University.
8  * All rights reserved.
9  *
10  * See the top-level LICENSE and NOTICE files for details.
11  *
12  * SPDX-License-Identifier: BSD-3-Clause
13  * SUNDIALS Copyright End
14  * -----------------------------------------------------------------
15  * This file (companion of fsunlinsol_band.c) contains the
16  * definitions needed for the initialization of band
17  * linear solver operations in Fortran.
18  * -----------------------------------------------------------------
19  */
20 
21 #ifndef _FSUNLINSOL_BAND_H
22 #define _FSUNLINSOL_BAND_H
23 
24 #include <sunlinsol/sunlinsol_band.h>
25 #include <sundials/sundials_fnvector.h>
26 
27 #ifdef __cplusplus  /* wrapper to enable C++ usage */
28 extern "C" {
29 #endif
30 
31 #if defined(SUNDIALS_F77_FUNC)
32 #define FSUNBANDLINSOL_INIT     SUNDIALS_F77_FUNC(fsunbandlinsolinit, FSUNBANDLINSOLINIT)
33 #define FSUNMASSBANDLINSOL_INIT SUNDIALS_F77_FUNC(fsunmassbandlinsolinit, FSUNMASSBANDLINSOLINIT)
34 #else
35 #define FSUNBANDLINSOL_INIT     fsunbandlinsolinit_
36 #define FSUNMASSBANDLINSOL_INIT fsunmassbandlinsolinit_
37 #endif
38 
39 
40 /* Declarations of global variables */
41 
42 extern SUNLinearSolver F2C_CVODE_linsol;
43 extern SUNLinearSolver F2C_IDA_linsol;
44 extern SUNLinearSolver F2C_KINSOL_linsol;
45 extern SUNLinearSolver F2C_ARKODE_linsol;
46 extern SUNLinearSolver F2C_ARKODE_mass_sol;
47 
48 /*
49  * Prototypes of exported functions
50  *
51  * FSUNBANDLINSOL_INIT - initializes band linear solver for main problem
52  * FSUNMASSBANDLINSOL_INIT - initializes band linear solver for mass matrix solve
53  */
54 
55 void FSUNBANDLINSOL_INIT(int *code, int *ier);
56 void FSUNMASSBANDLINSOL_INIT(int *ier);
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif
63