Actual source code: hashset.txt.h
1: /* MANSEC = Sys */
2: /* SUBMANSEC = PetscH */
4: This file is processed by doc/build_man_pages.py to create manual pages
5: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
7: /*S
8: PetscHSetI - Hash set with a key of PetscInt
10: Level: developer
12: .seealso: `PETSC_HASH_SET()`, `PetscHSetICreate()`, `PetscHSetIDestroy()`, `PetscHSetIQueryAdd()`, `PetscHSetIDel()`,
13: `PetscHSetIAdd()`, `PetscHSetIReset()`, `PETSC_HASH_MAP()`, `PetscHMapICreate()`, `PetscHSetI`
14: S*/
15: typedef struct _PetscHashI PetscHSetI;
17: /*MC
18: PetscHSetICreate - Create a hash set
20: Synopsis:
21: #include <petsc/private/hashseti.h>
22: PetscErrorCode PetscHSetICreate(PetscHSetI *ht)
24: Output Parameter:
25: . ht - The hash set
27: Level: developer
29: .seealso: `PetscHSetIDestroy()`
30: M*/
32: /*MC
33: PetscHSetIDestroy - Destroy a hash set
35: Synopsis:
36: #include <petsc/private/hashseti.h>
37: PetscErrorCode PetscHSetIDestroy(PetscHSetI *ht)
39: Input Parameter:
40: . ht - The hash set
42: Level: developer
44: .seealso: `PetscHSetICreate()`
45: M*/
47: /*MC
48: PetscHSetIReset - Reset a hash set
50: Synopsis:
51: #include <petsc/private/hashseti.h>
52: PetscErrorCode PetscHSetIReset(PetscHSetI ht)
54: Input Parameter:
55: . ht - The hash set
57: Level: developer
59: .seealso: `PetscHSetIClear()`
60: M*/
62: /*MC
63: PetscHSetIDuplicate - Duplicate a hash set
65: Synopsis:
66: #include <petsc/private/hashseti.h>
67: PetscErrorCode PetscHSetIDuplicate(PetscHSetI ht,PetscHSetI *hd)
69: Input Parameter:
70: . ht - The source hash set
72: Output Parameter:
73: . ht - The duplicated hash set
75: Level: developer
77: .seealso: `PetscHSetICreate()`
78: M*/
80: /*MC
81: PetscHSetIUpdate - Add entries from a has set to another
83: Synopsis:
84: #include <petsc/private/hashseti.h>
85: PetscErrorCode PetscHSetIUpdate(PetscHSetI ht,PetscHSetI hda)
87: Input Parameters:
88: + ht - The hash set to which elements are added
89: - hta - The hash set from which the elements are retrieved
91: Output Parameter:
92: . ht - The hash set filled with the elements from the other hash set
94: Level: developer
96: .seealso: `PetscHSetICreate()`, `PetscHSetIDuplicate()`
97: M*/
99: /*MC
100: PetscHSetIClear - Clear a hash set
102: Synopsis:
103: #include <petsc/private/hashseti.h>
104: PetscErrorCode PetscHSetIClear(PetscHSetI ht)
106: Input Parameter:
107: . ht - The hash set
109: Level: developer
111: .seealso: `PetscHSetIReset()`
112: M*/
114: /*MC
115: PetscHSetIResize - Set the number of buckets in a hash set
117: Synopsis:
118: #include <petsc/private/hashseti.h>
119: PetscErrorCode PetscHSetIResize(PetscHSetI ht,PetscInt nb)
121: Input Parameters:
122: + ht - The hash set
123: - nb - The number of buckets
125: Level: developer
127: .seealso: `PetscHSetICreate()`
128: M*/
130: /*MC
131: PetscHSetIGetSize - Get the number of entries in a hash set
133: Synopsis:
134: #include <petsc/private/hashseti.h>
135: PetscErrorCode PetscHSetIGetSize(PetscHSetI ht,PetscInt *n)
137: Input Parameter:
138: . ht - The hash set
140: Output Parameter:
141: . n - The number of entries
143: Level: developer
145: .seealso: `PetscHSetIResize()`
146: M*/
148: /*MC
149: PetscHSetIGetCapacity - Get the current size of the array in the hash set
151: Synopsis:
152: #include <petsc/private/hashseti.h>
153: PetscErrorCode PetscHSetIGetCapacity(PetscHSetI ht,PetscInt *n)
155: Input Parameter:
156: . ht - The hash set
158: Output Parameter:
159: . n - The capacity
161: Level: developer
163: .seealso: `PetscHSetIResize()`, `PetscHSetIGetSize()`
164: M*/
166: /*MC
167: PetscHSetIHas - Query for an entry in the hash set
169: Synopsis:
170: #include <petsc/private/hashseti.h>
171: PetscErrorCode PetscHSetIHas(PetscHSetI ht, PetscInt key, PetscBool *has)
173: Input Parameters:
174: + ht - The hash set
175: - key - The entry
177: Output Parameter:
178: . has - Boolean indicating whether the entry is in the hash set
180: Level: developer
182: .seealso: `PetscHSetIAdd()`, `PetscHSetIDel()`, `PetscHSetIQueryAdd()`
183: M*/
185: /*MC
186: PetscHSetIAdd - Set an entry in the hash set
188: Synopsis:
189: #include <petsc/private/hashseti.h>
190: PetscErrorCode PetscHSetIAdd(PetscHSetI ht, PetscInt key)
192: Input Parameters:
193: + ht - The hash set
194: - key - The entry
196: Level: developer
198: .seealso: `PetscHSetIDel()`, `PetscHSetIHas()`, `PetscHSetIQueryAdd()`
199: M*/
201: /*MC
202: PetscHSetIDel - Remove an entry from the hash set
204: Synopsis:
205: #include <petsc/private/hashseti.h>
206: PetscErrorCode PetscHSetIDel(PetscHSetI ht, PetscInt key)
208: Input Parameters:
209: + ht - The hash set
210: - key - The entry
212: Level: developer
214: .seealso: `PetscHSetIAdd()`, `PetscHSetIHas()`
215: M*/
217: /*MC
218: PetscHSetIQueryAdd - Query and add an entry in the hash set
220: Synopsis:
221: #include <petsc/private/hashseti.h>
222: PetscErrorCode PetscHSetIQueryAdd(PetscHSetI ht, PetscInt key, PetscBool *missing)
224: Input Parameters:
225: + ht - The hash set
226: - key - The entry
228: Output Parameter:
229: . missing - Boolean indicating whether the entry was missing
231: Level: developer
233: .seealso: `PetscHSetIQueryDel()`, `PetscHSetIAdd()`, `PetscHSetIHas()`
234: M*/
236: /*MC
237: PetscHSetIQueryDel - Query and remove an entry from the hash set
239: Synopsis:
240: #include <petsc/private/hashseti.h>
241: PetscErrorCode PetscHSetIQueryDel(PetscHSetI ht, PetscInt key, PetscBool *present)
243: Input Parameters:
244: + ht - The hash set
245: - key - The entry
247: Output Parameter:
248: . present - Boolean indicating whether the entry was present
250: Level: developer
252: .seealso: `PetscHSetIQueryAdd()`, `PetscHSetIDel()`
253: M*/
255: /*MC
256: PetscHSetIGetElems - Get all entries from a hash set
258: Synopsis:
259: #include <petsc/private/hashseti.h>
260: PetscErrorCode PetscHSetIGetElems(PetscHSetI ht, PetscInt *off, PetscInt array[])
262: Input Parameters:
263: + ht - The hash set
264: . off - Input offset in array (usually zero)
265: - array - Array to put hash set entries in
267: Output Parameters:
268: + off - Output offset in array (output offset = input offset + hash set size)
269: - array - Array filled with the hash set entries
271: Level: developer
273: .seealso: `PetscHSetIGetSize()`
274: M*/
275: /* MANSEC = Sys */
276: /* SUBMANSEC = PetscH */
278: This file is processed by doc/build_man_pages.py to create manual pages
279: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
281: /*S
282: PetscHSetIJ - Hash set with a key of struct {PetscInt i, j;}
284: Level: developer
286: .seealso: `PETSC_HASH_SET()`, `PetscHSetIJCreate()`, `PetscHSetIJDestroy()`, `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`,
287: `PetscHSetIJAdd()`, `PetscHSetIJReset()`, `PETSC_HASH_MAP()`, `PetscHMapIJCreate()`, `PetscHSetIJ`
288: S*/
289: typedef struct _PetscHashIJ PetscHSetIJ;
291: /*MC
292: PetscHSetIJCreate - Create a hash set
294: Synopsis:
295: #include <petsc/private/hashsetij.h>
296: PetscErrorCode PetscHSetIJCreate(PetscHSetIJ *ht)
298: Output Parameter:
299: . ht - The hash set
301: Level: developer
303: .seealso: `PetscHSetIJDestroy()`
304: M*/
306: /*MC
307: PetscHSetIJDestroy - Destroy a hash set
309: Synopsis:
310: #include <petsc/private/hashsetij.h>
311: PetscErrorCode PetscHSetIJDestroy(PetscHSetIJ *ht)
313: Input Parameter:
314: . ht - The hash set
316: Level: developer
318: .seealso: `PetscHSetIJCreate()`
319: M*/
321: /*MC
322: PetscHSetIJReset - Reset a hash set
324: Synopsis:
325: #include <petsc/private/hashsetij.h>
326: PetscErrorCode PetscHSetIJReset(PetscHSetIJ ht)
328: Input Parameter:
329: . ht - The hash set
331: Level: developer
333: .seealso: `PetscHSetIJClear()`
334: M*/
336: /*MC
337: PetscHSetIJDuplicate - Duplicate a hash set
339: Synopsis:
340: #include <petsc/private/hashsetij.h>
341: PetscErrorCode PetscHSetIJDuplicate(PetscHSetIJ ht,PetscHSetIJ *hd)
343: Input Parameter:
344: . ht - The source hash set
346: Output Parameter:
347: . ht - The duplicated hash set
349: Level: developer
351: .seealso: `PetscHSetIJCreate()`
352: M*/
354: /*MC
355: PetscHSetIJUpdate - Add entries from a has set to another
357: Synopsis:
358: #include <petsc/private/hashsetij.h>
359: PetscErrorCode PetscHSetIJUpdate(PetscHSetIJ ht,PetscHSetIJ hda)
361: Input Parameters:
362: + ht - The hash set to which elements are added
363: - hta - The hash set from which the elements are retrieved
365: Output Parameter:
366: . ht - The hash set filled with the elements from the other hash set
368: Level: developer
370: .seealso: `PetscHSetIJCreate()`, `PetscHSetIJDuplicate()`
371: M*/
373: /*MC
374: PetscHSetIJClear - Clear a hash set
376: Synopsis:
377: #include <petsc/private/hashsetij.h>
378: PetscErrorCode PetscHSetIJClear(PetscHSetIJ ht)
380: Input Parameter:
381: . ht - The hash set
383: Level: developer
385: .seealso: `PetscHSetIJReset()`
386: M*/
388: /*MC
389: PetscHSetIJResize - Set the number of buckets in a hash set
391: Synopsis:
392: #include <petsc/private/hashsetij.h>
393: PetscErrorCode PetscHSetIJResize(PetscHSetIJ ht,PetscInt nb)
395: Input Parameters:
396: + ht - The hash set
397: - nb - The number of buckets
399: Level: developer
401: .seealso: `PetscHSetIJCreate()`
402: M*/
404: /*MC
405: PetscHSetIJGetSize - Get the number of entries in a hash set
407: Synopsis:
408: #include <petsc/private/hashsetij.h>
409: PetscErrorCode PetscHSetIJGetSize(PetscHSetIJ ht,PetscInt *n)
411: Input Parameter:
412: . ht - The hash set
414: Output Parameter:
415: . n - The number of entries
417: Level: developer
419: .seealso: `PetscHSetIJResize()`
420: M*/
422: /*MC
423: PetscHSetIJGetCapacity - Get the current size of the array in the hash set
425: Synopsis:
426: #include <petsc/private/hashsetij.h>
427: PetscErrorCode PetscHSetIJGetCapacity(PetscHSetIJ ht,PetscInt *n)
429: Input Parameter:
430: . ht - The hash set
432: Output Parameter:
433: . n - The capacity
435: Level: developer
437: .seealso: `PetscHSetIJResize()`, `PetscHSetIJGetSize()`
438: M*/
440: /*MC
441: PetscHSetIJHas - Query for an entry in the hash set
443: Synopsis:
444: #include <petsc/private/hashsetij.h>
445: PetscErrorCode PetscHSetIJHas(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *has)
447: Input Parameters:
448: + ht - The hash set
449: - key - The entry
451: Output Parameter:
452: . has - Boolean indicating whether the entry is in the hash set
454: Level: developer
456: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJDel()`, `PetscHSetIJQueryAdd()`
457: M*/
459: /*MC
460: PetscHSetIJAdd - Set an entry in the hash set
462: Synopsis:
463: #include <petsc/private/hashsetij.h>
464: PetscErrorCode PetscHSetIJAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key)
466: Input Parameters:
467: + ht - The hash set
468: - key - The entry
470: Level: developer
472: .seealso: `PetscHSetIJDel()`, `PetscHSetIJHas()`, `PetscHSetIJQueryAdd()`
473: M*/
475: /*MC
476: PetscHSetIJDel - Remove an entry from the hash set
478: Synopsis:
479: #include <petsc/private/hashsetij.h>
480: PetscErrorCode PetscHSetIJDel(PetscHSetIJ ht, struct {PetscInt i, j;} key)
482: Input Parameters:
483: + ht - The hash set
484: - key - The entry
486: Level: developer
488: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJHas()`
489: M*/
491: /*MC
492: PetscHSetIJQueryAdd - Query and add an entry in the hash set
494: Synopsis:
495: #include <petsc/private/hashsetij.h>
496: PetscErrorCode PetscHSetIJQueryAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *missing)
498: Input Parameters:
499: + ht - The hash set
500: - key - The entry
502: Output Parameter:
503: . missing - Boolean indicating whether the entry was missing
505: Level: developer
507: .seealso: `PetscHSetIJQueryDel()`, `PetscHSetIJAdd()`, `PetscHSetIJHas()`
508: M*/
510: /*MC
511: PetscHSetIJQueryDel - Query and remove an entry from the hash set
513: Synopsis:
514: #include <petsc/private/hashsetij.h>
515: PetscErrorCode PetscHSetIJQueryDel(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *present)
517: Input Parameters:
518: + ht - The hash set
519: - key - The entry
521: Output Parameter:
522: . present - Boolean indicating whether the entry was present
524: Level: developer
526: .seealso: `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`
527: M*/
529: /*MC
530: PetscHSetIJGetElems - Get all entries from a hash set
532: Synopsis:
533: #include <petsc/private/hashsetij.h>
534: PetscErrorCode PetscHSetIJGetElems(PetscHSetIJ ht, PetscInt *off, struct {PetscInt i, j;} array[])
536: Input Parameters:
537: + ht - The hash set
538: . off - Input offset in array (usually zero)
539: - array - Array to put hash set entries in
541: Output Parameters:
542: + off - Output offset in array (output offset = input offset + hash set size)
543: - array - Array filled with the hash set entries
545: Level: developer
547: .seealso: `PetscHSetIJGetSize()`
548: M*/
549: /* MANSEC = Sys */
550: /* SUBMANSEC = PetscH */
552: This file is processed by doc/build_man_pages.py to create manual pages
553: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
555: /*S
556: PetscHSetI - Hash set with a key of PetscInt
558: Level: developer
560: .seealso: `PETSC_HASH_SET()`, `PetscHSetICreate()`, `PetscHSetIDestroy()`, `PetscHSetIQueryAdd()`, `PetscHSetIDel()`,
561: `PetscHSetIAdd()`, `PetscHSetIReset()`, `PETSC_HASH_MAP()`, `PetscHMapICreate()`, `PetscHSetI`
562: S*/
563: typedef struct _PetscHashI PetscHSetI;
565: /*MC
566: PetscHSetICreate - Create a hash set
568: Synopsis:
569: #include <petsc/private/hashseti.h>
570: PetscErrorCode PetscHSetICreate(PetscHSetI *ht)
572: Output Parameter:
573: . ht - The hash set
575: Level: developer
577: .seealso: `PetscHSetIDestroy()`
578: M*/
580: /*MC
581: PetscHSetIDestroy - Destroy a hash set
583: Synopsis:
584: #include <petsc/private/hashseti.h>
585: PetscErrorCode PetscHSetIDestroy(PetscHSetI *ht)
587: Input Parameter:
588: . ht - The hash set
590: Level: developer
592: .seealso: `PetscHSetICreate()`
593: M*/
595: /*MC
596: PetscHSetIReset - Reset a hash set
598: Synopsis:
599: #include <petsc/private/hashseti.h>
600: PetscErrorCode PetscHSetIReset(PetscHSetI ht)
602: Input Parameter:
603: . ht - The hash set
605: Level: developer
607: .seealso: `PetscHSetIClear()`
608: M*/
610: /*MC
611: PetscHSetIDuplicate - Duplicate a hash set
613: Synopsis:
614: #include <petsc/private/hashseti.h>
615: PetscErrorCode PetscHSetIDuplicate(PetscHSetI ht,PetscHSetI *hd)
617: Input Parameter:
618: . ht - The source hash set
620: Output Parameter:
621: . ht - The duplicated hash set
623: Level: developer
625: .seealso: `PetscHSetICreate()`
626: M*/
628: /*MC
629: PetscHSetIUpdate - Add entries from a has set to another
631: Synopsis:
632: #include <petsc/private/hashseti.h>
633: PetscErrorCode PetscHSetIUpdate(PetscHSetI ht,PetscHSetI hda)
635: Input Parameters:
636: + ht - The hash set to which elements are added
637: - hta - The hash set from which the elements are retrieved
639: Output Parameter:
640: . ht - The hash set filled with the elements from the other hash set
642: Level: developer
644: .seealso: `PetscHSetICreate()`, `PetscHSetIDuplicate()`
645: M*/
647: /*MC
648: PetscHSetIClear - Clear a hash set
650: Synopsis:
651: #include <petsc/private/hashseti.h>
652: PetscErrorCode PetscHSetIClear(PetscHSetI ht)
654: Input Parameter:
655: . ht - The hash set
657: Level: developer
659: .seealso: `PetscHSetIReset()`
660: M*/
662: /*MC
663: PetscHSetIResize - Set the number of buckets in a hash set
665: Synopsis:
666: #include <petsc/private/hashseti.h>
667: PetscErrorCode PetscHSetIResize(PetscHSetI ht,PetscInt nb)
669: Input Parameters:
670: + ht - The hash set
671: - nb - The number of buckets
673: Level: developer
675: .seealso: `PetscHSetICreate()`
676: M*/
678: /*MC
679: PetscHSetIGetSize - Get the number of entries in a hash set
681: Synopsis:
682: #include <petsc/private/hashseti.h>
683: PetscErrorCode PetscHSetIGetSize(PetscHSetI ht,PetscInt *n)
685: Input Parameter:
686: . ht - The hash set
688: Output Parameter:
689: . n - The number of entries
691: Level: developer
693: .seealso: `PetscHSetIResize()`
694: M*/
696: /*MC
697: PetscHSetIGetCapacity - Get the current size of the array in the hash set
699: Synopsis:
700: #include <petsc/private/hashseti.h>
701: PetscErrorCode PetscHSetIGetCapacity(PetscHSetI ht,PetscInt *n)
703: Input Parameter:
704: . ht - The hash set
706: Output Parameter:
707: . n - The capacity
709: Level: developer
711: .seealso: `PetscHSetIResize()`, `PetscHSetIGetSize()`
712: M*/
714: /*MC
715: PetscHSetIHas - Query for an entry in the hash set
717: Synopsis:
718: #include <petsc/private/hashseti.h>
719: PetscErrorCode PetscHSetIHas(PetscHSetI ht, PetscInt key, PetscBool *has)
721: Input Parameters:
722: + ht - The hash set
723: - key - The entry
725: Output Parameter:
726: . has - Boolean indicating whether the entry is in the hash set
728: Level: developer
730: .seealso: `PetscHSetIAdd()`, `PetscHSetIDel()`, `PetscHSetIQueryAdd()`
731: M*/
733: /*MC
734: PetscHSetIAdd - Set an entry in the hash set
736: Synopsis:
737: #include <petsc/private/hashseti.h>
738: PetscErrorCode PetscHSetIAdd(PetscHSetI ht, PetscInt key)
740: Input Parameters:
741: + ht - The hash set
742: - key - The entry
744: Level: developer
746: .seealso: `PetscHSetIDel()`, `PetscHSetIHas()`, `PetscHSetIQueryAdd()`
747: M*/
749: /*MC
750: PetscHSetIDel - Remove an entry from the hash set
752: Synopsis:
753: #include <petsc/private/hashseti.h>
754: PetscErrorCode PetscHSetIDel(PetscHSetI ht, PetscInt key)
756: Input Parameters:
757: + ht - The hash set
758: - key - The entry
760: Level: developer
762: .seealso: `PetscHSetIAdd()`, `PetscHSetIHas()`
763: M*/
765: /*MC
766: PetscHSetIQueryAdd - Query and add an entry in the hash set
768: Synopsis:
769: #include <petsc/private/hashseti.h>
770: PetscErrorCode PetscHSetIQueryAdd(PetscHSetI ht, PetscInt key, PetscBool *missing)
772: Input Parameters:
773: + ht - The hash set
774: - key - The entry
776: Output Parameter:
777: . missing - Boolean indicating whether the entry was missing
779: Level: developer
781: .seealso: `PetscHSetIQueryDel()`, `PetscHSetIAdd()`, `PetscHSetIHas()`
782: M*/
784: /*MC
785: PetscHSetIQueryDel - Query and remove an entry from the hash set
787: Synopsis:
788: #include <petsc/private/hashseti.h>
789: PetscErrorCode PetscHSetIQueryDel(PetscHSetI ht, PetscInt key, PetscBool *present)
791: Input Parameters:
792: + ht - The hash set
793: - key - The entry
795: Output Parameter:
796: . present - Boolean indicating whether the entry was present
798: Level: developer
800: .seealso: `PetscHSetIQueryAdd()`, `PetscHSetIDel()`
801: M*/
803: /*MC
804: PetscHSetIGetElems - Get all entries from a hash set
806: Synopsis:
807: #include <petsc/private/hashseti.h>
808: PetscErrorCode PetscHSetIGetElems(PetscHSetI ht, PetscInt *off, PetscInt array[])
810: Input Parameters:
811: + ht - The hash set
812: . off - Input offset in array (usually zero)
813: - array - Array to put hash set entries in
815: Output Parameters:
816: + off - Output offset in array (output offset = input offset + hash set size)
817: - array - Array filled with the hash set entries
819: Level: developer
821: .seealso: `PetscHSetIGetSize()`
822: M*/
823: /* MANSEC = Sys */
824: /* SUBMANSEC = PetscH */
826: This file is processed by doc/build_man_pages.py to create manual pages
827: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
829: /*S
830: PetscHSetIJ - Hash set with a key of struct {PetscInt i, j;}
832: Level: developer
834: .seealso: `PETSC_HASH_SET()`, `PetscHSetIJCreate()`, `PetscHSetIJDestroy()`, `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`,
835: `PetscHSetIJAdd()`, `PetscHSetIJReset()`, `PETSC_HASH_MAP()`, `PetscHMapIJCreate()`, `PetscHSetIJ`
836: S*/
837: typedef struct _PetscHashIJ PetscHSetIJ;
839: /*MC
840: PetscHSetIJCreate - Create a hash set
842: Synopsis:
843: #include <petsc/private/hashsetij.h>
844: PetscErrorCode PetscHSetIJCreate(PetscHSetIJ *ht)
846: Output Parameter:
847: . ht - The hash set
849: Level: developer
851: .seealso: `PetscHSetIJDestroy()`
852: M*/
854: /*MC
855: PetscHSetIJDestroy - Destroy a hash set
857: Synopsis:
858: #include <petsc/private/hashsetij.h>
859: PetscErrorCode PetscHSetIJDestroy(PetscHSetIJ *ht)
861: Input Parameter:
862: . ht - The hash set
864: Level: developer
866: .seealso: `PetscHSetIJCreate()`
867: M*/
869: /*MC
870: PetscHSetIJReset - Reset a hash set
872: Synopsis:
873: #include <petsc/private/hashsetij.h>
874: PetscErrorCode PetscHSetIJReset(PetscHSetIJ ht)
876: Input Parameter:
877: . ht - The hash set
879: Level: developer
881: .seealso: `PetscHSetIJClear()`
882: M*/
884: /*MC
885: PetscHSetIJDuplicate - Duplicate a hash set
887: Synopsis:
888: #include <petsc/private/hashsetij.h>
889: PetscErrorCode PetscHSetIJDuplicate(PetscHSetIJ ht,PetscHSetIJ *hd)
891: Input Parameter:
892: . ht - The source hash set
894: Output Parameter:
895: . ht - The duplicated hash set
897: Level: developer
899: .seealso: `PetscHSetIJCreate()`
900: M*/
902: /*MC
903: PetscHSetIJUpdate - Add entries from a has set to another
905: Synopsis:
906: #include <petsc/private/hashsetij.h>
907: PetscErrorCode PetscHSetIJUpdate(PetscHSetIJ ht,PetscHSetIJ hda)
909: Input Parameters:
910: + ht - The hash set to which elements are added
911: - hta - The hash set from which the elements are retrieved
913: Output Parameter:
914: . ht - The hash set filled with the elements from the other hash set
916: Level: developer
918: .seealso: `PetscHSetIJCreate()`, `PetscHSetIJDuplicate()`
919: M*/
921: /*MC
922: PetscHSetIJClear - Clear a hash set
924: Synopsis:
925: #include <petsc/private/hashsetij.h>
926: PetscErrorCode PetscHSetIJClear(PetscHSetIJ ht)
928: Input Parameter:
929: . ht - The hash set
931: Level: developer
933: .seealso: `PetscHSetIJReset()`
934: M*/
936: /*MC
937: PetscHSetIJResize - Set the number of buckets in a hash set
939: Synopsis:
940: #include <petsc/private/hashsetij.h>
941: PetscErrorCode PetscHSetIJResize(PetscHSetIJ ht,PetscInt nb)
943: Input Parameters:
944: + ht - The hash set
945: - nb - The number of buckets
947: Level: developer
949: .seealso: `PetscHSetIJCreate()`
950: M*/
952: /*MC
953: PetscHSetIJGetSize - Get the number of entries in a hash set
955: Synopsis:
956: #include <petsc/private/hashsetij.h>
957: PetscErrorCode PetscHSetIJGetSize(PetscHSetIJ ht,PetscInt *n)
959: Input Parameter:
960: . ht - The hash set
962: Output Parameter:
963: . n - The number of entries
965: Level: developer
967: .seealso: `PetscHSetIJResize()`
968: M*/
970: /*MC
971: PetscHSetIJGetCapacity - Get the current size of the array in the hash set
973: Synopsis:
974: #include <petsc/private/hashsetij.h>
975: PetscErrorCode PetscHSetIJGetCapacity(PetscHSetIJ ht,PetscInt *n)
977: Input Parameter:
978: . ht - The hash set
980: Output Parameter:
981: . n - The capacity
983: Level: developer
985: .seealso: `PetscHSetIJResize()`, `PetscHSetIJGetSize()`
986: M*/
988: /*MC
989: PetscHSetIJHas - Query for an entry in the hash set
991: Synopsis:
992: #include <petsc/private/hashsetij.h>
993: PetscErrorCode PetscHSetIJHas(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *has)
995: Input Parameters:
996: + ht - The hash set
997: - key - The entry
999: Output Parameter:
1000: . has - Boolean indicating whether the entry is in the hash set
1002: Level: developer
1004: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJDel()`, `PetscHSetIJQueryAdd()`
1005: M*/
1007: /*MC
1008: PetscHSetIJAdd - Set an entry in the hash set
1010: Synopsis:
1011: #include <petsc/private/hashsetij.h>
1012: PetscErrorCode PetscHSetIJAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key)
1014: Input Parameters:
1015: + ht - The hash set
1016: - key - The entry
1018: Level: developer
1020: .seealso: `PetscHSetIJDel()`, `PetscHSetIJHas()`, `PetscHSetIJQueryAdd()`
1021: M*/
1023: /*MC
1024: PetscHSetIJDel - Remove an entry from the hash set
1026: Synopsis:
1027: #include <petsc/private/hashsetij.h>
1028: PetscErrorCode PetscHSetIJDel(PetscHSetIJ ht, struct {PetscInt i, j;} key)
1030: Input Parameters:
1031: + ht - The hash set
1032: - key - The entry
1034: Level: developer
1036: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJHas()`
1037: M*/
1039: /*MC
1040: PetscHSetIJQueryAdd - Query and add an entry in the hash set
1042: Synopsis:
1043: #include <petsc/private/hashsetij.h>
1044: PetscErrorCode PetscHSetIJQueryAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *missing)
1046: Input Parameters:
1047: + ht - The hash set
1048: - key - The entry
1050: Output Parameter:
1051: . missing - Boolean indicating whether the entry was missing
1053: Level: developer
1055: .seealso: `PetscHSetIJQueryDel()`, `PetscHSetIJAdd()`, `PetscHSetIJHas()`
1056: M*/
1058: /*MC
1059: PetscHSetIJQueryDel - Query and remove an entry from the hash set
1061: Synopsis:
1062: #include <petsc/private/hashsetij.h>
1063: PetscErrorCode PetscHSetIJQueryDel(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *present)
1065: Input Parameters:
1066: + ht - The hash set
1067: - key - The entry
1069: Output Parameter:
1070: . present - Boolean indicating whether the entry was present
1072: Level: developer
1074: .seealso: `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`
1075: M*/
1077: /*MC
1078: PetscHSetIJGetElems - Get all entries from a hash set
1080: Synopsis:
1081: #include <petsc/private/hashsetij.h>
1082: PetscErrorCode PetscHSetIJGetElems(PetscHSetIJ ht, PetscInt *off, struct {PetscInt i, j;} array[])
1084: Input Parameters:
1085: + ht - The hash set
1086: . off - Input offset in array (usually zero)
1087: - array - Array to put hash set entries in
1089: Output Parameters:
1090: + off - Output offset in array (output offset = input offset + hash set size)
1091: - array - Array filled with the hash set entries
1093: Level: developer
1095: .seealso: `PetscHSetIJGetSize()`
1096: M*/
1097: /* MANSEC = Sys */
1098: /* SUBMANSEC = PetscH */
1100: This file is processed by doc/build_man_pages.py to create manual pages
1101: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
1103: /*S
1104: PetscHSetIJ - Hash set with a key of struct {PetscInt i, j;}
1106: Level: developer
1108: .seealso: `PETSC_HASH_SET()`, `PetscHSetIJCreate()`, `PetscHSetIJDestroy()`, `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`,
1109: `PetscHSetIJAdd()`, `PetscHSetIJReset()`, `PETSC_HASH_MAP()`, `PetscHMapIJCreate()`, `PetscHSetIJ`
1110: S*/
1111: typedef struct _PetscHashIJ PetscHSetIJ;
1113: /*MC
1114: PetscHSetIJCreate - Create a hash set
1116: Synopsis:
1117: #include <petsc/private/hashsetij.h>
1118: PetscErrorCode PetscHSetIJCreate(PetscHSetIJ *ht)
1120: Output Parameter:
1121: . ht - The hash set
1123: Level: developer
1125: .seealso: `PetscHSetIJDestroy()`
1126: M*/
1128: /*MC
1129: PetscHSetIJDestroy - Destroy a hash set
1131: Synopsis:
1132: #include <petsc/private/hashsetij.h>
1133: PetscErrorCode PetscHSetIJDestroy(PetscHSetIJ *ht)
1135: Input Parameter:
1136: . ht - The hash set
1138: Level: developer
1140: .seealso: `PetscHSetIJCreate()`
1141: M*/
1143: /*MC
1144: PetscHSetIJReset - Reset a hash set
1146: Synopsis:
1147: #include <petsc/private/hashsetij.h>
1148: PetscErrorCode PetscHSetIJReset(PetscHSetIJ ht)
1150: Input Parameter:
1151: . ht - The hash set
1153: Level: developer
1155: .seealso: `PetscHSetIJClear()`
1156: M*/
1158: /*MC
1159: PetscHSetIJDuplicate - Duplicate a hash set
1161: Synopsis:
1162: #include <petsc/private/hashsetij.h>
1163: PetscErrorCode PetscHSetIJDuplicate(PetscHSetIJ ht,PetscHSetIJ *hd)
1165: Input Parameter:
1166: . ht - The source hash set
1168: Output Parameter:
1169: . ht - The duplicated hash set
1171: Level: developer
1173: .seealso: `PetscHSetIJCreate()`
1174: M*/
1176: /*MC
1177: PetscHSetIJUpdate - Add entries from a has set to another
1179: Synopsis:
1180: #include <petsc/private/hashsetij.h>
1181: PetscErrorCode PetscHSetIJUpdate(PetscHSetIJ ht,PetscHSetIJ hda)
1183: Input Parameters:
1184: + ht - The hash set to which elements are added
1185: - hta - The hash set from which the elements are retrieved
1187: Output Parameter:
1188: . ht - The hash set filled with the elements from the other hash set
1190: Level: developer
1192: .seealso: `PetscHSetIJCreate()`, `PetscHSetIJDuplicate()`
1193: M*/
1195: /*MC
1196: PetscHSetIJClear - Clear a hash set
1198: Synopsis:
1199: #include <petsc/private/hashsetij.h>
1200: PetscErrorCode PetscHSetIJClear(PetscHSetIJ ht)
1202: Input Parameter:
1203: . ht - The hash set
1205: Level: developer
1207: .seealso: `PetscHSetIJReset()`
1208: M*/
1210: /*MC
1211: PetscHSetIJResize - Set the number of buckets in a hash set
1213: Synopsis:
1214: #include <petsc/private/hashsetij.h>
1215: PetscErrorCode PetscHSetIJResize(PetscHSetIJ ht,PetscInt nb)
1217: Input Parameters:
1218: + ht - The hash set
1219: - nb - The number of buckets
1221: Level: developer
1223: .seealso: `PetscHSetIJCreate()`
1224: M*/
1226: /*MC
1227: PetscHSetIJGetSize - Get the number of entries in a hash set
1229: Synopsis:
1230: #include <petsc/private/hashsetij.h>
1231: PetscErrorCode PetscHSetIJGetSize(PetscHSetIJ ht,PetscInt *n)
1233: Input Parameter:
1234: . ht - The hash set
1236: Output Parameter:
1237: . n - The number of entries
1239: Level: developer
1241: .seealso: `PetscHSetIJResize()`
1242: M*/
1244: /*MC
1245: PetscHSetIJGetCapacity - Get the current size of the array in the hash set
1247: Synopsis:
1248: #include <petsc/private/hashsetij.h>
1249: PetscErrorCode PetscHSetIJGetCapacity(PetscHSetIJ ht,PetscInt *n)
1251: Input Parameter:
1252: . ht - The hash set
1254: Output Parameter:
1255: . n - The capacity
1257: Level: developer
1259: .seealso: `PetscHSetIJResize()`, `PetscHSetIJGetSize()`
1260: M*/
1262: /*MC
1263: PetscHSetIJHas - Query for an entry in the hash set
1265: Synopsis:
1266: #include <petsc/private/hashsetij.h>
1267: PetscErrorCode PetscHSetIJHas(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *has)
1269: Input Parameters:
1270: + ht - The hash set
1271: - key - The entry
1273: Output Parameter:
1274: . has - Boolean indicating whether the entry is in the hash set
1276: Level: developer
1278: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJDel()`, `PetscHSetIJQueryAdd()`
1279: M*/
1281: /*MC
1282: PetscHSetIJAdd - Set an entry in the hash set
1284: Synopsis:
1285: #include <petsc/private/hashsetij.h>
1286: PetscErrorCode PetscHSetIJAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key)
1288: Input Parameters:
1289: + ht - The hash set
1290: - key - The entry
1292: Level: developer
1294: .seealso: `PetscHSetIJDel()`, `PetscHSetIJHas()`, `PetscHSetIJQueryAdd()`
1295: M*/
1297: /*MC
1298: PetscHSetIJDel - Remove an entry from the hash set
1300: Synopsis:
1301: #include <petsc/private/hashsetij.h>
1302: PetscErrorCode PetscHSetIJDel(PetscHSetIJ ht, struct {PetscInt i, j;} key)
1304: Input Parameters:
1305: + ht - The hash set
1306: - key - The entry
1308: Level: developer
1310: .seealso: `PetscHSetIJAdd()`, `PetscHSetIJHas()`
1311: M*/
1313: /*MC
1314: PetscHSetIJQueryAdd - Query and add an entry in the hash set
1316: Synopsis:
1317: #include <petsc/private/hashsetij.h>
1318: PetscErrorCode PetscHSetIJQueryAdd(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *missing)
1320: Input Parameters:
1321: + ht - The hash set
1322: - key - The entry
1324: Output Parameter:
1325: . missing - Boolean indicating whether the entry was missing
1327: Level: developer
1329: .seealso: `PetscHSetIJQueryDel()`, `PetscHSetIJAdd()`, `PetscHSetIJHas()`
1330: M*/
1332: /*MC
1333: PetscHSetIJQueryDel - Query and remove an entry from the hash set
1335: Synopsis:
1336: #include <petsc/private/hashsetij.h>
1337: PetscErrorCode PetscHSetIJQueryDel(PetscHSetIJ ht, struct {PetscInt i, j;} key, PetscBool *present)
1339: Input Parameters:
1340: + ht - The hash set
1341: - key - The entry
1343: Output Parameter:
1344: . present - Boolean indicating whether the entry was present
1346: Level: developer
1348: .seealso: `PetscHSetIJQueryAdd()`, `PetscHSetIJDel()`
1349: M*/
1351: /*MC
1352: PetscHSetIJGetElems - Get all entries from a hash set
1354: Synopsis:
1355: #include <petsc/private/hashsetij.h>
1356: PetscErrorCode PetscHSetIJGetElems(PetscHSetIJ ht, PetscInt *off, struct {PetscInt i, j;} array[])
1358: Input Parameters:
1359: + ht - The hash set
1360: . off - Input offset in array (usually zero)
1361: - array - Array to put hash set entries in
1363: Output Parameters:
1364: + off - Output offset in array (output offset = input offset + hash set size)
1365: - array - Array filled with the hash set entries
1367: Level: developer
1369: .seealso: `PetscHSetIJGetSize()`
1370: M*/
1371: /* MANSEC = Sys */
1372: /* SUBMANSEC = PetscH */
1374: This file is processed by doc/build_man_pages.py to create manual pages
1375: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
1377: /*S
1378: PetscHSetIV - Hash set with a key of PetscInt
1380: Level: developer
1382: .seealso: `PETSC_HASH_SET()`, `PetscHSetIVCreate()`, `PetscHSetIVDestroy()`, `PetscHSetIVQueryAdd()`, `PetscHSetIVDel()`,
1383: `PetscHSetIVAdd()`, `PetscHSetIVReset()`, `PETSC_HASH_MAP()`, `PetscHMapIVCreate()`, `PetscHSetIV`
1384: S*/
1385: typedef struct _PetscHashIV PetscHSetIV;
1387: /*MC
1388: PetscHSetIVCreate - Create a hash set
1390: Synopsis:
1391: #include <petsc/private/hashsetiv.h>
1392: PetscErrorCode PetscHSetIVCreate(PetscHSetIV *ht)
1394: Output Parameter:
1395: . ht - The hash set
1397: Level: developer
1399: .seealso: `PetscHSetIVDestroy()`
1400: M*/
1402: /*MC
1403: PetscHSetIVDestroy - Destroy a hash set
1405: Synopsis:
1406: #include <petsc/private/hashsetiv.h>
1407: PetscErrorCode PetscHSetIVDestroy(PetscHSetIV *ht)
1409: Input Parameter:
1410: . ht - The hash set
1412: Level: developer
1414: .seealso: `PetscHSetIVCreate()`
1415: M*/
1417: /*MC
1418: PetscHSetIVReset - Reset a hash set
1420: Synopsis:
1421: #include <petsc/private/hashsetiv.h>
1422: PetscErrorCode PetscHSetIVReset(PetscHSetIV ht)
1424: Input Parameter:
1425: . ht - The hash set
1427: Level: developer
1429: .seealso: `PetscHSetIVClear()`
1430: M*/
1432: /*MC
1433: PetscHSetIVDuplicate - Duplicate a hash set
1435: Synopsis:
1436: #include <petsc/private/hashsetiv.h>
1437: PetscErrorCode PetscHSetIVDuplicate(PetscHSetIV ht,PetscHSetIV *hd)
1439: Input Parameter:
1440: . ht - The source hash set
1442: Output Parameter:
1443: . ht - The duplicated hash set
1445: Level: developer
1447: .seealso: `PetscHSetIVCreate()`
1448: M*/
1450: /*MC
1451: PetscHSetIVUpdate - Add entries from a has set to another
1453: Synopsis:
1454: #include <petsc/private/hashsetiv.h>
1455: PetscErrorCode PetscHSetIVUpdate(PetscHSetIV ht,PetscHSetIV hda)
1457: Input Parameters:
1458: + ht - The hash set to which elements are added
1459: - hta - The hash set from which the elements are retrieved
1461: Output Parameter:
1462: . ht - The hash set filled with the elements from the other hash set
1464: Level: developer
1466: .seealso: `PetscHSetIVCreate()`, `PetscHSetIVDuplicate()`
1467: M*/
1469: /*MC
1470: PetscHSetIVClear - Clear a hash set
1472: Synopsis:
1473: #include <petsc/private/hashsetiv.h>
1474: PetscErrorCode PetscHSetIVClear(PetscHSetIV ht)
1476: Input Parameter:
1477: . ht - The hash set
1479: Level: developer
1481: .seealso: `PetscHSetIVReset()`
1482: M*/
1484: /*MC
1485: PetscHSetIVResize - Set the number of buckets in a hash set
1487: Synopsis:
1488: #include <petsc/private/hashsetiv.h>
1489: PetscErrorCode PetscHSetIVResize(PetscHSetIV ht,PetscInt nb)
1491: Input Parameters:
1492: + ht - The hash set
1493: - nb - The number of buckets
1495: Level: developer
1497: .seealso: `PetscHSetIVCreate()`
1498: M*/
1500: /*MC
1501: PetscHSetIVGetSize - Get the number of entries in a hash set
1503: Synopsis:
1504: #include <petsc/private/hashsetiv.h>
1505: PetscErrorCode PetscHSetIVGetSize(PetscHSetIV ht,PetscInt *n)
1507: Input Parameter:
1508: . ht - The hash set
1510: Output Parameter:
1511: . n - The number of entries
1513: Level: developer
1515: .seealso: `PetscHSetIVResize()`
1516: M*/
1518: /*MC
1519: PetscHSetIVGetCapacity - Get the current size of the array in the hash set
1521: Synopsis:
1522: #include <petsc/private/hashsetiv.h>
1523: PetscErrorCode PetscHSetIVGetCapacity(PetscHSetIV ht,PetscInt *n)
1525: Input Parameter:
1526: . ht - The hash set
1528: Output Parameter:
1529: . n - The capacity
1531: Level: developer
1533: .seealso: `PetscHSetIVResize()`, `PetscHSetIVGetSize()`
1534: M*/
1536: /*MC
1537: PetscHSetIVHas - Query for an entry in the hash set
1539: Synopsis:
1540: #include <petsc/private/hashsetiv.h>
1541: PetscErrorCode PetscHSetIVHas(PetscHSetIV ht, PetscInt key, PetscBool *has)
1543: Input Parameters:
1544: + ht - The hash set
1545: - key - The entry
1547: Output Parameter:
1548: . has - Boolean indicating whether the entry is in the hash set
1550: Level: developer
1552: .seealso: `PetscHSetIVAdd()`, `PetscHSetIVDel()`, `PetscHSetIVQueryAdd()`
1553: M*/
1555: /*MC
1556: PetscHSetIVAdd - Set an entry in the hash set
1558: Synopsis:
1559: #include <petsc/private/hashsetiv.h>
1560: PetscErrorCode PetscHSetIVAdd(PetscHSetIV ht, PetscInt key)
1562: Input Parameters:
1563: + ht - The hash set
1564: - key - The entry
1566: Level: developer
1568: .seealso: `PetscHSetIVDel()`, `PetscHSetIVHas()`, `PetscHSetIVQueryAdd()`
1569: M*/
1571: /*MC
1572: PetscHSetIVDel - Remove an entry from the hash set
1574: Synopsis:
1575: #include <petsc/private/hashsetiv.h>
1576: PetscErrorCode PetscHSetIVDel(PetscHSetIV ht, PetscInt key)
1578: Input Parameters:
1579: + ht - The hash set
1580: - key - The entry
1582: Level: developer
1584: .seealso: `PetscHSetIVAdd()`, `PetscHSetIVHas()`
1585: M*/
1587: /*MC
1588: PetscHSetIVQueryAdd - Query and add an entry in the hash set
1590: Synopsis:
1591: #include <petsc/private/hashsetiv.h>
1592: PetscErrorCode PetscHSetIVQueryAdd(PetscHSetIV ht, PetscInt key, PetscBool *missing)
1594: Input Parameters:
1595: + ht - The hash set
1596: - key - The entry
1598: Output Parameter:
1599: . missing - Boolean indicating whether the entry was missing
1601: Level: developer
1603: .seealso: `PetscHSetIVQueryDel()`, `PetscHSetIVAdd()`, `PetscHSetIVHas()`
1604: M*/
1606: /*MC
1607: PetscHSetIVQueryDel - Query and remove an entry from the hash set
1609: Synopsis:
1610: #include <petsc/private/hashsetiv.h>
1611: PetscErrorCode PetscHSetIVQueryDel(PetscHSetIV ht, PetscInt key, PetscBool *present)
1613: Input Parameters:
1614: + ht - The hash set
1615: - key - The entry
1617: Output Parameter:
1618: . present - Boolean indicating whether the entry was present
1620: Level: developer
1622: .seealso: `PetscHSetIVQueryAdd()`, `PetscHSetIVDel()`
1623: M*/
1625: /*MC
1626: PetscHSetIVGetElems - Get all entries from a hash set
1628: Synopsis:
1629: #include <petsc/private/hashsetiv.h>
1630: PetscErrorCode PetscHSetIVGetElems(PetscHSetIV ht, PetscInt *off, PetscInt array[])
1632: Input Parameters:
1633: + ht - The hash set
1634: . off - Input offset in array (usually zero)
1635: - array - Array to put hash set entries in
1637: Output Parameters:
1638: + off - Output offset in array (output offset = input offset + hash set size)
1639: - array - Array filled with the hash set entries
1641: Level: developer
1643: .seealso: `PetscHSetIVGetSize()`
1644: M*/
1645: /* MANSEC = Sys */
1646: /* SUBMANSEC = PetscH */
1648: This file is processed by doc/build_man_pages.py to create manual pages
1649: for the types and macros created by PETSC_HASH_SET(). For example, PetscHHashIJ.
1651: /*S
1652: PetscHSetObj - Hash set with a key of PetscInt64
1654: Level: developer
1656: .seealso: `PETSC_HASH_SET()`, `PetscHSetObjCreate()`, `PetscHSetObjDestroy()`, `PetscHSetObjQueryAdd()`, `PetscHSetObjDel()`,
1657: `PetscHSetObjAdd()`, `PetscHSetObjReset()`, `PETSC_HASH_MAP()`, `PetscHMapObjCreate()`, `PetscHSetObj`
1658: S*/
1659: typedef struct _PetscHashObj PetscHSetObj;
1661: /*MC
1662: PetscHSetObjCreate - Create a hash set
1664: Synopsis:
1665: #include <petsc/private/hashsetobj.h>
1666: PetscErrorCode PetscHSetObjCreate(PetscHSetObj *ht)
1668: Output Parameter:
1669: . ht - The hash set
1671: Level: developer
1673: .seealso: `PetscHSetObjDestroy()`
1674: M*/
1676: /*MC
1677: PetscHSetObjDestroy - Destroy a hash set
1679: Synopsis:
1680: #include <petsc/private/hashsetobj.h>
1681: PetscErrorCode PetscHSetObjDestroy(PetscHSetObj *ht)
1683: Input Parameter:
1684: . ht - The hash set
1686: Level: developer
1688: .seealso: `PetscHSetObjCreate()`
1689: M*/
1691: /*MC
1692: PetscHSetObjReset - Reset a hash set
1694: Synopsis:
1695: #include <petsc/private/hashsetobj.h>
1696: PetscErrorCode PetscHSetObjReset(PetscHSetObj ht)
1698: Input Parameter:
1699: . ht - The hash set
1701: Level: developer
1703: .seealso: `PetscHSetObjClear()`
1704: M*/
1706: /*MC
1707: PetscHSetObjDuplicate - Duplicate a hash set
1709: Synopsis:
1710: #include <petsc/private/hashsetobj.h>
1711: PetscErrorCode PetscHSetObjDuplicate(PetscHSetObj ht,PetscHSetObj *hd)
1713: Input Parameter:
1714: . ht - The source hash set
1716: Output Parameter:
1717: . ht - The duplicated hash set
1719: Level: developer
1721: .seealso: `PetscHSetObjCreate()`
1722: M*/
1724: /*MC
1725: PetscHSetObjUpdate - Add entries from a has set to another
1727: Synopsis:
1728: #include <petsc/private/hashsetobj.h>
1729: PetscErrorCode PetscHSetObjUpdate(PetscHSetObj ht,PetscHSetObj hda)
1731: Input Parameters:
1732: + ht - The hash set to which elements are added
1733: - hta - The hash set from which the elements are retrieved
1735: Output Parameter:
1736: . ht - The hash set filled with the elements from the other hash set
1738: Level: developer
1740: .seealso: `PetscHSetObjCreate()`, `PetscHSetObjDuplicate()`
1741: M*/
1743: /*MC
1744: PetscHSetObjClear - Clear a hash set
1746: Synopsis:
1747: #include <petsc/private/hashsetobj.h>
1748: PetscErrorCode PetscHSetObjClear(PetscHSetObj ht)
1750: Input Parameter:
1751: . ht - The hash set
1753: Level: developer
1755: .seealso: `PetscHSetObjReset()`
1756: M*/
1758: /*MC
1759: PetscHSetObjResize - Set the number of buckets in a hash set
1761: Synopsis:
1762: #include <petsc/private/hashsetobj.h>
1763: PetscErrorCode PetscHSetObjResize(PetscHSetObj ht,PetscInt nb)
1765: Input Parameters:
1766: + ht - The hash set
1767: - nb - The number of buckets
1769: Level: developer
1771: .seealso: `PetscHSetObjCreate()`
1772: M*/
1774: /*MC
1775: PetscHSetObjGetSize - Get the number of entries in a hash set
1777: Synopsis:
1778: #include <petsc/private/hashsetobj.h>
1779: PetscErrorCode PetscHSetObjGetSize(PetscHSetObj ht,PetscInt *n)
1781: Input Parameter:
1782: . ht - The hash set
1784: Output Parameter:
1785: . n - The number of entries
1787: Level: developer
1789: .seealso: `PetscHSetObjResize()`
1790: M*/
1792: /*MC
1793: PetscHSetObjGetCapacity - Get the current size of the array in the hash set
1795: Synopsis:
1796: #include <petsc/private/hashsetobj.h>
1797: PetscErrorCode PetscHSetObjGetCapacity(PetscHSetObj ht,PetscInt *n)
1799: Input Parameter:
1800: . ht - The hash set
1802: Output Parameter:
1803: . n - The capacity
1805: Level: developer
1807: .seealso: `PetscHSetObjResize()`, `PetscHSetObjGetSize()`
1808: M*/
1810: /*MC
1811: PetscHSetObjHas - Query for an entry in the hash set
1813: Synopsis:
1814: #include <petsc/private/hashsetobj.h>
1815: PetscErrorCode PetscHSetObjHas(PetscHSetObj ht, PetscInt64 key, PetscBool *has)
1817: Input Parameters:
1818: + ht - The hash set
1819: - key - The entry
1821: Output Parameter:
1822: . has - Boolean indicating whether the entry is in the hash set
1824: Level: developer
1826: .seealso: `PetscHSetObjAdd()`, `PetscHSetObjDel()`, `PetscHSetObjQueryAdd()`
1827: M*/
1829: /*MC
1830: PetscHSetObjAdd - Set an entry in the hash set
1832: Synopsis:
1833: #include <petsc/private/hashsetobj.h>
1834: PetscErrorCode PetscHSetObjAdd(PetscHSetObj ht, PetscInt64 key)
1836: Input Parameters:
1837: + ht - The hash set
1838: - key - The entry
1840: Level: developer
1842: .seealso: `PetscHSetObjDel()`, `PetscHSetObjHas()`, `PetscHSetObjQueryAdd()`
1843: M*/
1845: /*MC
1846: PetscHSetObjDel - Remove an entry from the hash set
1848: Synopsis:
1849: #include <petsc/private/hashsetobj.h>
1850: PetscErrorCode PetscHSetObjDel(PetscHSetObj ht, PetscInt64 key)
1852: Input Parameters:
1853: + ht - The hash set
1854: - key - The entry
1856: Level: developer
1858: .seealso: `PetscHSetObjAdd()`, `PetscHSetObjHas()`
1859: M*/
1861: /*MC
1862: PetscHSetObjQueryAdd - Query and add an entry in the hash set
1864: Synopsis:
1865: #include <petsc/private/hashsetobj.h>
1866: PetscErrorCode PetscHSetObjQueryAdd(PetscHSetObj ht, PetscInt64 key, PetscBool *missing)
1868: Input Parameters:
1869: + ht - The hash set
1870: - key - The entry
1872: Output Parameter:
1873: . missing - Boolean indicating whether the entry was missing
1875: Level: developer
1877: .seealso: `PetscHSetObjQueryDel()`, `PetscHSetObjAdd()`, `PetscHSetObjHas()`
1878: M*/
1880: /*MC
1881: PetscHSetObjQueryDel - Query and remove an entry from the hash set
1883: Synopsis:
1884: #include <petsc/private/hashsetobj.h>
1885: PetscErrorCode PetscHSetObjQueryDel(PetscHSetObj ht, PetscInt64 key, PetscBool *present)
1887: Input Parameters:
1888: + ht - The hash set
1889: - key - The entry
1891: Output Parameter:
1892: . present - Boolean indicating whether the entry was present
1894: Level: developer
1896: .seealso: `PetscHSetObjQueryAdd()`, `PetscHSetObjDel()`
1897: M*/
1899: /*MC
1900: PetscHSetObjGetElems - Get all entries from a hash set
1902: Synopsis:
1903: #include <petsc/private/hashsetobj.h>
1904: PetscErrorCode PetscHSetObjGetElems(PetscHSetObj ht, PetscInt *off, PetscInt64 array[])
1906: Input Parameters:
1907: + ht - The hash set
1908: . off - Input offset in array (usually zero)
1909: - array - Array to put hash set entries in
1911: Output Parameters:
1912: + off - Output offset in array (output offset = input offset + hash set size)
1913: - array - Array filled with the hash set entries
1915: Level: developer
1917: .seealso: `PetscHSetObjGetSize()`
1918: M*/