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 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378
|
<center><a href="https://gitlab.com/petsc/petsc/-/blob/966382dc56242773704ef5f5cee7aa2db3ebc577/include/petscis.h">Actual source code: petscis.h</a></center><br>
<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-04-30T18:14:50+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"> An index set is a generalization of a subset of integers. Index sets</font>
<a name="line3"> 3: </a><font color="#B22222"> are used for defining scatters and gathers.</font>
<a name="line4"> 4: </a><font color="#B22222">*/</font>
<a name="line5"> 5: </a><font color="#A020F0">#pragma once</font>
<a name="line7"> 7: </a><font color="#A020F0">#include </font><font color="#666666">"petscsystypes.h"</font><font color="#A020F0"></font>
<a name="line8"> 8: </a>#include <A href="../include/petscsys.h.html"><petscsys.h></A>
<a name="line9"> 9: </a>#include <A href="../include/petscsftypes.h.html"><petscsftypes.h></A>
<a name="line10"> 10: </a>#include <A href="../include/petscsectiontypes.h.html"><petscsectiontypes.h></A>
<a name="line11"> 11: </a>#include <A href="../include/petscistypes.h.html"><petscistypes.h></A>
<a name="line13"> 13: </a><font color="#B22222">/* MANSEC = <a href="../manualpages/Vec/Vec.html">Vec</a> */</font>
<a name="line14"> 14: </a><font color="#B22222">/* SUBMANSEC = <a href="../manualpages/IS/IS.html">IS</a> */</font>
<a name="line16"> 16: </a><strong><font color="#228B22">#define IS_FILE_CLASSID 1211218</font></strong>
<a name="line17"> 17: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a> IS_CLASSID;
<a name="line19"> 19: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/ISInitializePackage.html">ISInitializePackage</a>(void)</font></strong>;
<a name="line20"> 20: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/ISFinalizePackage.html">ISFinalizePackage</a>(void)</font></strong>;
<a name="line22"> 22: </a><font color="#B22222">/*J</font>
<a name="line23"> 23: </a><font color="#B22222"> <a href="../manualpages/IS/ISType.html">ISType</a> - String with the name of a PETSc index set type</font>
<a name="line25"> 25: </a><font color="#B22222"> Values:</font>
<a name="line26"> 26: </a><font color="#B22222">+ `ISGENERAL` - the values are stored with an array of indices and generally have no structure</font>
<a name="line27"> 27: </a><font color="#B22222">. `ISSTRIDE` - the values have a simple structure of an initial offset and then a step size between values</font>
<a name="line28"> 28: </a><font color="#B22222">- `ISBLOCK` - values are an array of indices, each representing a block (of the same common length) of values</font>
<a name="line30"> 30: </a><font color="#B22222"> Level: beginner</font>
<a name="line32"> 32: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/ISSetType.html">ISSetType</a>()`, `<a href="../manualpages/IS/IS.html">IS</a>`, `<a href="../manualpages/IS/ISCreateGeneral.html">ISCreateGeneral</a>()`, `<a href="../manualpages/IS/ISCreateStride.html">ISCreateStride</a>()`, `<a href="../manualpages/IS/ISCreateBlock.html">ISCreateBlock</a>()`, `<a href="../manualpages/IS/ISCreate.html">ISCreate</a>()`, `<a href="../manualpages/IS/ISRegister.html">ISRegister</a>()`,</font>
<a name="line33"> 33: </a><font color="#B22222"> `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`, `MatGetSubMatrices()`</font>
<a name="line34"> 34: </a><font color="#B22222">J*/</font>
<a name="line35"> 35: </a><font color="#4169E1">typedef const char *<a href="../manualpages/IS/ISType.html">ISType</a>;</font>
<a name="line36"> 36: </a><strong><font color="#228B22">#define ISGENERAL </font><font color="#666666">"general"</font><font color="#228B22"></font></strong>
<a name="line37"> 37: </a><strong><font color="#228B22">#define ISSTRIDE </font><font color="#666666">"stride"</font><font color="#228B22"></font></strong>
<a name="line38"> 38: </a><strong><font color="#228B22">#define ISBLOCK </font><font color="#666666">"block"</font><font color="#228B22"></font></strong>
<a name="line40"> 40: </a><font color="#B22222">/* Dynamic creation and loading functions */</font>
<a name="line41"> 41: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscFunctionList.html">PetscFunctionList</a> ISList;
<a name="line42"> 42: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetType.html">ISSetType</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/ISType.html">ISType</a>)</font></strong>;
<a name="line43"> 43: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetType.html">ISGetType</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/ISType.html">ISType</a> *)</font></strong>;
<a name="line44"> 44: </a><strong><font color="#4169E1"><a name="ISRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRegister.html">ISRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>);
<a name="line45"> 45: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRegisterAll.html">ISRegisterAll</a>(void)</font></strong>;
<a name="line46"> 46: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCreate.html">ISCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line48"> 48: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISDestroy.html">ISDestroy</a>(<a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line49"> 49: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetPermutation.html">ISSetPermutation</a>(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line50"> 50: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISPermutation.html">ISPermutation</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line51"> 51: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetIdentity.html">ISSetIdentity</a>(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line52"> 52: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISIdentity.html">ISIdentity</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line53"> 53: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISContiguousLocal.html">ISContiguousLocal</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line55"> 55: </a><font color="#B22222">/*E</font>
<a name="line56"> 56: </a><font color="#B22222"> <a href="../manualpages/IS/ISInfo.html">ISInfo</a> - Info that may either be computed or set as known for an index set</font>
<a name="line58"> 58: </a><font color="#B22222"> Level: intermediate</font>
<a name="line60"> 60: </a><font color="#B22222"> Developer Note:</font>
<a name="line61"> 61: </a><font color="#B22222"> Entries that are negative need not be called collectively by all processes.</font>
<a name="line63"> 63: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/IS.html">IS</a>`, `<a href="../manualpages/IS/ISType.html">ISType</a>`, `<a href="../manualpages/IS/ISSetInfo.html">ISSetInfo</a>()`</font>
<a name="line64"> 64: </a><font color="#B22222">E*/</font>
<a name="line65"> 65: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line66"> 66: </a> <a href="../manualpages/IS/ISInfo.html">IS_INFO_MIN</a> = -1,
<a name="line67"> 67: </a> <a href="../manualpages/IS/ISInfo.html">IS_SORTED</a> = 0,
<a name="line68"> 68: </a> <a href="../manualpages/IS/ISInfo.html">IS_UNIQUE</a> = 1,
<a name="line69"> 69: </a> <a href="../manualpages/IS/ISInfo.html">IS_PERMUTATION</a> = 2,
<a name="line70"> 70: </a> <a href="../manualpages/IS/ISInfo.html">IS_INTERVAL</a> = 3,
<a name="line71"> 71: </a> <a href="../manualpages/IS/ISInfo.html">IS_IDENTITY</a> = 4,
<a name="line72"> 72: </a> <a href="../manualpages/IS/ISInfo.html">IS_INFO_MAX</a> = 5
<a name="line73"> 73: </a>} <a href="../manualpages/IS/ISInfo.html">ISInfo</a>;
<a name="line75"> 75: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line76"> 76: </a> IS_LOCAL,
<a name="line77"> 77: </a> IS_GLOBAL
<a name="line78"> 78: </a>} ISInfoType;
<a name="line80"> 80: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetInfo.html">ISSetInfo</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/ISInfo.html">ISInfo</a>, ISInfoType, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line81"> 81: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetInfo.html">ISGetInfo</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/ISInfo.html">ISInfo</a>, ISInfoType, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line82"> 82: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISClearInfoCache.html">ISClearInfoCache</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line83"> 83: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetIndices.html">ISGetIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line84"> 84: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRestoreIndices.html">ISRestoreIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line85"> 85: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetTotalIndices.html">ISGetTotalIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line86"> 86: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRestoreTotalIndices.html">ISRestoreTotalIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line87"> 87: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetNonlocalIndices.html">ISGetNonlocalIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line88"> 88: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRestoreNonlocalIndices.html">ISRestoreNonlocalIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line89"> 89: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetNonlocalIS.html">ISGetNonlocalIS</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line90"> 90: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRestoreNonlocalIS.html">ISRestoreNonlocalIS</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line91"> 91: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetSize.html">ISGetSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line92"> 92: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetLocalSize.html">ISGetLocalSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line93"> 93: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISInvertPermutation.html">ISInvertPermutation</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line94"> 94: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISView.html">ISView</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line95"> 95: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISViewFromOptions.html">ISViewFromOptions</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;
<a name="line96"> 96: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLoad.html">ISLoad</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line97"> 97: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISEqual.html">ISEqual</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line98"> 98: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISEqualUnsorted.html">ISEqualUnsorted</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line99"> 99: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSort.html">ISSort</a>(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line100">100: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSortRemoveDups.html">ISSortRemoveDups</a>(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line101">101: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSorted.html">ISSorted</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line102">102: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISDifference.html">ISDifference</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line103">103: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSum.html">ISSum</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line104">104: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISExpand.html">ISExpand</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line105">105: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISIntersect.html">ISIntersect</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line106">106: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetMinMax.html">ISGetMinMax</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line108">108: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocate.html">ISLocate</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line109">109: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetPointRange.html">ISGetPointRange</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line110">110: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRestorePointRange.html">ISRestorePointRange</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line111">111: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetPointSubrange.html">ISGetPointSubrange</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line113">113: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetBlockSize.html">ISGetBlockSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line114">114: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetBlockSize.html">ISSetBlockSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line115">115: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetCompressOutput.html">ISGetCompressOutput</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line116">116: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetCompressOutput.html">ISSetCompressOutput</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line118">118: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISToGeneral.html">ISToGeneral</a>(<a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line120">120: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISDuplicate.html">ISDuplicate</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line121">121: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCopy.html">ISCopy</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line122">122: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISShift.html">ISShift</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line123">123: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISAllGather.html">ISAllGather</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line124">124: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISComplement.html">ISComplement</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line125">125: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISConcatenate.html">ISConcatenate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/IS/IS.html">IS</a>[], <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line126">126: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISListToPair.html">ISListToPair</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a>[], <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line127">127: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISPairToList.html">ISPairToList</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/IS/IS.html">IS</a> *[])</font></strong>;
<a name="line128">128: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISEmbed.html">ISEmbed</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line129">129: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSortPermutation.html">ISSortPermutation</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line130">130: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISOnComm.html">ISOnComm</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line131">131: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISRenumber.html">ISRenumber</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line132">132: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCreateSubIS.html">ISCreateSubIS</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line134">134: </a><font color="#B22222">/* ISGENERAL specific */</font>
<a name="line135">135: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCreateGeneral.html">ISCreateGeneral</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line136">136: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGeneralSetIndices.html">ISGeneralSetIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>)</font></strong>;
<a name="line137">137: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGeneralSetIndicesFromMask.html">ISGeneralSetIndicesFromMask</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>[])</font></strong>;
<a name="line138">138: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGeneralFilter.html">ISGeneralFilter</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line140">140: </a><font color="#B22222">/* ISBLOCK specific */</font>
<a name="line141">141: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCreateBlock.html">ISCreateBlock</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line142">142: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBlockSetIndices.html">ISBlockSetIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>)</font></strong>;
<a name="line143">143: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBlockGetIndices.html">ISBlockGetIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line144">144: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBlockRestoreIndices.html">ISBlockRestoreIndices</a>(<a href="../manualpages/IS/IS.html">IS</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line145">145: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBlockGetLocalSize.html">ISBlockGetLocalSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line146">146: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBlockGetSize.html">ISBlockGetSize</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line148">148: </a><font color="#B22222">/* ISSTRIDE specific */</font>
<a name="line149">149: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCreateStride.html">ISCreateStride</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line150">150: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISStrideSetStride.html">ISStrideSetStride</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line151">151: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISStrideGetInfo.html">ISStrideGetInfo</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line153">153: </a><strong><font color="#228B22">#define IS_LTOGM_FILE_CLASSID 1211217</font></strong>
<a name="line154">154: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a> IS_LTOGM_CLASSID;
<a name="line156">156: </a><font color="#B22222">/*E</font>
<a name="line157">157: </a><font color="#B22222"> <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a> - Indicates mapping behavior if global indices are missing</font>
<a name="line159">159: </a><font color="#B22222"> Values:</font>
<a name="line160">160: </a><font color="#B22222">+ `<a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">IS_GTOLM_MASK</a>` - missing global indices are masked by mapping them to a local index of -1</font>
<a name="line161">161: </a><font color="#B22222">- `<a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">IS_GTOLM_DROP</a>` - missing global indices are dropped</font>
<a name="line163">163: </a><font color="#B22222"> Level: beginner</font>
<a name="line165">165: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/ISGlobalToLocalMappingApplyBlock.html">ISGlobalToLocalMappingApplyBlock</a>()`, `<a href="../manualpages/IS/ISGlobalToLocalMappingApply.html">ISGlobalToLocalMappingApply</a>()`</font>
<a name="line166">166: </a><font color="#B22222">E*/</font>
<a name="line167">167: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line168">168: </a> <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">IS_GTOLM_MASK</a>,
<a name="line169">169: </a> <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">IS_GTOLM_DROP</a>
<a name="line170">170: </a>} <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a>;
<a name="line172">172: </a><font color="#B22222">/*J</font>
<a name="line173">173: </a><font color="#B22222"> <a href="../manualpages/IS/ISLocalToGlobalMappingType.html">ISLocalToGlobalMappingType</a> - String with the name of a mapping method</font>
<a name="line175">175: </a><font color="#B22222"> Values:</font>
<a name="line176">176: </a><font color="#B22222">+ `<a href="../manualpages/IS/ISLOCALTOGLOBALMAPPINGBASIC.html">ISLOCALTOGLOBALMAPPINGBASIC</a>` - a non-memory scalable way of storing `<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>` that allows applying `<a href="../manualpages/IS/ISGlobalToLocalMappingApply.html">ISGlobalToLocalMappingApply</a>()` efficiently</font>
<a name="line177">177: </a><font color="#B22222">- `<a href="../manualpages/IS/ISLOCALTOGLOBALMAPPINGHASH.html">ISLOCALTOGLOBALMAPPINGHASH</a>` - a memory scalable way of storing `<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>` that allows applying `<a href="../manualpages/IS/ISGlobalToLocalMappingApply.html">ISGlobalToLocalMappingApply</a>()` reasonably efficiently</font>
<a name="line179">179: </a><font color="#B22222"> Level: beginner</font>
<a name="line181">181: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>`, `<a href="../manualpages/IS/ISLocalToGlobalMappingSetType.html">ISLocalToGlobalMappingSetType</a>()`, `ISLocalToGlobalSetFromOptions()`, `<a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a>`</font>
<a name="line182">182: </a><font color="#B22222">J*/</font>
<a name="line183">183: </a><font color="#4169E1">typedef const char *<a href="../manualpages/IS/ISLocalToGlobalMappingType.html">ISLocalToGlobalMappingType</a>;</font>
<a name="line184">184: </a><strong><font color="#228B22">#define <a href="../manualpages/IS/ISLOCALTOGLOBALMAPPINGBASIC.html">ISLOCALTOGLOBALMAPPINGBASIC</a> </font><font color="#666666">"basic"</font><font color="#228B22"></font></strong>
<a name="line185">185: </a><strong><font color="#228B22">#define <a href="../manualpages/IS/ISLOCALTOGLOBALMAPPINGHASH.html">ISLOCALTOGLOBALMAPPINGHASH</a> </font><font color="#666666">"hash"</font><font color="#228B22"></font></strong>
<a name="line187">187: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingSetType.html">ISLocalToGlobalMappingSetType</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISLocalToGlobalMappingType.html">ISLocalToGlobalMappingType</a>)</font></strong>;
<a name="line188">188: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetType.html">ISLocalToGlobalMappingGetType</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISLocalToGlobalMappingType.html">ISLocalToGlobalMappingType</a> *)</font></strong>;
<a name="line189">189: </a><strong><font color="#4169E1"><a name="ISLocalToGlobalMappingRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRegister.html">ISLocalToGlobalMappingRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>)</font></strong>);
<a name="line190">190: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRegisterAll.html">ISLocalToGlobalMappingRegisterAll</a>(void)</font></strong>;
<a name="line191">191: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingCreate.html">ISLocalToGlobalMappingCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line192">192: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingCreateIS.html">ISLocalToGlobalMappingCreateIS</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line193">193: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingCreateSF.html">ISLocalToGlobalMappingCreateSF</a>(<a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line194">194: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingSetFromOptions.html">ISLocalToGlobalMappingSetFromOptions</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>)</font></strong>;
<a name="line195">195: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> ISLocalToGlobalMappingSetUp(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>)</font></strong>;
<a name="line196">196: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingView.html">ISLocalToGlobalMappingView</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line197">197: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingLoad.html">ISLocalToGlobalMappingLoad</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line198">198: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingViewFromOptions.html">ISLocalToGlobalMappingViewFromOptions</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;
<a name="line199">199: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingConcatenate.html">ISLocalToGlobalMappingConcatenate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>[], <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line200">200: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingDuplicate.html">ISLocalToGlobalMappingDuplicate</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line201">201: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingDestroy.html">ISLocalToGlobalMappingDestroy</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;
<a name="line202">202: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetSize.html">ISLocalToGlobalMappingGetSize</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line203">203: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetIndices.html">ISLocalToGlobalMappingGetIndices</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line204">204: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreIndices.html">ISLocalToGlobalMappingRestoreIndices</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line205">205: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetBlockIndices.html">ISLocalToGlobalMappingGetBlockIndices</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line206">206: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreBlockIndices.html">ISLocalToGlobalMappingRestoreBlockIndices</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line207">207: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetBlockSize.html">ISLocalToGlobalMappingGetBlockSize</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line208">208: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingSetBlockSize.html">ISLocalToGlobalMappingSetBlockSize</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line210">210: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingApply.html">ISLocalToGlobalMappingApply</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line211">211: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingApplyBlock.html">ISLocalToGlobalMappingApplyBlock</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line212">212: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingApplyIS.html">ISLocalToGlobalMappingApplyIS</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line213">213: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGlobalToLocalMappingApply.html">ISGlobalToLocalMappingApply</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line214">214: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGlobalToLocalMappingApplyBlock.html">ISGlobalToLocalMappingApplyBlock</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line215">215: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGlobalToLocalMappingApplyIS.html">ISGlobalToLocalMappingApplyIS</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/IS/ISGlobalToLocalMappingMode.html">ISGlobalToLocalMappingMode</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line217">217: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetNodeInfo.html">ISLocalToGlobalMappingGetNodeInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line218">218: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreNodeInfo.html">ISLocalToGlobalMappingRestoreNodeInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line219">219: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetInfo.html">ISLocalToGlobalMappingGetInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line220">220: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreInfo.html">ISLocalToGlobalMappingRestoreInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line221">221: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetBlockNodeInfo.html">ISLocalToGlobalMappingGetBlockNodeInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line222">222: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreBlockNodeInfo.html">ISLocalToGlobalMappingRestoreBlockNodeInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line223">223: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetBlockInfo.html">ISLocalToGlobalMappingGetBlockInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line224">224: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingRestoreBlockInfo.html">ISLocalToGlobalMappingRestoreBlockInfo</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **[])</font></strong>;
<a name="line225">225: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISLocalToGlobalMappingGetBlockMultiLeavesSF.html">ISLocalToGlobalMappingGetBlockMultiLeavesSF</a>(<a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *)</font></strong>;
<a name="line227">227: </a><font color="#B22222">/*E</font>
<a name="line228">228: </a><font color="#B22222"> <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a> - determines if the coloring is for the entire parallel grid/graph/matrix</font>
<a name="line229">229: </a><font color="#B22222"> or for just the local ghosted portion</font>
<a name="line231">231: </a><font color="#B22222"> Values:</font>
<a name="line232">232: </a><font color="#B22222">+ `<a href="../manualpages/IS/ISColoringType.html">IS_COLORING_GLOBAL</a>` - does not include the colors for ghost points, this is used when the function</font>
<a name="line233">233: </a><font color="#B22222"> is called synchronously in parallel. This requires generating a "parallel coloring".</font>
<a name="line234">234: </a><font color="#B22222">- `<a href="../manualpages/IS/ISColoringType.html">IS_COLORING_LOCAL</a>` - includes colors for ghost points, this is used when the function can be called</font>
<a name="line235">235: </a><font color="#B22222"> separately on individual processes with the ghost points already filled in. Does not</font>
<a name="line236">236: </a><font color="#B22222"> require a "parallel coloring", rather each process colors its local + ghost part.</font>
<a name="line237">237: </a><font color="#B22222"> Using this can result in much less parallel communication. Currently only works</font>
<a name="line238">238: </a><font color="#B22222"> with `<a href="../manualpages/DMDA/DMDA.html">DMDA</a>` and if you call `<a href="../manualpages/MatFD/MatFDColoringSetFunction.html">MatFDColoringSetFunction</a>()` with the local function.</font>
<a name="line240">240: </a><font color="#B22222"> Level: beginner</font>
<a name="line242">242: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/ISColoring.html">ISColoring</a>`, `<a href="../manualpages/IS/ISColoringSetType.html">ISColoringSetType</a>()`, `<a href="../manualpages/IS/ISColoringGetType.html">ISColoringGetType</a>()`, `<a href="../manualpages/DM/DMCreateColoring.html">DMCreateColoring</a>()`</font>
<a name="line243">243: </a><font color="#B22222">E*/</font>
<a name="line244">244: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line245">245: </a> <a href="../manualpages/IS/ISColoringType.html">IS_COLORING_GLOBAL</a>,
<a name="line246">246: </a> <a href="../manualpages/IS/ISColoringType.html">IS_COLORING_LOCAL</a>
<a name="line247">247: </a>} <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a>;
<a name="line249">249: </a>PETSC_EXTERN const char *const ISColoringTypes[];
<a name="line250">250: </a><font color="#4169E1">typedef unsigned PETSC_IS_COLORING_VALUE_TYPE ISColoringValue;</font>
<a name="line251">251: </a><strong><font color="#228B22">#define IS_COLORING_MAX PETSC_IS_COLORING_MAX</font></strong>
<a name="line252">252: </a><strong><font color="#228B22">#define MPIU_COLORING_VALUE PETSC_MPIU_IS_COLORING_VALUE_TYPE</font></strong>
<a name="line253">253: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISAllGatherColors.html">ISAllGatherColors</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, ISColoringValue *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, ISColoringValue *[])</font></strong>;
<a name="line255">255: </a><font color="#B22222">/*@C</font>
<a name="line256">256: </a><font color="#B22222"> <a href="../manualpages/IS/ISColoringValueCast.html">ISColoringValueCast</a> - casts an integer a `ISColoringValue` (which may be 1-bits in size), generates an</font>
<a name="line257">257: </a><font color="#B22222"> error if the value is too large</font>
<a name="line259">259: </a><font color="#B22222"> Not Collective; No Fortran Support</font>
<a name="line261">261: </a><font color="#B22222"> Input Parameter:</font>
<a name="line262">262: </a><font color="#B22222">. a - the `<a href="../manualpages/Sys/PetscCount.html">PetscCount</a>` value</font>
<a name="line264">264: </a><font color="#B22222"> Output Parameter:</font>
<a name="line265">265: </a><font color="#B22222">. b - the resulting `ISColoringValue` value, optional, pass `NULL` if not needed</font>
<a name="line267">267: </a><font color="#B22222"> Level: advanced</font>
<a name="line269">269: </a><font color="#B22222"> Note:</font>
<a name="line270">270: </a><font color="#B22222"> Errors if the integer is negative</font>
<a name="line272">272: </a><font color="#B22222">.seealso: `ISColoringValue`, `<a href="../manualpages/IS/ISColoringCreate.html">ISColoringCreate</a>()`, `<a href="../manualpages/Sys/PetscBLASInt.html">PetscBLASInt</a>`, `<a href="../manualpages/Sys/PetscMPIInt.html">PetscMPIInt</a>`, `<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>`, `<a href="../manualpages/Sys/PetscMPIIntCast.html">PetscMPIIntCast</a>()`, `<a href="../manualpages/Sys/PetscIntCast.html">PetscIntCast</a>()`</font>
<a name="line273">273: </a><font color="#B22222">@*/</font>
<a name="line274">274: </a><strong><font color="#4169E1"><a name="ISColoringValueCast"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringValueCast.html">ISColoringValueCast</a>(<a href="../manualpages/Sys/PetscCount.html">PetscCount</a> a, ISColoringValue *b)</font></strong>
<a name="line275">275: </a>{
<a name="line276">276: </a> <a href="../manualpages/Sys/PetscFunctionBegin.html">PetscFunctionBegin</a>;
<a name="line277">277: </a> <font color="#4169E1">if</font> (b) *b = 0;
<a name="line278">278: </a> <a href="../manualpages/Sys/PetscCheck.html">PetscCheck</a>(a >= 0, <a href="../manualpages/Sys/PETSC_COMM_SELF.html">PETSC_COMM_SELF</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_ERR_ARG_OUTOFRANGE</a>, <font color="#666666">"Passing negative integer not supported"</font>);
<a name="line279">279: </a> <a href="../manualpages/Sys/PetscCheck.html">PetscCheck</a>(a < PETSC_IS_COLORING_MAX, <a href="../manualpages/Sys/PETSC_COMM_SELF.html">PETSC_COMM_SELF</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_ERR_ARG_OUTOFRANGE</a>, <font color="#666666">"Integer too large to convert"</font>);
<a name="line280">280: </a> <font color="#4169E1">if</font> (b) *b = (ISColoringValue)a;
<a name="line281">281: </a> <a href="../manualpages/Sys/PetscFunctionReturn.html">PetscFunctionReturn</a>(<a href="../manualpages/Sys/PetscErrorCode.html">PETSC_SUCCESS</a>);
<a name="line282">282: </a>}
<a name="line284">284: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringCreate.html">ISColoringCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const ISColoringValue[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/ISColoring.html">ISColoring</a> *)</font></strong>;
<a name="line285">285: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringDestroy.html">ISColoringDestroy</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a> *)</font></strong>;
<a name="line286">286: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringView.html">ISColoringView</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line287">287: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringViewFromOptions.html">ISColoringViewFromOptions</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;
<a name="line288">288: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringGetIS.html">ISColoringGetIS</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/IS/IS.html">IS</a> *[])</font></strong>;
<a name="line289">289: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringRestoreIS.html">ISColoringRestoreIS</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/IS/IS.html">IS</a> *[])</font></strong>;
<a name="line290">290: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> ISColoringReference(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>)</font></strong>;
<a name="line291">291: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringSetType.html">ISColoringSetType</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a>)</font></strong>;
<a name="line292">292: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringGetType.html">ISColoringGetType</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a> *)</font></strong>;
<a name="line293">293: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISColoringGetColors.html">ISColoringGetColors</a>(<a href="../manualpages/IS/ISColoring.html">ISColoring</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, const ISColoringValue *[])</font></strong>;
<a name="line295">295: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISBuildTwoSided.html">ISBuildTwoSided</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line296">296: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISPartitioningToNumbering.html">ISPartitioningToNumbering</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line297">297: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISPartitioningCount.html">ISPartitioningCount</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line299">299: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISCompressIndicesGeneral.html">ISCompressIndicesGeneral</a>(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/IS/IS.html">IS</a>[], <a href="../manualpages/IS/IS.html">IS</a>[])</font></strong>;
<a name="line300">300: </a>PETSC_DEPRECATED_FUNCTION(3, 19, 0, <font color="#666666">"<a href="../manualpages/IS/ISCompressIndicesGeneral.html">ISCompressIndicesGeneral</a>()"</font>, ) static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> ISCompressIndicesSorted(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a> n, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> bs, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> imax, const <a href="../manualpages/IS/IS.html">IS</a> is_in[], <a href="../manualpages/IS/IS.html">IS</a> is_out[])
<a name="line301">301: </a>{
<a name="line302">302: </a> <font color="#4169E1">return</font> <a href="../manualpages/IS/ISCompressIndicesGeneral.html">ISCompressIndicesGeneral</a>(n, bs, n, imax, is_in, is_out);
<a name="line303">303: </a>}
<a name="line304">304: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISExpandIndicesGeneral.html">ISExpandIndicesGeneral</a>(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/IS/IS.html">IS</a>[], <a href="../manualpages/IS/IS.html">IS</a>[])</font></strong>;
<a name="line306">306: </a><font color="#4169E1"><a name="_n_PetscLayout"></a>struct _n_PetscLayout </font>{
<a name="line307">307: </a> <a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> comm;
<a name="line308">308: </a> <a href="../manualpages/Sys/PetscMPIInt.html">PetscMPIInt</a> size;
<a name="line309">309: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> n, N; <font color="#B22222">/* local, global vector size */</font>
<a name="line310">310: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> rstart, rend; <font color="#B22222">/* local start, local end + 1 */</font>
<a name="line311">311: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *range; <font color="#B22222">/* the offset of each processor */</font>
<a name="line312">312: </a> <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> range_alloc; <font color="#B22222">/* should range be freed in Destroy? */</font>
<a name="line313">313: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> bs; <font color="#B22222">/* number of elements in each block (generally for multi-component problems) */</font>
<a name="line314">314: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> refcnt; <font color="#B22222">/* MPI <a href="../manualpages/Vec/Vecs.html">Vecs</a> obtained with <a href="../manualpages/Vec/VecDuplicate.html">VecDuplicate</a>() and from <a href="../manualpages/Mat/MatCreateVecs.html">MatCreateVecs</a>() reuse map of input object */</font>
<a name="line315">315: </a> <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> mapping; <font color="#B22222">/* mapping used in <a href="../manualpages/Vec/Vec.html">Vec</a>/<a href="../manualpages/Mat/MatSetValuesLocal.html">MatSetValuesLocal</a>() */</font>
<a name="line316">316: </a> <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> setupcalled; <font color="#B22222">/* Forbid setup more than once */</font>
<a name="line317">317: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> oldn, oldN; <font color="#B22222">/* Checking if setup is allowed */</font>
<a name="line318">318: </a> <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> oldbs; <font color="#B22222">/* And again */</font>
<a name="line319">319: </a>};
<a name="line321">321: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutCreate.html">PetscLayoutCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line322">322: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutFindOwner.html">PetscLayoutFindOwner</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscMPIInt.html">PetscMPIInt</a> *)</font></strong>;
<a name="line323">323: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutFindOwnerIndex.html">PetscLayoutFindOwnerIndex</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscMPIInt.html">PetscMPIInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line324">324: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutCreateFromSizes.html">PetscLayoutCreateFromSizes</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line325">325: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutCreateFromRanges.html">PetscLayoutCreateFromRanges</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line326">326: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutSetUp.html">PetscLayoutSetUp</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>)</font></strong>;
<a name="line327">327: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutDestroy.html">PetscLayoutDestroy</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line328">328: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutDuplicate.html">PetscLayoutDuplicate</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line329">329: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutReference.html">PetscLayoutReference</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line330">330: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutSetLocalSize.html">PetscLayoutSetLocalSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line331">331: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutGetLocalSize.html">PetscLayoutGetLocalSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line332">332: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutSetSize.html">PetscLayoutSetSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line333">333: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutGetSize.html">PetscLayoutGetSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line334">334: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutSetBlockSize.html">PetscLayoutSetBlockSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line335">335: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutGetBlockSize.html">PetscLayoutGetBlockSize</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line336">336: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutGetRange.html">PetscLayoutGetRange</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line337">337: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutGetRanges.html">PetscLayoutGetRanges</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line338">338: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutCompare.html">PetscLayoutCompare</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line339">339: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscLayoutSetISLocalToGlobalMapping.html">PetscLayoutSetISLocalToGlobalMapping</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>)</font></strong>;
<a name="line340">340: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscLayoutMapLocal(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;
<a name="line342">342: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscParallelSortInt.html">PetscParallelSortInt</a>(<a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line344">344: </a><font color="#B22222">/*S</font>
<a name="line345">345: </a><font color="#B22222"> <a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a> - Implementation of KDTree for efficiently querying spatial points</font>
<a name="line347">347: </a><font color="#B22222"> Level: advanced</font>
<a name="line349">349: </a><font color="#B22222"> Note:</font>
<a name="line350">350: </a><font color="#B22222"> See <https://en.wikipedia.org/wiki/K-d_tree> for a description of K-d trees</font>
<a name="line352">352: </a><font color="#B22222">.seealso: `<a href="../manualpages/IS/PetscKDTreeCreate.html">PetscKDTreeCreate</a>()`, `<a href="../manualpages/IS/PetscKDTreeDestroy.html">PetscKDTreeDestroy</a>()`, `<a href="../manualpages/IS/PetscKDTreeView.html">PetscKDTreeView</a>()`, `<a href="../manualpages/IS/PetscKDTreeQueryPointsNearestNeighbor.html">PetscKDTreeQueryPointsNearestNeighbor</a>()`</font>
<a name="line353">353: </a><font color="#B22222">S*/</font>
<a name="line354">354: </a><font color="#4169E1">typedef struct _n_PetscKDTree *<a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a>;</font>
<a name="line356">356: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscKDTreeCreate.html">PetscKDTreeCreate</a>(<a href="../manualpages/Sys/PetscCount.html">PetscCount</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a> *)</font></strong>;
<a name="line357">357: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscKDTreeDestroy.html">PetscKDTreeDestroy</a>(<a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a> *)</font></strong>;
<a name="line358">358: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscKDTreeView.html">PetscKDTreeView</a>(<a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line359">359: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/PetscKDTreeQueryPointsNearestNeighbor.html">PetscKDTreeQueryPointsNearestNeighbor</a>(<a href="../manualpages/IS/PetscKDTree.html">PetscKDTree</a>, <a href="../manualpages/Sys/PetscCount.html">PetscCount</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Sys/PetscCount.html">PetscCount</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line361">361: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISGetLayout.html">ISGetLayout</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line362">362: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/IS/ISSetLayout.html">ISSetLayout</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>)</font></strong>;
</pre>
</body>
</html>
|