File: slepcsys.h.html

package info (click to toggle)
slepc 3.24.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 122,028 kB
  • sloc: ansic: 104,353; javascript: 12,732; python: 5,958; f90: 3,312; cpp: 1,528; makefile: 761; xml: 679; sh: 347
file content (139 lines) | stat: -rw-r--r-- 13,850 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<center><a href="https://gitlab.com/slepc/slepc/-/blob/bbccb785e5ebe6829936989c71776839602f087b/include/slepcsys.h">Actual source code: slepcsys.h</a></center><br>

<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-11-07T08:27:35+00:00">
</head>

<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1">  1: </a><font color="#B22222">/*</font>
<a name="line2">  2: </a><font color="#B22222">   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</font>
<a name="line3">  3: </a><font color="#B22222">   SLEPc - Scalable Library for Eigenvalue Problem Computations</font>
<a name="line4">  4: </a><font color="#B22222">   Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain</font>

<a name="line6">  6: </a><font color="#B22222">   This file is part of SLEPc.</font>
<a name="line7">  7: </a><font color="#B22222">   SLEPc is distributed under a 2-clause BSD license (see LICENSE).</font>
<a name="line8">  8: </a><font color="#B22222">   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</font>
<a name="line9">  9: </a><font color="#B22222">*/</font>
<a name="line10"> 10: </a><font color="#B22222">/*</font>
<a name="line11"> 11: </a><font color="#B22222">   This include file contains definitions of system functions. It is included</font>
<a name="line12"> 12: </a><font color="#B22222">   by all other SLEPc include files.</font>
<a name="line13"> 13: </a><font color="#B22222">*/</font>

<a name="line15"> 15: </a><font color="#A020F0">#pragma once</font>

<a name="line17"> 17: </a><font color="#A020F0">#include &lt;petscsys.h&gt;</font>

<a name="line19"> 19: </a><font color="#B22222">/* SUBMANSEC = Sys */</font>

<a name="line21"> 21: </a><font color="#A020F0">#if defined(slepc_EXPORTS)</font>
<a name="line22"> 22: </a><strong><font color="#228B22">#define SLEPC_VISIBILITY_PUBLIC </font></strong>
<a name="line23"> 23: </a><font color="#A020F0">#else</font>
<a name="line24"> 24: </a><strong><font color="#228B22">#define SLEPC_VISIBILITY_PUBLIC PETSC_DLLIMPORT</font></strong>
<a name="line25"> 25: </a><font color="#A020F0">#endif</font>
<a name="line26"> 26: </a><strong><font color="#228B22">#define SLEPC_VISIBILITY_INTERNAL PETSC_VISIBILITY_INTERNAL</font></strong>

<a name="line28"> 28: </a><font color="#B22222">/*</font>
<a name="line29"> 29: </a><font color="#B22222">    Functions tagged with SLEPC_EXTERN in the header files are</font>
<a name="line30"> 30: </a><font color="#B22222">  always defined as extern "C" when compiled with C++ so they may be</font>
<a name="line31"> 31: </a><font color="#B22222">  used from C and are always visible in the shared libraries</font>
<a name="line32"> 32: </a><font color="#B22222">*/</font>
<a name="line33"> 33: </a><font color="#A020F0">#if defined(__cplusplus)</font>
<a name="line34"> 34: </a><strong><font color="#228B22">#define SLEPC_EXTERN extern </font><font color="#666666">"C"</font><font color="#228B22"> SLEPC_VISIBILITY_PUBLIC</font></strong>
<a name="line35"> 35: </a><strong><font color="#228B22">#define SLEPC_INTERN extern </font><font color="#666666">"C"</font><font color="#228B22"> SLEPC_VISIBILITY_INTERNAL</font></strong>
<a name="line36"> 36: </a><font color="#A020F0">#else</font>
<a name="line37"> 37: </a><strong><font color="#228B22">#define SLEPC_EXTERN extern SLEPC_VISIBILITY_PUBLIC</font></strong>
<a name="line38"> 38: </a><strong><font color="#228B22">#define SLEPC_INTERN extern SLEPC_VISIBILITY_INTERNAL</font></strong>
<a name="line39"> 39: </a><font color="#A020F0">#endif</font>

<a name="line41"> 41: </a><font color="#A020F0">#if defined(PETSC_USE_SINGLE_LIBRARY)</font>
<a name="line42"> 42: </a><strong><font color="#228B22">  #define SLEPC_SINGLE_LIBRARY_VISIBILITY_INTERNAL SLEPC_VISIBILITY_INTERNAL</font></strong>
<a name="line43"> 43: </a><strong><font color="#228B22">  #define SLEPC_SINGLE_LIBRARY_INTERN              SLEPC_INTERN</font></strong>
<a name="line44"> 44: </a><font color="#A020F0">#else</font>
<a name="line45"> 45: </a><strong><font color="#228B22">  #define SLEPC_SINGLE_LIBRARY_VISIBILITY_INTERNAL SLEPC_VISIBILITY_PUBLIC</font></strong>
<a name="line46"> 46: </a><strong><font color="#228B22">  #define SLEPC_SINGLE_LIBRARY_INTERN              SLEPC_EXTERN</font></strong>
<a name="line47"> 47: </a><font color="#A020F0">#endif</font>

<a name="line49"> 49: </a><font color="#B22222">/* ========================================================================== */</font>
<a name="line50"> 50: </a><font color="#B22222">/*</font>
<a name="line51"> 51: </a><font color="#B22222">   slepcconf.h is created by the configure script and placed in ${PETSC_ARCH}/include.</font>
<a name="line52"> 52: </a><font color="#B22222">   It contains macro definitions set at configure time.</font>
<a name="line53"> 53: </a><font color="#B22222">*/</font>
<a name="line54"> 54: </a><font color="#A020F0">#include &lt;slepcconf.h&gt;</font>
<a name="line55"> 55: </a><font color="#B22222">/*</font>
<a name="line56"> 56: </a><font color="#B22222">    slepcversion.h contains version info</font>
<a name="line57"> 57: </a><font color="#B22222">*/</font>
<a name="line58"> 58: </a>#include <A href="../include/slepcversion.h.html">&lt;slepcversion.h&gt;</A>
<a name="line59"> 59: </a><strong><font color="#228B22">#define SLEPC_AUTHOR_INFO </font><font color="#666666">"       The SLEPc Team\n    slepc-maint@upv.es\n https://slepc.upv.es\n"</font><font color="#228B22"></font></strong>

<a name="line61"> 61: </a><font color="#B22222">/* ========================================================================== */</font>
<a name="line62"> 62: </a><font color="#B22222">/*</font>
<a name="line63"> 63: </a><font color="#B22222">   The PETSc include files.</font>
<a name="line64"> 64: </a><font color="#B22222">*/</font>
<a name="line65"> 65: </a><font color="#A020F0">#include &lt;petscmat.h&gt;</font>
<a name="line66"> 66: </a><font color="#B22222">/*</font>
<a name="line67"> 67: </a><font color="#B22222">    slepcmath.h contains definition of basic math functions</font>
<a name="line68"> 68: </a><font color="#B22222">*/</font>
<a name="line69"> 69: </a>#include <A href="../include/slepcmath.h.html">&lt;slepcmath.h&gt;</A>
<a name="line70"> 70: </a><font color="#B22222">/*</font>
<a name="line71"> 71: </a><font color="#B22222">    slepcsc.h contains definition of sorting criterion</font>
<a name="line72"> 72: </a><font color="#B22222">*/</font>
<a name="line73"> 73: </a>#include <A href="../include/slepcsc.h.html">&lt;slepcsc.h&gt;</A>
<a name="line74"> 74: </a><font color="#B22222">/*</font>
<a name="line75"> 75: </a><font color="#B22222">    slepcmat.h, slepcvec.h contain utilities related to <a href="https://petsc.org/release/manualpages/Mat/Mat/">Mat</a> and <a href="https://petsc.org/release/manualpages/Vec/Vec/">Vec</a>, extend functionality in PETSc</font>
<a name="line76"> 76: </a><font color="#B22222">*/</font>
<a name="line77"> 77: </a>#include <A href="../include/slepcmat.h.html">&lt;slepcmat.h&gt;</A>
<a name="line78"> 78: </a>#include <A href="../include/slepcvec.h.html">&lt;slepcvec.h&gt;</A>

<a name="line80"> 80: </a><font color="#B22222">/*</font>
<a name="line81"> 81: </a><font color="#B22222">    Context for monitors of type XXXMonitorConverged</font>
<a name="line82"> 82: </a><font color="#B22222">*/</font>
<a name="line83"> 83: </a><font color="#4169E1">typedef struct _n_SlepcConvMon* SlepcConvMon;</font>

<a name="line85"> 85: </a><font color="#B22222">/*</font>
<a name="line86"> 86: </a><font color="#B22222">    Initialization of SLEPc and other system routines</font>
<a name="line87"> 87: </a><font color="#B22222">*/</font>
<a name="line88"> 88: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcInitialize.html">SlepcInitialize</a>(int*,char***,const char[],const char[])</font></strong>;
<a name="line89"> 89: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcInitializeNoPointers.html">SlepcInitializeNoPointers</a>(int,char**,const char[],const char[])</font></strong>;
<a name="line90"> 90: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcInitializeNoArguments.html">SlepcInitializeNoArguments</a>(void)</font></strong>;
<a name="line91"> 91: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcFinalize.html">SlepcFinalize</a>(void)</font></strong>;
<a name="line92"> 92: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcInitializeFortran.html">SlepcInitializeFortran</a>(void)</font></strong>;
<a name="line93"> 93: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcInitialized.html">SlepcInitialized</a>(<a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a>*)</font></strong>;
<a name="line94"> 94: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcFinalized.html">SlepcFinalized</a>(<a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a>*)</font></strong>;
<a name="line95"> 95: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcGetVersion.html">SlepcGetVersion</a>(char[],size_t)</font></strong>;
<a name="line96"> 96: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcGetVersionNumber.html">SlepcGetVersionNumber</a>(<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*)</font></strong>;
<a name="line97"> 97: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcHasExternalPackage.html">SlepcHasExternalPackage</a>(const char[],<a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a>*)</font></strong>;

<a name="line99"> 99: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcSNPrintfScalar.html">SlepcSNPrintfScalar</a>(char[],size_t,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a>)</font></strong>;

<a name="line101">101: </a>SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a> SlepcInitializeCalled;
<a name="line102">102: </a>SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscBool/">PetscBool</a> SlepcFinalizeCalled;

<a name="line104">104: </a><font color="#A020F0">#if defined(PETSC_USE_COMPLEX)</font>
<a name="line105">105: </a><strong><font color="#228B22">#define SlepcLogFlopsComplex(a) <a href="https://petsc.org/release/manualpages/Log/PetscLogFlops/">PetscLogFlops</a>((a))</font></strong>
<a name="line106">106: </a><font color="#A020F0">#else</font>
<a name="line107">107: </a><strong><font color="#228B22">#define SlepcLogFlopsComplex(a) <a href="https://petsc.org/release/manualpages/Log/PetscLogFlops/">PetscLogFlops</a>((4.0*a))</font></strong>
<a name="line108">108: </a><font color="#A020F0">#endif</font>

<a name="line110">110: </a><font color="#A020F0">#if defined(PETSC_USE_COMPLEX)</font>
<a name="line111">111: </a><strong><font color="#228B22">#define SlepcLogGpuFlopsComplex(a) <a href="https://petsc.org/release/manualpages/Log/PetscLogGpuFlops/">PetscLogGpuFlops</a>((a))</font></strong>
<a name="line112">112: </a><font color="#A020F0">#else</font>
<a name="line113">113: </a><strong><font color="#228B22">#define SlepcLogGpuFlopsComplex(a) <a href="https://petsc.org/release/manualpages/Log/PetscLogGpuFlops/">PetscLogGpuFlops</a>((4.0*a))</font></strong>
<a name="line114">114: </a><font color="#A020F0">#endif</font>

<a name="line116">116: </a><font color="#B22222">/*</font>
<a name="line117">117: </a><font color="#B22222">    Developer routines to be used with a debugger</font>
<a name="line118">118: </a><font color="#B22222">*/</font>
<a name="line119">119: </a><font color="#A020F0">#if defined(PETSC_USE_DEBUG)</font>
<a name="line120">120: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcDebugViewMatrix(<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,const char*,const char*)</font></strong>;
<a name="line121">121: </a><font color="#A020F0">#endif</font>
</pre>
</body>

</html>