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 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
|
<center><a href="https://gitlab.com/slepc/slepc/-/blob/bbccb785e5ebe6829936989c71776839602f087b/include/slepcfn.h">Actual source code: slepcfn.h</a></center><br>
<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-11-07T08:27:34+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"> User interface for the mathematical function object in SLEPc</font>
<a name="line12"> 12: </a><font color="#B22222">*/</font>
<a name="line14"> 14: </a><font color="#A020F0">#pragma once</font>
<a name="line16"> 16: </a>#include <A href="../include/slepcsys.h.html"><slepcsys.h></A>
<a name="line18"> 18: </a><font color="#B22222">/* SUBMANSEC = <a href="../manualpages/FN/FN.html">FN</a> */</font>
<a name="line20"> 20: </a><strong><font color="#228B22">#define FN_MAX_SOLVE 16</font></strong>
<a name="line22"> 22: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNInitializePackage.html">FNInitializePackage</a>(void)</font></strong>;
<a name="line23"> 23: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNFinalizePackage.html">FNFinalizePackage</a>(void)</font></strong>;
<a name="line25"> 25: </a><font color="#B22222">/*S</font>
<a name="line26"> 26: </a><font color="#B22222"> <a href="../manualpages/FN/FN.html">FN</a> - Abstraction of a mathematical function.</font>
<a name="line28"> 28: </a><font color="#B22222"> Level: beginner</font>
<a name="line30"> 30: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCreate.html">FNCreate</a>()`</font>
<a name="line31"> 31: </a><font color="#B22222">S*/</font>
<a name="line32"> 32: </a><font color="#4169E1">typedef struct _p_FN* <a href="../manualpages/FN/FN.html">FN</a>;</font>
<a name="line34"> 34: </a><font color="#B22222">/*J</font>
<a name="line35"> 35: </a><font color="#B22222"> <a href="../manualpages/FN/FNType.html">FNType</a> - String with the name of the mathematical function.</font>
<a name="line37"> 37: </a><font color="#B22222"> Level: beginner</font>
<a name="line39"> 39: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNSetType.html">FNSetType</a>()`, `<a href="../manualpages/FN/FN.html">FN</a>`</font>
<a name="line40"> 40: </a><font color="#B22222">J*/</font>
<a name="line41"> 41: </a><font color="#4169E1">typedef const char *<a href="../manualpages/FN/FNType.html">FNType</a>;</font>
<a name="line42"> 42: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNRATIONAL.html">FNRATIONAL</a> </font><font color="#666666">"rational"</font><font color="#228B22"></font></strong>
<a name="line43"> 43: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNEXP.html">FNEXP</a> </font><font color="#666666">"exp"</font><font color="#228B22"></font></strong>
<a name="line44"> 44: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNLOG.html">FNLOG</a> </font><font color="#666666">"log"</font><font color="#228B22"></font></strong>
<a name="line45"> 45: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNPHI.html">FNPHI</a> </font><font color="#666666">"phi"</font><font color="#228B22"></font></strong>
<a name="line46"> 46: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNSQRT.html">FNSQRT</a> </font><font color="#666666">"sqrt"</font><font color="#228B22"></font></strong>
<a name="line47"> 47: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNINVSQRT.html">FNINVSQRT</a> </font><font color="#666666">"invsqrt"</font><font color="#228B22"></font></strong>
<a name="line48"> 48: </a><strong><font color="#228B22">#define <a href="../manualpages/FN/FNCOMBINE.html">FNCOMBINE</a> </font><font color="#666666">"combine"</font><font color="#228B22"></font></strong>
<a name="line50"> 50: </a><font color="#B22222">/* Logging support */</font>
<a name="line51"> 51: </a>SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscClassId/">PetscClassId</a> FN_CLASSID;
<a name="line53"> 53: </a><font color="#B22222">/*E</font>
<a name="line54"> 54: </a><font color="#B22222"> <a href="../manualpages/FN/FNCombineType.html">FNCombineType</a> - Determines how two functions are combined.</font>
<a name="line56"> 56: </a><font color="#B22222"> Values:</font>
<a name="line57"> 57: </a><font color="#B22222">+ `<a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a>` - add the functions</font>
<a name="line58"> 58: </a><font color="#B22222">. `<a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a>` - multiply the functions</font>
<a name="line59"> 59: </a><font color="#B22222">. `<a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a>` - divide the functions</font>
<a name="line60"> 60: </a><font color="#B22222">- `<a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a>` - use function composition</font>
<a name="line62"> 62: </a><font color="#B22222"> Level: intermediate</font>
<a name="line64"> 64: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>()`</font>
<a name="line65"> 65: </a><font color="#B22222">E*/</font>
<a name="line66"> 66: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> { <a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a>,
<a name="line67"> 67: </a> <a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a>,
<a name="line68"> 68: </a> <a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a>,
<a name="line69"> 69: </a> <a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a> } <a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>;
<a name="line71"> 71: </a><font color="#B22222">/*MC</font>
<a name="line72"> 72: </a><font color="#B22222"> <a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a> - In functions of type `<a href="../manualpages/FN/FNCOMBINE.html">FNCOMBINE</a>`, add the two child functions</font>
<a name="line73"> 73: </a><font color="#B22222"> together.</font>
<a name="line75"> 75: </a><font color="#B22222"> Level: intermediate</font>
<a name="line77"> 77: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>`, `<a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>()`, `<a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a>`, `<a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a>`, `<a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a>`</font>
<a name="line78"> 78: </a><font color="#B22222">M*/</font>
<a name="line80"> 80: </a><font color="#B22222">/*MC</font>
<a name="line81"> 81: </a><font color="#B22222"> <a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a> - In functions of type `<a href="../manualpages/FN/FNCOMBINE.html">FNCOMBINE</a>`, multiply the two child functions</font>
<a name="line82"> 82: </a><font color="#B22222"> together.</font>
<a name="line84"> 84: </a><font color="#B22222"> Level: intermediate</font>
<a name="line86"> 86: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>`, `<a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>()`, `<a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a>`, `<a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a>`, `<a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a>`</font>
<a name="line87"> 87: </a><font color="#B22222">M*/</font>
<a name="line89"> 89: </a><font color="#B22222">/*MC</font>
<a name="line90"> 90: </a><font color="#B22222"> <a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a> - In functions of type `<a href="../manualpages/FN/FNCOMBINE.html">FNCOMBINE</a>`, compute the ratio of the</font>
<a name="line91"> 91: </a><font color="#B22222"> two child functions (the first one in the numerator).</font>
<a name="line93"> 93: </a><font color="#B22222"> Level: intermediate</font>
<a name="line95"> 95: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>`, `<a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>()`, `<a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a>`, `<a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a>`, `<a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a>`</font>
<a name="line96"> 96: </a><font color="#B22222">M*/</font>
<a name="line98"> 98: </a><font color="#B22222">/*MC</font>
<a name="line99"> 99: </a><font color="#B22222"> <a href="../manualpages/FN/FN_COMBINE_COMPOSE.html">FN_COMBINE_COMPOSE</a> - In functions of type `<a href="../manualpages/FN/FNCOMBINE.html">FNCOMBINE</a>`, compose the two child functions,</font>
<a name="line100">100: </a><font color="#B22222"> i.e., evaluate the second function on the result of evaluating the first function.</font>
<a name="line102">102: </a><font color="#B22222"> Level: intermediate</font>
<a name="line104">104: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>`, `<a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>()`, `<a href="../manualpages/FN/FN_COMBINE_ADD.html">FN_COMBINE_ADD</a>`, `<a href="../manualpages/FN/FN_COMBINE_MULTIPLY.html">FN_COMBINE_MULTIPLY</a>`, `<a href="../manualpages/FN/FN_COMBINE_DIVIDE.html">FN_COMBINE_DIVIDE</a>`</font>
<a name="line105">105: </a><font color="#B22222">M*/</font>
<a name="line107">107: </a><font color="#B22222">/*E</font>
<a name="line108">108: </a><font color="#B22222"> <a href="../manualpages/FN/FNParallelType.html">FNParallelType</a> - Indicates the parallel mode that will be used for matrix</font>
<a name="line109">109: </a><font color="#B22222"> function evaluation.</font>
<a name="line111">111: </a><font color="#B22222"> Values:</font>
<a name="line112">112: </a><font color="#B22222">+ `<a href="../manualpages/FN/FN_PARALLEL_REDUNDANT.html">FN_PARALLEL_REDUNDANT</a>` - all processes compute redundantly</font>
<a name="line113">113: </a><font color="#B22222">- `<a href="../manualpages/FN/FN_PARALLEL_SYNCHRONIZED.html">FN_PARALLEL_SYNCHRONIZED</a>` - only the first MPI process performs the computation</font>
<a name="line115">115: </a><font color="#B22222"> Level: advanced</font>
<a name="line117">117: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNSetParallel.html">FNSetParallel</a>()`</font>
<a name="line118">118: </a><font color="#B22222">E*/</font>
<a name="line119">119: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> { <a href="../manualpages/FN/FN_PARALLEL_REDUNDANT.html">FN_PARALLEL_REDUNDANT</a>,
<a name="line120">120: </a> <a href="../manualpages/FN/FN_PARALLEL_SYNCHRONIZED.html">FN_PARALLEL_SYNCHRONIZED</a> } <a href="../manualpages/FN/FNParallelType.html">FNParallelType</a>;
<a name="line121">121: </a>SLEPC_EXTERN const char *FNParallelTypes[];
<a name="line123">123: </a><font color="#B22222">/*MC</font>
<a name="line124">124: </a><font color="#B22222"> <a href="../manualpages/FN/FN_PARALLEL_REDUNDANT.html">FN_PARALLEL_REDUNDANT</a> - In matrix function evaluation, all processes compute</font>
<a name="line125">125: </a><font color="#B22222"> redundantly.</font>
<a name="line127">127: </a><font color="#B22222"> Note:</font>
<a name="line128">128: </a><font color="#B22222"> When this parallel mode is selected, all processes will make the computation</font>
<a name="line129">129: </a><font color="#B22222"> redundantly, starting from the same data, and producing the same result.</font>
<a name="line130">130: </a><font color="#B22222"> This result may be slightly different in the different processes if using a</font>
<a name="line131">131: </a><font color="#B22222"> multithreaded BLAS library, which may cause issues in ill-conditioned problems.</font>
<a name="line133">133: </a><font color="#B22222"> Level: advanced</font>
<a name="line135">135: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNParallelType.html">FNParallelType</a>`, `<a href="../manualpages/FN/FNSetParallel.html">FNSetParallel</a>()`, `<a href="../manualpages/FN/FN_PARALLEL_SYNCHRONIZED.html">FN_PARALLEL_SYNCHRONIZED</a>`</font>
<a name="line136">136: </a><font color="#B22222">M*/</font>
<a name="line138">138: </a><font color="#B22222">/*MC</font>
<a name="line139">139: </a><font color="#B22222"> <a href="../manualpages/FN/FN_PARALLEL_SYNCHRONIZED.html">FN_PARALLEL_SYNCHRONIZED</a> - In matrix function evaluation, only the first MPI</font>
<a name="line140">140: </a><font color="#B22222"> process performs the computation.</font>
<a name="line142">142: </a><font color="#B22222"> Note:</font>
<a name="line143">143: </a><font color="#B22222"> When this parallel mode is selected, only the first MPI process performs the</font>
<a name="line144">144: </a><font color="#B22222"> computation and then the computed matrix is broadcast to the other</font>
<a name="line145">145: </a><font color="#B22222"> processes in the communicator. This communication is done automatically at</font>
<a name="line146">146: </a><font color="#B22222"> the end of `<a href="../manualpages/FN/FNEvaluateFunctionMat.html">FNEvaluateFunctionMat</a>()` or `<a href="../manualpages/FN/FNEvaluateFunctionMatVec.html">FNEvaluateFunctionMatVec</a>()`.</font>
<a name="line148">148: </a><font color="#B22222"> Level: advanced</font>
<a name="line150">150: </a><font color="#B22222">.seealso: [](sec:fn), `<a href="../manualpages/FN/FNParallelType.html">FNParallelType</a>`, `<a href="../manualpages/FN/FNSetParallel.html">FNSetParallel</a>()`, `<a href="../manualpages/FN/FN_PARALLEL_REDUNDANT.html">FN_PARALLEL_REDUNDANT</a>`</font>
<a name="line151">151: </a><font color="#B22222">M*/</font>
<a name="line153">153: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNCreate.html">FNCreate</a>(<a href="https://petsc.org/release/manualpages/Sys/MPI_Comm/">MPI_Comm</a>,<a href="../manualpages/FN/FN.html">FN</a>*)</font></strong>;
<a name="line154">154: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetType.html">FNSetType</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNType.html">FNType</a>)</font></strong>;
<a name="line155">155: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNGetType.html">FNGetType</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNType.html">FNType</a>*)</font></strong>;
<a name="line156">156: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetOptionsPrefix.html">FNSetOptionsPrefix</a>(<a href="../manualpages/FN/FN.html">FN</a>,const char[])</font></strong>;
<a name="line157">157: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNAppendOptionsPrefix.html">FNAppendOptionsPrefix</a>(<a href="../manualpages/FN/FN.html">FN</a>,const char[])</font></strong>;
<a name="line158">158: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNGetOptionsPrefix.html">FNGetOptionsPrefix</a>(<a href="../manualpages/FN/FN.html">FN</a>,const char*[])</font></strong>;
<a name="line159">159: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetFromOptions.html">FNSetFromOptions</a>(<a href="../manualpages/FN/FN.html">FN</a>)</font></strong>;
<a name="line160">160: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNView.html">FNView</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Viewer/PetscViewer/">PetscViewer</a>)</font></strong>;
<a name="line161">161: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNViewFromOptions.html">FNViewFromOptions</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscObject/">PetscObject</a>,const char[])</font></strong>;
<a name="line162">162: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNDestroy.html">FNDestroy</a>(<a href="../manualpages/FN/FN.html">FN</a>*)</font></strong>;
<a name="line163">163: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNDuplicate.html">FNDuplicate</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/MPI_Comm/">MPI_Comm</a>,<a href="../manualpages/FN/FN.html">FN</a>*)</font></strong>;
<a name="line165">165: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetScale.html">FNSetScale</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>)</font></strong>;
<a name="line166">166: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNGetScale.html">FNGetScale</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*)</font></strong>;
<a name="line167">167: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetMethod.html">FNSetMethod</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>)</font></strong>;
<a name="line168">168: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNGetMethod.html">FNGetMethod</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*)</font></strong>;
<a name="line169">169: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNSetParallel.html">FNSetParallel</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNParallelType.html">FNParallelType</a>)</font></strong>;
<a name="line170">170: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNGetParallel.html">FNGetParallel</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNParallelType.html">FNParallelType</a>*)</font></strong>;
<a name="line172">172: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNEvaluateFunction.html">FNEvaluateFunction</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*)</font></strong>;
<a name="line173">173: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNEvaluateDerivative.html">FNEvaluateDerivative</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*)</font></strong>;
<a name="line174">174: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNEvaluateFunctionMat.html">FNEvaluateFunctionMat</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Mat/Mat/">Mat</a>,<a href="https://petsc.org/release/manualpages/Mat/Mat/">Mat</a>)</font></strong>;
<a name="line175">175: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNEvaluateFunctionMatVec.html">FNEvaluateFunctionMatVec</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Mat/Mat/">Mat</a>,<a href="https://petsc.org/release/manualpages/Vec/Vec/">Vec</a>)</font></strong>;
<a name="line177">177: </a>SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscFunctionList/">PetscFunctionList</a> FNList;
<a name="line178">178: </a><strong><font color="#4169E1"><a name="FNRegister"></a>SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNRegister.html">FNRegister</a>(const char[],<a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a>(*)(<a href="../manualpages/FN/FN.html">FN</a>)</font></strong>);
<a name="line180">180: </a><font color="#B22222">/* --------- options specific to particular functions -------- */</font>
<a name="line182">182: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNRationalSetNumerator.html">FNRationalSetNumerator</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[])</font></strong>;
<a name="line183">183: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNRationalGetNumerator.html">FNRationalGetNumerator</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*[])</font></strong>;
<a name="line184">184: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNRationalSetDenominator.html">FNRationalSetDenominator</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[])</font></strong>;
<a name="line185">185: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNRationalGetDenominator.html">FNRationalGetDenominator</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*[])</font></strong>;
<a name="line187">187: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNCombineSetChildren.html">FNCombineSetChildren</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>,<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FN.html">FN</a>)</font></strong>;
<a name="line188">188: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNCombineGetChildren.html">FNCombineGetChildren</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="../manualpages/FN/FNCombineType.html">FNCombineType</a>*,<a href="../manualpages/FN/FN.html">FN</a>*,<a href="../manualpages/FN/FN.html">FN</a>*)</font></strong>;
<a name="line190">190: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNPhiSetIndex.html">FNPhiSetIndex</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>)</font></strong>;
<a name="line191">191: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/FN/FNPhiGetIndex.html">FNPhiGetIndex</a>(<a href="../manualpages/FN/FN.html">FN</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*)</font></strong>;
</pre>
</body>
</html>
|