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 <petscsys.h></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 <slepcconf.h></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"><slepcversion.h></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 <petscmat.h></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"><slepcmath.h></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"><slepcsc.h></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"><slepcmat.h></A>
<a name="line78"> 78: </a>#include <A href="../include/slepcvec.h.html"><slepcvec.h></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>
|