1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 fn extract_bit(byte: u8, index: usize) -> bool {
20 let bit_index = if cfg!(target_endian = "big") {
21 7 - (index % 8)
22 } else {
23 index % 8
24 };
25 let mask = 1 << bit_index;
26 byte & mask == mask
27 }
28 #[inline]
29 pub fn get_bit(&self, index: usize) -> bool {
30 debug_assert!(index / 8 < self.storage.as_ref().len());
31 let byte_index = index / 8;
32 let byte = self.storage.as_ref()[byte_index];
33 Self::extract_bit(byte, index)
34 }
35 #[inline]
36 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
37 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38 let byte_index = index / 8;
39 let byte = unsafe {
40 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
41 };
42 Self::extract_bit(byte, index)
43 }
44 #[inline]
45 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
46 let bit_index = if cfg!(target_endian = "big") {
47 7 - (index % 8)
48 } else {
49 index % 8
50 };
51 let mask = 1 << bit_index;
52 if val { byte | mask } else { byte & !mask }
53 }
54 #[inline]
55 pub fn set_bit(&mut self, index: usize, val: bool) {
56 debug_assert!(index / 8 < self.storage.as_ref().len());
57 let byte_index = index / 8;
58 let byte = &mut self.storage.as_mut()[byte_index];
59 *byte = Self::change_bit(*byte, index, val);
60 }
61 #[inline]
62 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64 let byte_index = index / 8;
65 let byte = unsafe {
66 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67 };
68 unsafe { *byte = Self::change_bit(*byte, index, val) };
69 }
70 #[inline]
71 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 let mut val = 0;
76 for i in 0..(bit_width as usize) {
77 if self.get_bit(i + bit_offset) {
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 val |= 1 << index;
84 }
85 }
86 val
87 }
88 #[inline]
89 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
90 debug_assert!(bit_width <= 64);
91 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
92 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
93 let mut val = 0;
94 for i in 0..(bit_width as usize) {
95 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
96 let index = if cfg!(target_endian = "big") {
97 bit_width as usize - 1 - i
98 } else {
99 i
100 };
101 val |= 1 << index;
102 }
103 }
104 val
105 }
106 #[inline]
107 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
108 debug_assert!(bit_width <= 64);
109 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111 for i in 0..(bit_width as usize) {
112 let mask = 1 << i;
113 let val_bit_is_set = val & mask == mask;
114 let index = if cfg!(target_endian = "big") {
115 bit_width as usize - 1 - i
116 } else {
117 i
118 };
119 self.set_bit(index + bit_offset, val_bit_is_set);
120 }
121 }
122 #[inline]
123 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
124 debug_assert!(bit_width <= 64);
125 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
126 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
127 for i in 0..(bit_width as usize) {
128 let mask = 1 << i;
129 let val_bit_is_set = val & mask == mask;
130 let index = if cfg!(target_endian = "big") {
131 bit_width as usize - 1 - i
132 } else {
133 i
134 };
135 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
136 }
137 }
138}
139#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)]
140#[repr(transparent)]
141pub struct __BindgenFloat16(pub u16);
142pub const IGRAPH_VERSION: &[u8; 6] = b"1.0.0\0";
143pub const IGRAPH_VERSION_MAJOR: u32 = 1;
144pub const IGRAPH_VERSION_MINOR: u32 = 0;
145pub const IGRAPH_VERSION_PATCH: u32 = 0;
146pub const IGRAPH_VERSION_PRERELEASE: &[u8; 19] = b"cmake-experimental\0";
147pub const __WORDSIZE: u32 = 64;
148pub const __has_safe_buffers: u32 = 1;
149pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
150pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
151pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
152pub const __DARWIN_UNIX03: u32 = 1;
153pub const __DARWIN_64_BIT_INO_T: u32 = 1;
154pub const __DARWIN_VERS_1050: u32 = 1;
155pub const __DARWIN_NON_CANCELABLE: u32 = 0;
156pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
157pub const __DARWIN_C_ANSI: u32 = 4096;
158pub const __DARWIN_C_FULL: u32 = 900000;
159pub const __DARWIN_C_LEVEL: u32 = 900000;
160pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
161pub const __DARWIN_NO_LONG_LONG: u32 = 0;
162pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
163pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
164pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
165pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
166pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
167pub const __has_ptrcheck: u32 = 0;
168pub const USE_CLANG_TYPES: u32 = 0;
169pub const __PTHREAD_SIZE__: u32 = 8176;
170pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
171pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
172pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
173pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
174pub const __PTHREAD_COND_SIZE__: u32 = 40;
175pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
176pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
177pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
178pub const INT8_MAX: u32 = 127;
179pub const INT16_MAX: u32 = 32767;
180pub const INT32_MAX: u32 = 2147483647;
181pub const INT64_MAX: u64 = 9223372036854775807;
182pub const INT8_MIN: i32 = -128;
183pub const INT16_MIN: i32 = -32768;
184pub const INT32_MIN: i32 = -2147483648;
185pub const INT64_MIN: i64 = -9223372036854775808;
186pub const UINT8_MAX: u32 = 255;
187pub const UINT16_MAX: u32 = 65535;
188pub const UINT32_MAX: u32 = 4294967295;
189pub const UINT64_MAX: i32 = -1;
190pub const INT_LEAST8_MIN: i32 = -128;
191pub const INT_LEAST16_MIN: i32 = -32768;
192pub const INT_LEAST32_MIN: i32 = -2147483648;
193pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
194pub const INT_LEAST8_MAX: u32 = 127;
195pub const INT_LEAST16_MAX: u32 = 32767;
196pub const INT_LEAST32_MAX: u32 = 2147483647;
197pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
198pub const UINT_LEAST8_MAX: u32 = 255;
199pub const UINT_LEAST16_MAX: u32 = 65535;
200pub const UINT_LEAST32_MAX: u32 = 4294967295;
201pub const UINT_LEAST64_MAX: i32 = -1;
202pub const INT_FAST8_MIN: i32 = -128;
203pub const INT_FAST16_MIN: i32 = -32768;
204pub const INT_FAST32_MIN: i32 = -2147483648;
205pub const INT_FAST64_MIN: i64 = -9223372036854775808;
206pub const INT_FAST8_MAX: u32 = 127;
207pub const INT_FAST16_MAX: u32 = 32767;
208pub const INT_FAST32_MAX: u32 = 2147483647;
209pub const INT_FAST64_MAX: u64 = 9223372036854775807;
210pub const UINT_FAST8_MAX: u32 = 255;
211pub const UINT_FAST16_MAX: u32 = 65535;
212pub const UINT_FAST32_MAX: u32 = 4294967295;
213pub const UINT_FAST64_MAX: i32 = -1;
214pub const INTPTR_MAX: u64 = 9223372036854775807;
215pub const INTPTR_MIN: i64 = -9223372036854775808;
216pub const UINTPTR_MAX: i32 = -1;
217pub const SIZE_MAX: i32 = -1;
218pub const RSIZE_MAX: i32 = -1;
219pub const WINT_MIN: i32 = -2147483648;
220pub const WINT_MAX: u32 = 2147483647;
221pub const SIG_ATOMIC_MIN: i32 = -2147483648;
222pub const SIG_ATOMIC_MAX: u32 = 2147483647;
223pub const __API_TO_BE_DEPRECATED: u32 = 100000;
224pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
225pub const __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION: u32 = 100000;
226pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
227pub const __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION: u32 = 100000;
228pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
229pub const __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION: u32 = 100000;
230pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
231pub const __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION: u32 = 100000;
232pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
233pub const __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION: u32 = 100000;
234pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
235pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
236pub const __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION: u32 = 100000;
237pub const __API_TO_BE_DEPRECATED_KERNELKIT: u32 = 100000;
238pub const __MAC_10_0: u32 = 1000;
239pub const __MAC_10_1: u32 = 1010;
240pub const __MAC_10_2: u32 = 1020;
241pub const __MAC_10_3: u32 = 1030;
242pub const __MAC_10_4: u32 = 1040;
243pub const __MAC_10_5: u32 = 1050;
244pub const __MAC_10_6: u32 = 1060;
245pub const __MAC_10_7: u32 = 1070;
246pub const __MAC_10_8: u32 = 1080;
247pub const __MAC_10_9: u32 = 1090;
248pub const __MAC_10_10: u32 = 101000;
249pub const __MAC_10_10_2: u32 = 101002;
250pub const __MAC_10_10_3: u32 = 101003;
251pub const __MAC_10_11: u32 = 101100;
252pub const __MAC_10_11_2: u32 = 101102;
253pub const __MAC_10_11_3: u32 = 101103;
254pub const __MAC_10_11_4: u32 = 101104;
255pub const __MAC_10_12: u32 = 101200;
256pub const __MAC_10_12_1: u32 = 101201;
257pub const __MAC_10_12_2: u32 = 101202;
258pub const __MAC_10_12_4: u32 = 101204;
259pub const __MAC_10_13: u32 = 101300;
260pub const __MAC_10_13_1: u32 = 101301;
261pub const __MAC_10_13_2: u32 = 101302;
262pub const __MAC_10_13_4: u32 = 101304;
263pub const __MAC_10_14: u32 = 101400;
264pub const __MAC_10_14_1: u32 = 101401;
265pub const __MAC_10_14_4: u32 = 101404;
266pub const __MAC_10_14_5: u32 = 101405;
267pub const __MAC_10_14_6: u32 = 101406;
268pub const __MAC_10_15: u32 = 101500;
269pub const __MAC_10_15_1: u32 = 101501;
270pub const __MAC_10_15_4: u32 = 101504;
271pub const __MAC_10_16: u32 = 101600;
272pub const __MAC_11_0: u32 = 110000;
273pub const __MAC_11_1: u32 = 110100;
274pub const __MAC_11_3: u32 = 110300;
275pub const __MAC_11_4: u32 = 110400;
276pub const __MAC_11_5: u32 = 110500;
277pub const __MAC_11_6: u32 = 110600;
278pub const __MAC_12_0: u32 = 120000;
279pub const __MAC_12_1: u32 = 120100;
280pub const __MAC_12_2: u32 = 120200;
281pub const __MAC_12_3: u32 = 120300;
282pub const __MAC_12_4: u32 = 120400;
283pub const __MAC_12_5: u32 = 120500;
284pub const __MAC_12_6: u32 = 120600;
285pub const __MAC_12_7: u32 = 120700;
286pub const __MAC_13_0: u32 = 130000;
287pub const __MAC_13_1: u32 = 130100;
288pub const __MAC_13_2: u32 = 130200;
289pub const __MAC_13_3: u32 = 130300;
290pub const __MAC_13_4: u32 = 130400;
291pub const __MAC_13_5: u32 = 130500;
292pub const __MAC_13_6: u32 = 130600;
293pub const __MAC_13_7: u32 = 130700;
294pub const __MAC_14_0: u32 = 140000;
295pub const __MAC_14_1: u32 = 140100;
296pub const __MAC_14_2: u32 = 140200;
297pub const __MAC_14_3: u32 = 140300;
298pub const __MAC_14_4: u32 = 140400;
299pub const __MAC_14_5: u32 = 140500;
300pub const __MAC_14_6: u32 = 140600;
301pub const __MAC_14_7: u32 = 140700;
302pub const __MAC_15_0: u32 = 150000;
303pub const __MAC_15_1: u32 = 150100;
304pub const __MAC_15_2: u32 = 150200;
305pub const __MAC_15_3: u32 = 150300;
306pub const __MAC_15_4: u32 = 150400;
307pub const __MAC_15_5: u32 = 150500;
308pub const __MAC_15_6: u32 = 150600;
309pub const __MAC_16_0: u32 = 160000;
310pub const __MAC_26_0: u32 = 260000;
311pub const __MAC_26_1: u32 = 260100;
312pub const __MAC_26_2: u32 = 260200;
313pub const __IPHONE_2_0: u32 = 20000;
314pub const __IPHONE_2_1: u32 = 20100;
315pub const __IPHONE_2_2: u32 = 20200;
316pub const __IPHONE_3_0: u32 = 30000;
317pub const __IPHONE_3_1: u32 = 30100;
318pub const __IPHONE_3_2: u32 = 30200;
319pub const __IPHONE_4_0: u32 = 40000;
320pub const __IPHONE_4_1: u32 = 40100;
321pub const __IPHONE_4_2: u32 = 40200;
322pub const __IPHONE_4_3: u32 = 40300;
323pub const __IPHONE_5_0: u32 = 50000;
324pub const __IPHONE_5_1: u32 = 50100;
325pub const __IPHONE_6_0: u32 = 60000;
326pub const __IPHONE_6_1: u32 = 60100;
327pub const __IPHONE_7_0: u32 = 70000;
328pub const __IPHONE_7_1: u32 = 70100;
329pub const __IPHONE_8_0: u32 = 80000;
330pub const __IPHONE_8_1: u32 = 80100;
331pub const __IPHONE_8_2: u32 = 80200;
332pub const __IPHONE_8_3: u32 = 80300;
333pub const __IPHONE_8_4: u32 = 80400;
334pub const __IPHONE_9_0: u32 = 90000;
335pub const __IPHONE_9_1: u32 = 90100;
336pub const __IPHONE_9_2: u32 = 90200;
337pub const __IPHONE_9_3: u32 = 90300;
338pub const __IPHONE_10_0: u32 = 100000;
339pub const __IPHONE_10_1: u32 = 100100;
340pub const __IPHONE_10_2: u32 = 100200;
341pub const __IPHONE_10_3: u32 = 100300;
342pub const __IPHONE_11_0: u32 = 110000;
343pub const __IPHONE_11_1: u32 = 110100;
344pub const __IPHONE_11_2: u32 = 110200;
345pub const __IPHONE_11_3: u32 = 110300;
346pub const __IPHONE_11_4: u32 = 110400;
347pub const __IPHONE_12_0: u32 = 120000;
348pub const __IPHONE_12_1: u32 = 120100;
349pub const __IPHONE_12_2: u32 = 120200;
350pub const __IPHONE_12_3: u32 = 120300;
351pub const __IPHONE_12_4: u32 = 120400;
352pub const __IPHONE_13_0: u32 = 130000;
353pub const __IPHONE_13_1: u32 = 130100;
354pub const __IPHONE_13_2: u32 = 130200;
355pub const __IPHONE_13_3: u32 = 130300;
356pub const __IPHONE_13_4: u32 = 130400;
357pub const __IPHONE_13_5: u32 = 130500;
358pub const __IPHONE_13_6: u32 = 130600;
359pub const __IPHONE_13_7: u32 = 130700;
360pub const __IPHONE_14_0: u32 = 140000;
361pub const __IPHONE_14_1: u32 = 140100;
362pub const __IPHONE_14_2: u32 = 140200;
363pub const __IPHONE_14_3: u32 = 140300;
364pub const __IPHONE_14_5: u32 = 140500;
365pub const __IPHONE_14_6: u32 = 140600;
366pub const __IPHONE_14_7: u32 = 140700;
367pub const __IPHONE_14_8: u32 = 140800;
368pub const __IPHONE_15_0: u32 = 150000;
369pub const __IPHONE_15_1: u32 = 150100;
370pub const __IPHONE_15_2: u32 = 150200;
371pub const __IPHONE_15_3: u32 = 150300;
372pub const __IPHONE_15_4: u32 = 150400;
373pub const __IPHONE_15_5: u32 = 150500;
374pub const __IPHONE_15_6: u32 = 150600;
375pub const __IPHONE_15_7: u32 = 150700;
376pub const __IPHONE_15_8: u32 = 150800;
377pub const __IPHONE_16_0: u32 = 160000;
378pub const __IPHONE_16_1: u32 = 160100;
379pub const __IPHONE_16_2: u32 = 160200;
380pub const __IPHONE_16_3: u32 = 160300;
381pub const __IPHONE_16_4: u32 = 160400;
382pub const __IPHONE_16_5: u32 = 160500;
383pub const __IPHONE_16_6: u32 = 160600;
384pub const __IPHONE_16_7: u32 = 160700;
385pub const __IPHONE_17_0: u32 = 170000;
386pub const __IPHONE_17_1: u32 = 170100;
387pub const __IPHONE_17_2: u32 = 170200;
388pub const __IPHONE_17_3: u32 = 170300;
389pub const __IPHONE_17_4: u32 = 170400;
390pub const __IPHONE_17_5: u32 = 170500;
391pub const __IPHONE_17_6: u32 = 170600;
392pub const __IPHONE_17_7: u32 = 170700;
393pub const __IPHONE_18_0: u32 = 180000;
394pub const __IPHONE_18_1: u32 = 180100;
395pub const __IPHONE_18_2: u32 = 180200;
396pub const __IPHONE_18_3: u32 = 180300;
397pub const __IPHONE_18_4: u32 = 180400;
398pub const __IPHONE_18_5: u32 = 180500;
399pub const __IPHONE_18_6: u32 = 180600;
400pub const __IPHONE_19_0: u32 = 190000;
401pub const __IPHONE_26_0: u32 = 260000;
402pub const __IPHONE_26_1: u32 = 260100;
403pub const __IPHONE_26_2: u32 = 260200;
404pub const __WATCHOS_1_0: u32 = 10000;
405pub const __WATCHOS_2_0: u32 = 20000;
406pub const __WATCHOS_2_1: u32 = 20100;
407pub const __WATCHOS_2_2: u32 = 20200;
408pub const __WATCHOS_3_0: u32 = 30000;
409pub const __WATCHOS_3_1: u32 = 30100;
410pub const __WATCHOS_3_1_1: u32 = 30101;
411pub const __WATCHOS_3_2: u32 = 30200;
412pub const __WATCHOS_4_0: u32 = 40000;
413pub const __WATCHOS_4_1: u32 = 40100;
414pub const __WATCHOS_4_2: u32 = 40200;
415pub const __WATCHOS_4_3: u32 = 40300;
416pub const __WATCHOS_5_0: u32 = 50000;
417pub const __WATCHOS_5_1: u32 = 50100;
418pub const __WATCHOS_5_2: u32 = 50200;
419pub const __WATCHOS_5_3: u32 = 50300;
420pub const __WATCHOS_6_0: u32 = 60000;
421pub const __WATCHOS_6_1: u32 = 60100;
422pub const __WATCHOS_6_2: u32 = 60200;
423pub const __WATCHOS_7_0: u32 = 70000;
424pub const __WATCHOS_7_1: u32 = 70100;
425pub const __WATCHOS_7_2: u32 = 70200;
426pub const __WATCHOS_7_3: u32 = 70300;
427pub const __WATCHOS_7_4: u32 = 70400;
428pub const __WATCHOS_7_5: u32 = 70500;
429pub const __WATCHOS_7_6: u32 = 70600;
430pub const __WATCHOS_8_0: u32 = 80000;
431pub const __WATCHOS_8_1: u32 = 80100;
432pub const __WATCHOS_8_3: u32 = 80300;
433pub const __WATCHOS_8_4: u32 = 80400;
434pub const __WATCHOS_8_5: u32 = 80500;
435pub const __WATCHOS_8_6: u32 = 80600;
436pub const __WATCHOS_8_7: u32 = 80700;
437pub const __WATCHOS_8_8: u32 = 80800;
438pub const __WATCHOS_9_0: u32 = 90000;
439pub const __WATCHOS_9_1: u32 = 90100;
440pub const __WATCHOS_9_2: u32 = 90200;
441pub const __WATCHOS_9_3: u32 = 90300;
442pub const __WATCHOS_9_4: u32 = 90400;
443pub const __WATCHOS_9_5: u32 = 90500;
444pub const __WATCHOS_9_6: u32 = 90600;
445pub const __WATCHOS_10_0: u32 = 100000;
446pub const __WATCHOS_10_1: u32 = 100100;
447pub const __WATCHOS_10_2: u32 = 100200;
448pub const __WATCHOS_10_3: u32 = 100300;
449pub const __WATCHOS_10_4: u32 = 100400;
450pub const __WATCHOS_10_5: u32 = 100500;
451pub const __WATCHOS_10_6: u32 = 100600;
452pub const __WATCHOS_10_7: u32 = 100700;
453pub const __WATCHOS_11_0: u32 = 110000;
454pub const __WATCHOS_11_1: u32 = 110100;
455pub const __WATCHOS_11_2: u32 = 110200;
456pub const __WATCHOS_11_3: u32 = 110300;
457pub const __WATCHOS_11_4: u32 = 110400;
458pub const __WATCHOS_11_5: u32 = 110500;
459pub const __WATCHOS_11_6: u32 = 110600;
460pub const __WATCHOS_12_0: u32 = 120000;
461pub const __WATCHOS_26_0: u32 = 260000;
462pub const __WATCHOS_26_1: u32 = 260100;
463pub const __WATCHOS_26_2: u32 = 260200;
464pub const __TVOS_9_0: u32 = 90000;
465pub const __TVOS_9_1: u32 = 90100;
466pub const __TVOS_9_2: u32 = 90200;
467pub const __TVOS_10_0: u32 = 100000;
468pub const __TVOS_10_0_1: u32 = 100001;
469pub const __TVOS_10_1: u32 = 100100;
470pub const __TVOS_10_2: u32 = 100200;
471pub const __TVOS_11_0: u32 = 110000;
472pub const __TVOS_11_1: u32 = 110100;
473pub const __TVOS_11_2: u32 = 110200;
474pub const __TVOS_11_3: u32 = 110300;
475pub const __TVOS_11_4: u32 = 110400;
476pub const __TVOS_12_0: u32 = 120000;
477pub const __TVOS_12_1: u32 = 120100;
478pub const __TVOS_12_2: u32 = 120200;
479pub const __TVOS_12_3: u32 = 120300;
480pub const __TVOS_12_4: u32 = 120400;
481pub const __TVOS_13_0: u32 = 130000;
482pub const __TVOS_13_2: u32 = 130200;
483pub const __TVOS_13_3: u32 = 130300;
484pub const __TVOS_13_4: u32 = 130400;
485pub const __TVOS_14_0: u32 = 140000;
486pub const __TVOS_14_1: u32 = 140100;
487pub const __TVOS_14_2: u32 = 140200;
488pub const __TVOS_14_3: u32 = 140300;
489pub const __TVOS_14_5: u32 = 140500;
490pub const __TVOS_14_6: u32 = 140600;
491pub const __TVOS_14_7: u32 = 140700;
492pub const __TVOS_15_0: u32 = 150000;
493pub const __TVOS_15_1: u32 = 150100;
494pub const __TVOS_15_2: u32 = 150200;
495pub const __TVOS_15_3: u32 = 150300;
496pub const __TVOS_15_4: u32 = 150400;
497pub const __TVOS_15_5: u32 = 150500;
498pub const __TVOS_15_6: u32 = 150600;
499pub const __TVOS_16_0: u32 = 160000;
500pub const __TVOS_16_1: u32 = 160100;
501pub const __TVOS_16_2: u32 = 160200;
502pub const __TVOS_16_3: u32 = 160300;
503pub const __TVOS_16_4: u32 = 160400;
504pub const __TVOS_16_5: u32 = 160500;
505pub const __TVOS_16_6: u32 = 160600;
506pub const __TVOS_17_0: u32 = 170000;
507pub const __TVOS_17_1: u32 = 170100;
508pub const __TVOS_17_2: u32 = 170200;
509pub const __TVOS_17_3: u32 = 170300;
510pub const __TVOS_17_4: u32 = 170400;
511pub const __TVOS_17_5: u32 = 170500;
512pub const __TVOS_17_6: u32 = 170600;
513pub const __TVOS_18_0: u32 = 180000;
514pub const __TVOS_18_1: u32 = 180100;
515pub const __TVOS_18_2: u32 = 180200;
516pub const __TVOS_18_3: u32 = 180300;
517pub const __TVOS_18_4: u32 = 180400;
518pub const __TVOS_18_5: u32 = 180500;
519pub const __TVOS_18_6: u32 = 180600;
520pub const __TVOS_19_0: u32 = 190000;
521pub const __TVOS_26_0: u32 = 260000;
522pub const __TVOS_26_1: u32 = 260100;
523pub const __TVOS_26_2: u32 = 260200;
524pub const __BRIDGEOS_2_0: u32 = 20000;
525pub const __BRIDGEOS_3_0: u32 = 30000;
526pub const __BRIDGEOS_3_1: u32 = 30100;
527pub const __BRIDGEOS_3_4: u32 = 30400;
528pub const __BRIDGEOS_4_0: u32 = 40000;
529pub const __BRIDGEOS_4_1: u32 = 40100;
530pub const __BRIDGEOS_5_0: u32 = 50000;
531pub const __BRIDGEOS_5_1: u32 = 50100;
532pub const __BRIDGEOS_5_3: u32 = 50300;
533pub const __BRIDGEOS_6_0: u32 = 60000;
534pub const __BRIDGEOS_6_2: u32 = 60200;
535pub const __BRIDGEOS_6_4: u32 = 60400;
536pub const __BRIDGEOS_6_5: u32 = 60500;
537pub const __BRIDGEOS_6_6: u32 = 60600;
538pub const __BRIDGEOS_7_0: u32 = 70000;
539pub const __BRIDGEOS_7_1: u32 = 70100;
540pub const __BRIDGEOS_7_2: u32 = 70200;
541pub const __BRIDGEOS_7_3: u32 = 70300;
542pub const __BRIDGEOS_7_4: u32 = 70400;
543pub const __BRIDGEOS_7_6: u32 = 70600;
544pub const __BRIDGEOS_8_0: u32 = 80000;
545pub const __BRIDGEOS_8_1: u32 = 80100;
546pub const __BRIDGEOS_8_2: u32 = 80200;
547pub const __BRIDGEOS_8_3: u32 = 80300;
548pub const __BRIDGEOS_8_4: u32 = 80400;
549pub const __BRIDGEOS_8_5: u32 = 80500;
550pub const __BRIDGEOS_8_6: u32 = 80600;
551pub const __BRIDGEOS_9_0: u32 = 90000;
552pub const __BRIDGEOS_9_1: u32 = 90100;
553pub const __BRIDGEOS_9_2: u32 = 90200;
554pub const __BRIDGEOS_9_3: u32 = 90300;
555pub const __BRIDGEOS_9_4: u32 = 90400;
556pub const __BRIDGEOS_9_5: u32 = 90500;
557pub const __BRIDGEOS_9_6: u32 = 90600;
558pub const __BRIDGEOS_10_0: u32 = 100000;
559pub const __BRIDGEOS_10_1: u32 = 100100;
560pub const __BRIDGEOS_10_2: u32 = 100200;
561pub const __DRIVERKIT_19_0: u32 = 190000;
562pub const __DRIVERKIT_20_0: u32 = 200000;
563pub const __DRIVERKIT_21_0: u32 = 210000;
564pub const __DRIVERKIT_22_0: u32 = 220000;
565pub const __DRIVERKIT_22_4: u32 = 220400;
566pub const __DRIVERKIT_22_5: u32 = 220500;
567pub const __DRIVERKIT_22_6: u32 = 220600;
568pub const __DRIVERKIT_23_0: u32 = 230000;
569pub const __DRIVERKIT_23_1: u32 = 230100;
570pub const __DRIVERKIT_23_2: u32 = 230200;
571pub const __DRIVERKIT_23_3: u32 = 230300;
572pub const __DRIVERKIT_23_4: u32 = 230400;
573pub const __DRIVERKIT_23_5: u32 = 230500;
574pub const __DRIVERKIT_23_6: u32 = 230600;
575pub const __DRIVERKIT_24_0: u32 = 240000;
576pub const __DRIVERKIT_24_1: u32 = 240100;
577pub const __DRIVERKIT_24_2: u32 = 240200;
578pub const __DRIVERKIT_24_3: u32 = 240300;
579pub const __DRIVERKIT_24_4: u32 = 240400;
580pub const __DRIVERKIT_24_5: u32 = 240500;
581pub const __DRIVERKIT_24_6: u32 = 240600;
582pub const __DRIVERKIT_25_0: u32 = 250000;
583pub const __DRIVERKIT_25_1: u32 = 250100;
584pub const __DRIVERKIT_25_2: u32 = 250200;
585pub const __VISIONOS_1_0: u32 = 10000;
586pub const __VISIONOS_1_1: u32 = 10100;
587pub const __VISIONOS_1_2: u32 = 10200;
588pub const __VISIONOS_1_3: u32 = 10300;
589pub const __VISIONOS_2_0: u32 = 20000;
590pub const __VISIONOS_2_1: u32 = 20100;
591pub const __VISIONOS_2_2: u32 = 20200;
592pub const __VISIONOS_2_3: u32 = 20300;
593pub const __VISIONOS_2_4: u32 = 20400;
594pub const __VISIONOS_2_5: u32 = 20500;
595pub const __VISIONOS_2_6: u32 = 20600;
596pub const __VISIONOS_3_0: u32 = 30000;
597pub const __VISIONOS_26_0: u32 = 260000;
598pub const __VISIONOS_26_1: u32 = 260100;
599pub const __VISIONOS_26_2: u32 = 260200;
600pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
601pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
602pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
603pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
604pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
605pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
606pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
607pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
608pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
609pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
610pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
611pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
612pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
613pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
614pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
615pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
616pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
617pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
618pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
619pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
620pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
621pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
622pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
623pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
624pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
625pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
626pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
627pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
628pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
629pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
630pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
631pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
632pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
633pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
634pub const MAC_OS_VERSION_11_0: u32 = 110000;
635pub const MAC_OS_VERSION_11_1: u32 = 110100;
636pub const MAC_OS_VERSION_11_3: u32 = 110300;
637pub const MAC_OS_VERSION_11_4: u32 = 110400;
638pub const MAC_OS_VERSION_11_5: u32 = 110500;
639pub const MAC_OS_VERSION_11_6: u32 = 110600;
640pub const MAC_OS_VERSION_12_0: u32 = 120000;
641pub const MAC_OS_VERSION_12_1: u32 = 120100;
642pub const MAC_OS_VERSION_12_2: u32 = 120200;
643pub const MAC_OS_VERSION_12_3: u32 = 120300;
644pub const MAC_OS_VERSION_12_4: u32 = 120400;
645pub const MAC_OS_VERSION_12_5: u32 = 120500;
646pub const MAC_OS_VERSION_12_6: u32 = 120600;
647pub const MAC_OS_VERSION_12_7: u32 = 120700;
648pub const MAC_OS_VERSION_13_0: u32 = 130000;
649pub const MAC_OS_VERSION_13_1: u32 = 130100;
650pub const MAC_OS_VERSION_13_2: u32 = 130200;
651pub const MAC_OS_VERSION_13_3: u32 = 130300;
652pub const MAC_OS_VERSION_13_4: u32 = 130400;
653pub const MAC_OS_VERSION_13_5: u32 = 130500;
654pub const MAC_OS_VERSION_13_6: u32 = 130600;
655pub const MAC_OS_VERSION_13_7: u32 = 130700;
656pub const MAC_OS_VERSION_14_0: u32 = 140000;
657pub const MAC_OS_VERSION_14_1: u32 = 140100;
658pub const MAC_OS_VERSION_14_2: u32 = 140200;
659pub const MAC_OS_VERSION_14_3: u32 = 140300;
660pub const MAC_OS_VERSION_14_4: u32 = 140400;
661pub const MAC_OS_VERSION_14_5: u32 = 140500;
662pub const MAC_OS_VERSION_14_6: u32 = 140600;
663pub const MAC_OS_VERSION_14_7: u32 = 140700;
664pub const MAC_OS_VERSION_15_0: u32 = 150000;
665pub const MAC_OS_VERSION_15_1: u32 = 150100;
666pub const MAC_OS_VERSION_15_2: u32 = 150200;
667pub const MAC_OS_VERSION_15_3: u32 = 150300;
668pub const MAC_OS_VERSION_15_4: u32 = 150400;
669pub const MAC_OS_VERSION_15_5: u32 = 150500;
670pub const MAC_OS_VERSION_15_6: u32 = 150600;
671pub const MAC_OS_VERSION_16_0: u32 = 160000;
672pub const MAC_OS_VERSION_26_0: u32 = 260000;
673pub const MAC_OS_VERSION_26_1: u32 = 260100;
674pub const MAC_OS_VERSION_26_2: u32 = 260200;
675pub const __AVAILABILITY_VERSIONS_VERSION_HASH: u32 = 93585900;
676pub const __AVAILABILITY_VERSIONS_VERSION_STRING: &[u8; 6] = b"Local\0";
677pub const __AVAILABILITY_FILE: &[u8; 23] = b"AvailabilityVersions.h\0";
678pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 260200;
679pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
680pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
681pub const _FORTIFY_SOURCE: u32 = 2;
682pub const __DARWIN_NSIG: u32 = 32;
683pub const NSIG: u32 = 32;
684pub const _ARM_SIGNAL_: u32 = 1;
685pub const SIGHUP: u32 = 1;
686pub const SIGINT: u32 = 2;
687pub const SIGQUIT: u32 = 3;
688pub const SIGILL: u32 = 4;
689pub const SIGTRAP: u32 = 5;
690pub const SIGABRT: u32 = 6;
691pub const SIGIOT: u32 = 6;
692pub const SIGEMT: u32 = 7;
693pub const SIGFPE: u32 = 8;
694pub const SIGKILL: u32 = 9;
695pub const SIGBUS: u32 = 10;
696pub const SIGSEGV: u32 = 11;
697pub const SIGSYS: u32 = 12;
698pub const SIGPIPE: u32 = 13;
699pub const SIGALRM: u32 = 14;
700pub const SIGTERM: u32 = 15;
701pub const SIGURG: u32 = 16;
702pub const SIGSTOP: u32 = 17;
703pub const SIGTSTP: u32 = 18;
704pub const SIGCONT: u32 = 19;
705pub const SIGCHLD: u32 = 20;
706pub const SIGTTIN: u32 = 21;
707pub const SIGTTOU: u32 = 22;
708pub const SIGIO: u32 = 23;
709pub const SIGXCPU: u32 = 24;
710pub const SIGXFSZ: u32 = 25;
711pub const SIGVTALRM: u32 = 26;
712pub const SIGPROF: u32 = 27;
713pub const SIGWINCH: u32 = 28;
714pub const SIGINFO: u32 = 29;
715pub const SIGUSR1: u32 = 30;
716pub const SIGUSR2: u32 = 31;
717pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0;
718pub const USE_CLANG_STDDEF: u32 = 0;
719pub const SIGEV_NONE: u32 = 0;
720pub const SIGEV_SIGNAL: u32 = 1;
721pub const SIGEV_THREAD: u32 = 3;
722pub const SIGEV_KEVENT: u32 = 4;
723pub const ILL_NOOP: u32 = 0;
724pub const ILL_ILLOPC: u32 = 1;
725pub const ILL_ILLTRP: u32 = 2;
726pub const ILL_PRVOPC: u32 = 3;
727pub const ILL_ILLOPN: u32 = 4;
728pub const ILL_ILLADR: u32 = 5;
729pub const ILL_PRVREG: u32 = 6;
730pub const ILL_COPROC: u32 = 7;
731pub const ILL_BADSTK: u32 = 8;
732pub const FPE_NOOP: u32 = 0;
733pub const FPE_FLTDIV: u32 = 1;
734pub const FPE_FLTOVF: u32 = 2;
735pub const FPE_FLTUND: u32 = 3;
736pub const FPE_FLTRES: u32 = 4;
737pub const FPE_FLTINV: u32 = 5;
738pub const FPE_FLTSUB: u32 = 6;
739pub const FPE_INTDIV: u32 = 7;
740pub const FPE_INTOVF: u32 = 8;
741pub const SEGV_NOOP: u32 = 0;
742pub const SEGV_MAPERR: u32 = 1;
743pub const SEGV_ACCERR: u32 = 2;
744pub const BUS_NOOP: u32 = 0;
745pub const BUS_ADRALN: u32 = 1;
746pub const BUS_ADRERR: u32 = 2;
747pub const BUS_OBJERR: u32 = 3;
748pub const TRAP_BRKPT: u32 = 1;
749pub const TRAP_TRACE: u32 = 2;
750pub const CLD_NOOP: u32 = 0;
751pub const CLD_EXITED: u32 = 1;
752pub const CLD_KILLED: u32 = 2;
753pub const CLD_DUMPED: u32 = 3;
754pub const CLD_TRAPPED: u32 = 4;
755pub const CLD_STOPPED: u32 = 5;
756pub const CLD_CONTINUED: u32 = 6;
757pub const POLL_IN: u32 = 1;
758pub const POLL_OUT: u32 = 2;
759pub const POLL_MSG: u32 = 3;
760pub const POLL_ERR: u32 = 4;
761pub const POLL_PRI: u32 = 5;
762pub const POLL_HUP: u32 = 6;
763pub const SA_ONSTACK: u32 = 1;
764pub const SA_RESTART: u32 = 2;
765pub const SA_RESETHAND: u32 = 4;
766pub const SA_NOCLDSTOP: u32 = 8;
767pub const SA_NODEFER: u32 = 16;
768pub const SA_NOCLDWAIT: u32 = 32;
769pub const SA_SIGINFO: u32 = 64;
770pub const SA_USERTRAMP: u32 = 256;
771pub const SA_64REGSET: u32 = 512;
772pub const SA_USERSPACE_MASK: u32 = 127;
773pub const SIG_BLOCK: u32 = 1;
774pub const SIG_UNBLOCK: u32 = 2;
775pub const SIG_SETMASK: u32 = 3;
776pub const SI_USER: u32 = 65537;
777pub const SI_QUEUE: u32 = 65538;
778pub const SI_TIMER: u32 = 65539;
779pub const SI_ASYNCIO: u32 = 65540;
780pub const SI_MESGQ: u32 = 65541;
781pub const SS_ONSTACK: u32 = 1;
782pub const SS_DISABLE: u32 = 4;
783pub const MINSIGSTKSZ: u32 = 32768;
784pub const SIGSTKSZ: u32 = 131072;
785pub const SV_ONSTACK: u32 = 1;
786pub const SV_INTERRUPT: u32 = 2;
787pub const SV_RESETHAND: u32 = 4;
788pub const SV_NODEFER: u32 = 16;
789pub const SV_NOCLDSTOP: u32 = 8;
790pub const SV_SIGINFO: u32 = 64;
791pub const PRIO_PROCESS: u32 = 0;
792pub const PRIO_PGRP: u32 = 1;
793pub const PRIO_USER: u32 = 2;
794pub const PRIO_DARWIN_THREAD: u32 = 3;
795pub const PRIO_DARWIN_PROCESS: u32 = 4;
796pub const PRIO_MIN: i32 = -20;
797pub const PRIO_MAX: u32 = 20;
798pub const PRIO_DARWIN_BG: u32 = 4096;
799pub const PRIO_DARWIN_NONUI: u32 = 4097;
800pub const RUSAGE_SELF: u32 = 0;
801pub const RUSAGE_CHILDREN: i32 = -1;
802pub const RUSAGE_INFO_V0: u32 = 0;
803pub const RUSAGE_INFO_V1: u32 = 1;
804pub const RUSAGE_INFO_V2: u32 = 2;
805pub const RUSAGE_INFO_V3: u32 = 3;
806pub const RUSAGE_INFO_V4: u32 = 4;
807pub const RUSAGE_INFO_V5: u32 = 5;
808pub const RUSAGE_INFO_V6: u32 = 6;
809pub const RUSAGE_INFO_CURRENT: u32 = 6;
810pub const RU_PROC_RUNS_RESLIDE: u32 = 1;
811pub const RLIMIT_CPU: u32 = 0;
812pub const RLIMIT_FSIZE: u32 = 1;
813pub const RLIMIT_DATA: u32 = 2;
814pub const RLIMIT_STACK: u32 = 3;
815pub const RLIMIT_CORE: u32 = 4;
816pub const RLIMIT_AS: u32 = 5;
817pub const RLIMIT_RSS: u32 = 5;
818pub const RLIMIT_MEMLOCK: u32 = 6;
819pub const RLIMIT_NPROC: u32 = 7;
820pub const RLIMIT_NOFILE: u32 = 8;
821pub const RLIM_NLIMITS: u32 = 9;
822pub const _RLIMIT_POSIX_FLAG: u32 = 4096;
823pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1;
824pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2;
825pub const RLIMIT_THREAD_CPULIMITS: u32 = 3;
826pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4;
827pub const WAKEMON_ENABLE: u32 = 1;
828pub const WAKEMON_DISABLE: u32 = 2;
829pub const WAKEMON_GET_PARAMS: u32 = 4;
830pub const WAKEMON_SET_DEFAULTS: u32 = 8;
831pub const WAKEMON_MAKE_FATAL: u32 = 16;
832pub const CPUMON_MAKE_FATAL: u32 = 4096;
833pub const FOOTPRINT_INTERVAL_RESET: u32 = 1;
834pub const IOPOL_TYPE_DISK: u32 = 0;
835pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2;
836pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3;
837pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4;
838pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5;
839pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6;
840pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7;
841pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8;
842pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9;
843pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10;
844pub const IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS: u32 = 14;
845pub const IOPOL_SCOPE_PROCESS: u32 = 0;
846pub const IOPOL_SCOPE_THREAD: u32 = 1;
847pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2;
848pub const IOPOL_DEFAULT: u32 = 0;
849pub const IOPOL_IMPORTANT: u32 = 1;
850pub const IOPOL_PASSIVE: u32 = 2;
851pub const IOPOL_THROTTLE: u32 = 3;
852pub const IOPOL_UTILITY: u32 = 4;
853pub const IOPOL_STANDARD: u32 = 5;
854pub const IOPOL_APPLICATION: u32 = 5;
855pub const IOPOL_NORMAL: u32 = 1;
856pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0;
857pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1;
858pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0;
859pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1;
860pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2;
861pub const IOPOL_MATERIALIZE_DATALESS_FILES_ORIG: u32 = 4;
862pub const IOPOL_MATERIALIZE_DATALESS_FILES_BASIC_MASK: u32 = 3;
863pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0;
864pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1;
865pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0;
866pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1;
867pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0;
868pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1;
869pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0;
870pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1;
871pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0;
872pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1;
873pub const IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE: u32 = 2;
874pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0;
875pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1;
876pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0;
877pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1;
878pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT: u32 = 0;
879pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON: u32 = 1;
880pub const IOPOL_VFS_ENTITLED_RESERVE_ACCESS_OFF: u32 = 0;
881pub const IOPOL_VFS_ENTITLED_RESERVE_ACCESS_ON: u32 = 1;
882pub const WNOHANG: u32 = 1;
883pub const WUNTRACED: u32 = 2;
884pub const WCOREFLAG: u32 = 128;
885pub const _WSTOPPED: u32 = 127;
886pub const WEXITED: u32 = 4;
887pub const WSTOPPED: u32 = 8;
888pub const WCONTINUED: u32 = 16;
889pub const WNOWAIT: u32 = 32;
890pub const WAIT_ANY: i32 = -1;
891pub const WAIT_MYPGRP: u32 = 0;
892pub const _QUAD_HIGHWORD: u32 = 1;
893pub const _QUAD_LOWWORD: u32 = 0;
894pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234;
895pub const __DARWIN_BIG_ENDIAN: u32 = 4321;
896pub const __DARWIN_PDP_ENDIAN: u32 = 3412;
897pub const LITTLE_ENDIAN: u32 = 1234;
898pub const BIG_ENDIAN: u32 = 4321;
899pub const PDP_ENDIAN: u32 = 3412;
900pub const __DARWIN_BYTE_ORDER: u32 = 1234;
901pub const BYTE_ORDER: u32 = 1234;
902pub const EXIT_FAILURE: u32 = 1;
903pub const EXIT_SUCCESS: u32 = 0;
904pub const RAND_MAX: u32 = 2147483647;
905pub const _MALLOC_TYPE_MALLOC_BACKDEPLOY_PUBLIC: u32 = 1;
906pub const IGRAPH_INTEGER_SIZE: u32 = 64;
907pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0";
908pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
909pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
910pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
911pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
912pub const PRId8: &[u8; 4] = b"hhd\0";
913pub const PRIi8: &[u8; 4] = b"hhi\0";
914pub const PRIo8: &[u8; 4] = b"hho\0";
915pub const PRIu8: &[u8; 4] = b"hhu\0";
916pub const PRIx8: &[u8; 4] = b"hhx\0";
917pub const PRIX8: &[u8; 4] = b"hhX\0";
918pub const PRId16: &[u8; 3] = b"hd\0";
919pub const PRIi16: &[u8; 3] = b"hi\0";
920pub const PRIo16: &[u8; 3] = b"ho\0";
921pub const PRIu16: &[u8; 3] = b"hu\0";
922pub const PRIx16: &[u8; 3] = b"hx\0";
923pub const PRIX16: &[u8; 3] = b"hX\0";
924pub const PRId32: &[u8; 2] = b"d\0";
925pub const PRIi32: &[u8; 2] = b"i\0";
926pub const PRIo32: &[u8; 2] = b"o\0";
927pub const PRIu32: &[u8; 2] = b"u\0";
928pub const PRIx32: &[u8; 2] = b"x\0";
929pub const PRIX32: &[u8; 2] = b"X\0";
930pub const PRId64: &[u8; 4] = b"lld\0";
931pub const PRIi64: &[u8; 4] = b"lli\0";
932pub const PRIo64: &[u8; 4] = b"llo\0";
933pub const PRIu64: &[u8; 4] = b"llu\0";
934pub const PRIx64: &[u8; 4] = b"llx\0";
935pub const PRIX64: &[u8; 4] = b"llX\0";
936pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
937pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
938pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
939pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
940pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
941pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
942pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
943pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
944pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
945pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
946pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
947pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
948pub const PRIdLEAST32: &[u8; 2] = b"d\0";
949pub const PRIiLEAST32: &[u8; 2] = b"i\0";
950pub const PRIoLEAST32: &[u8; 2] = b"o\0";
951pub const PRIuLEAST32: &[u8; 2] = b"u\0";
952pub const PRIxLEAST32: &[u8; 2] = b"x\0";
953pub const PRIXLEAST32: &[u8; 2] = b"X\0";
954pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
955pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
956pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
957pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
958pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
959pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
960pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
961pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
962pub const PRIoFAST8: &[u8; 4] = b"hho\0";
963pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
964pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
965pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
966pub const PRIdFAST16: &[u8; 3] = b"hd\0";
967pub const PRIiFAST16: &[u8; 3] = b"hi\0";
968pub const PRIoFAST16: &[u8; 3] = b"ho\0";
969pub const PRIuFAST16: &[u8; 3] = b"hu\0";
970pub const PRIxFAST16: &[u8; 3] = b"hx\0";
971pub const PRIXFAST16: &[u8; 3] = b"hX\0";
972pub const PRIdFAST32: &[u8; 2] = b"d\0";
973pub const PRIiFAST32: &[u8; 2] = b"i\0";
974pub const PRIoFAST32: &[u8; 2] = b"o\0";
975pub const PRIuFAST32: &[u8; 2] = b"u\0";
976pub const PRIxFAST32: &[u8; 2] = b"x\0";
977pub const PRIXFAST32: &[u8; 2] = b"X\0";
978pub const PRIdFAST64: &[u8; 4] = b"lld\0";
979pub const PRIiFAST64: &[u8; 4] = b"lli\0";
980pub const PRIoFAST64: &[u8; 4] = b"llo\0";
981pub const PRIuFAST64: &[u8; 4] = b"llu\0";
982pub const PRIxFAST64: &[u8; 4] = b"llx\0";
983pub const PRIXFAST64: &[u8; 4] = b"llX\0";
984pub const PRIdPTR: &[u8; 3] = b"ld\0";
985pub const PRIiPTR: &[u8; 3] = b"li\0";
986pub const PRIoPTR: &[u8; 3] = b"lo\0";
987pub const PRIuPTR: &[u8; 3] = b"lu\0";
988pub const PRIxPTR: &[u8; 3] = b"lx\0";
989pub const PRIXPTR: &[u8; 3] = b"lX\0";
990pub const PRIdMAX: &[u8; 3] = b"jd\0";
991pub const PRIiMAX: &[u8; 3] = b"ji\0";
992pub const PRIoMAX: &[u8; 3] = b"jo\0";
993pub const PRIuMAX: &[u8; 3] = b"ju\0";
994pub const PRIxMAX: &[u8; 3] = b"jx\0";
995pub const PRIXMAX: &[u8; 3] = b"jX\0";
996pub const SCNd8: &[u8; 4] = b"hhd\0";
997pub const SCNi8: &[u8; 4] = b"hhi\0";
998pub const SCNo8: &[u8; 4] = b"hho\0";
999pub const SCNu8: &[u8; 4] = b"hhu\0";
1000pub const SCNx8: &[u8; 4] = b"hhx\0";
1001pub const SCNd16: &[u8; 3] = b"hd\0";
1002pub const SCNi16: &[u8; 3] = b"hi\0";
1003pub const SCNo16: &[u8; 3] = b"ho\0";
1004pub const SCNu16: &[u8; 3] = b"hu\0";
1005pub const SCNx16: &[u8; 3] = b"hx\0";
1006pub const SCNd32: &[u8; 2] = b"d\0";
1007pub const SCNi32: &[u8; 2] = b"i\0";
1008pub const SCNo32: &[u8; 2] = b"o\0";
1009pub const SCNu32: &[u8; 2] = b"u\0";
1010pub const SCNx32: &[u8; 2] = b"x\0";
1011pub const SCNd64: &[u8; 4] = b"lld\0";
1012pub const SCNi64: &[u8; 4] = b"lli\0";
1013pub const SCNo64: &[u8; 4] = b"llo\0";
1014pub const SCNu64: &[u8; 4] = b"llu\0";
1015pub const SCNx64: &[u8; 4] = b"llx\0";
1016pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
1017pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
1018pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
1019pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
1020pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
1021pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
1022pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
1023pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
1024pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
1025pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
1026pub const SCNdLEAST32: &[u8; 2] = b"d\0";
1027pub const SCNiLEAST32: &[u8; 2] = b"i\0";
1028pub const SCNoLEAST32: &[u8; 2] = b"o\0";
1029pub const SCNuLEAST32: &[u8; 2] = b"u\0";
1030pub const SCNxLEAST32: &[u8; 2] = b"x\0";
1031pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
1032pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
1033pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
1034pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
1035pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
1036pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
1037pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
1038pub const SCNoFAST8: &[u8; 4] = b"hho\0";
1039pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
1040pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
1041pub const SCNdFAST16: &[u8; 3] = b"hd\0";
1042pub const SCNiFAST16: &[u8; 3] = b"hi\0";
1043pub const SCNoFAST16: &[u8; 3] = b"ho\0";
1044pub const SCNuFAST16: &[u8; 3] = b"hu\0";
1045pub const SCNxFAST16: &[u8; 3] = b"hx\0";
1046pub const SCNdFAST32: &[u8; 2] = b"d\0";
1047pub const SCNiFAST32: &[u8; 2] = b"i\0";
1048pub const SCNoFAST32: &[u8; 2] = b"o\0";
1049pub const SCNuFAST32: &[u8; 2] = b"u\0";
1050pub const SCNxFAST32: &[u8; 2] = b"x\0";
1051pub const SCNdFAST64: &[u8; 4] = b"lld\0";
1052pub const SCNiFAST64: &[u8; 4] = b"lli\0";
1053pub const SCNoFAST64: &[u8; 4] = b"llo\0";
1054pub const SCNuFAST64: &[u8; 4] = b"llu\0";
1055pub const SCNxFAST64: &[u8; 4] = b"llx\0";
1056pub const SCNdPTR: &[u8; 3] = b"ld\0";
1057pub const SCNiPTR: &[u8; 3] = b"li\0";
1058pub const SCNoPTR: &[u8; 3] = b"lo\0";
1059pub const SCNuPTR: &[u8; 3] = b"lu\0";
1060pub const SCNxPTR: &[u8; 3] = b"lx\0";
1061pub const SCNdMAX: &[u8; 3] = b"jd\0";
1062pub const SCNiMAX: &[u8; 3] = b"ji\0";
1063pub const SCNoMAX: &[u8; 3] = b"jo\0";
1064pub const SCNuMAX: &[u8; 3] = b"ju\0";
1065pub const SCNxMAX: &[u8; 3] = b"jx\0";
1066pub const FP_NAN: u32 = 1;
1067pub const FP_INFINITE: u32 = 2;
1068pub const FP_ZERO: u32 = 3;
1069pub const FP_NORMAL: u32 = 4;
1070pub const FP_SUBNORMAL: u32 = 5;
1071pub const FP_SUPERNORMAL: u32 = 6;
1072pub const FP_FAST_FMA: u32 = 1;
1073pub const FP_FAST_FMAF: u32 = 1;
1074pub const FP_FAST_FMAL: u32 = 1;
1075pub const FP_ILOGB0: i32 = -2147483648;
1076pub const FP_ILOGBNAN: i32 = -2147483648;
1077pub const MATH_ERRNO: u32 = 1;
1078pub const MATH_ERREXCEPT: u32 = 2;
1079pub const M_E: f64 = 2.718281828459045;
1080pub const M_LOG2E: f64 = 1.4426950408889634;
1081pub const M_LOG10E: f64 = 0.4342944819032518;
1082pub const M_LN2: f64 = 0.6931471805599453;
1083pub const M_LN10: f64 = 2.302585092994046;
1084pub const M_PI: f64 = 3.141592653589793;
1085pub const M_PI_2: f64 = 1.5707963267948966;
1086pub const M_PI_4: f64 = 0.7853981633974483;
1087pub const M_1_PI: f64 = 0.3183098861837907;
1088pub const M_2_PI: f64 = 0.6366197723675814;
1089pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1090pub const M_SQRT2: f64 = 1.4142135623730951;
1091pub const M_SQRT1_2: f64 = 0.7071067811865476;
1092pub const FP_SNAN: u32 = 1;
1093pub const FP_QNAN: u32 = 1;
1094pub const DOMAIN: u32 = 1;
1095pub const SING: u32 = 2;
1096pub const OVERFLOW: u32 = 3;
1097pub const UNDERFLOW: u32 = 4;
1098pub const TLOSS: u32 = 5;
1099pub const PLOSS: u32 = 6;
1100pub const __bool_true_false_are_defined: u32 = 1;
1101pub const true_: u32 = 1;
1102pub const false_: u32 = 0;
1103pub const USE_CLANG_STDARG: u32 = 0;
1104pub const RENAME_SECLUDE: u32 = 1;
1105pub const RENAME_SWAP: u32 = 2;
1106pub const RENAME_EXCL: u32 = 4;
1107pub const RENAME_RESERVED1: u32 = 8;
1108pub const RENAME_NOFOLLOW_ANY: u32 = 16;
1109pub const RENAME_RESOLVE_BENEATH: u32 = 32;
1110pub const SEEK_SET: u32 = 0;
1111pub const SEEK_CUR: u32 = 1;
1112pub const SEEK_END: u32 = 2;
1113pub const SEEK_HOLE: u32 = 3;
1114pub const SEEK_DATA: u32 = 4;
1115pub const __SLBF: u32 = 1;
1116pub const __SNBF: u32 = 2;
1117pub const __SRD: u32 = 4;
1118pub const __SWR: u32 = 8;
1119pub const __SRW: u32 = 16;
1120pub const __SEOF: u32 = 32;
1121pub const __SERR: u32 = 64;
1122pub const __SMBF: u32 = 128;
1123pub const __SAPP: u32 = 256;
1124pub const __SSTR: u32 = 512;
1125pub const __SOPT: u32 = 1024;
1126pub const __SNPT: u32 = 2048;
1127pub const __SOFF: u32 = 4096;
1128pub const __SMOD: u32 = 8192;
1129pub const __SALC: u32 = 16384;
1130pub const __SIGN: u32 = 32768;
1131pub const _IOFBF: u32 = 0;
1132pub const _IOLBF: u32 = 1;
1133pub const _IONBF: u32 = 2;
1134pub const BUFSIZ: u32 = 1024;
1135pub const EOF: i32 = -1;
1136pub const FOPEN_MAX: u32 = 20;
1137pub const FILENAME_MAX: u32 = 1024;
1138pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
1139pub const L_tmpnam: u32 = 1024;
1140pub const TMP_MAX: u32 = 308915776;
1141pub const L_ctermid: u32 = 1024;
1142pub const _USE_FORTIFY_LEVEL: u32 = 2;
1143pub const IGRAPH_PRId: &[u8; 4] = b"lld\0";
1144pub const IGRAPH_PRIu: &[u8; 4] = b"llu\0";
1145pub const IGRAPH_INTEGER_MAX: u64 = 9223372036854775807;
1146pub const IGRAPH_INTEGER_MIN: i64 = -9223372036854775808;
1147pub const IGRAPH_UINT_MAX: i32 = -1;
1148pub const IGRAPH_VCOUNT_MAX: u64 = 9223372036854775806;
1149pub const IGRAPH_ECOUNT_MAX: u64 = 4611686018427387903;
1150pub const IGRAPH_UNLIMITED: i32 = -1;
1151pub const OUT_FORMAT: &[u8; 3] = b"%g\0";
1152pub const ZERO: f64 = 0.0;
1153pub const ONE: f64 = 1.0;
1154pub const MULTIPLICITY: u32 = 1;
1155pub const NOTORDERED: u32 = 1;
1156pub const NOABS: u32 = 1;
1157pub const IGRAPH_SHORTEST_PATH_EPSILON: f64 = 0.0000000001;
1158pub const IGRAPH_THREAD_SAFE: u32 = 1;
1159unsafe extern "C" {
1160 pub fn igraph_version(
1161 version_string: *mut *const ::std::os::raw::c_char,
1162 major: *mut ::std::os::raw::c_int,
1163 minor: *mut ::std::os::raw::c_int,
1164 patch: *mut ::std::os::raw::c_int,
1165 );
1166}
1167pub type int_least8_t = i8;
1168pub type int_least16_t = i16;
1169pub type int_least32_t = i32;
1170pub type int_least64_t = i64;
1171pub type uint_least8_t = u8;
1172pub type uint_least16_t = u16;
1173pub type uint_least32_t = u32;
1174pub type uint_least64_t = u64;
1175pub type int_fast8_t = i8;
1176pub type int_fast16_t = i16;
1177pub type int_fast32_t = i32;
1178pub type int_fast64_t = i64;
1179pub type uint_fast8_t = u8;
1180pub type uint_fast16_t = u16;
1181pub type uint_fast32_t = u32;
1182pub type uint_fast64_t = u64;
1183pub type __int8_t = ::std::os::raw::c_schar;
1184pub type __uint8_t = ::std::os::raw::c_uchar;
1185pub type __int16_t = ::std::os::raw::c_short;
1186pub type __uint16_t = ::std::os::raw::c_ushort;
1187pub type __int32_t = ::std::os::raw::c_int;
1188pub type __uint32_t = ::std::os::raw::c_uint;
1189pub type __int64_t = ::std::os::raw::c_longlong;
1190pub type __uint64_t = ::std::os::raw::c_ulonglong;
1191pub type __darwin_intptr_t = ::std::os::raw::c_long;
1192pub type __darwin_natural_t = ::std::os::raw::c_uint;
1193pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
1194#[repr(C)]
1195#[derive(Copy, Clone)]
1196pub union __mbstate_t {
1197 pub __mbstate8: [::std::os::raw::c_char; 128usize],
1198 pub _mbstateL: ::std::os::raw::c_longlong,
1199}
1200#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1201const _: () = {
1202 ["Size of __mbstate_t"][::std::mem::size_of::<__mbstate_t>() - 128usize];
1203 ["Alignment of __mbstate_t"][::std::mem::align_of::<__mbstate_t>() - 8usize];
1204 ["Offset of field: __mbstate_t::__mbstate8"]
1205 [::std::mem::offset_of!(__mbstate_t, __mbstate8) - 0usize];
1206 ["Offset of field: __mbstate_t::_mbstateL"]
1207 [::std::mem::offset_of!(__mbstate_t, _mbstateL) - 0usize];
1208};
1209pub type __darwin_mbstate_t = __mbstate_t;
1210pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
1211pub type __darwin_size_t = ::std::os::raw::c_ulong;
1212pub type __darwin_va_list = __builtin_va_list;
1213pub type __darwin_wchar_t = ::std::os::raw::c_int;
1214pub type __darwin_rune_t = __darwin_wchar_t;
1215pub type __darwin_wint_t = ::std::os::raw::c_int;
1216pub type __darwin_clock_t = ::std::os::raw::c_ulong;
1217pub type __darwin_socklen_t = __uint32_t;
1218pub type __darwin_ssize_t = ::std::os::raw::c_long;
1219pub type __darwin_time_t = ::std::os::raw::c_long;
1220pub type __darwin_blkcnt_t = __int64_t;
1221pub type __darwin_blksize_t = __int32_t;
1222pub type __darwin_dev_t = __int32_t;
1223pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
1224pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
1225pub type __darwin_gid_t = __uint32_t;
1226pub type __darwin_id_t = __uint32_t;
1227pub type __darwin_ino64_t = __uint64_t;
1228pub type __darwin_ino_t = __darwin_ino64_t;
1229pub type __darwin_mach_port_name_t = __darwin_natural_t;
1230pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
1231pub type __darwin_mode_t = __uint16_t;
1232pub type __darwin_off_t = __int64_t;
1233pub type __darwin_pid_t = __int32_t;
1234pub type __darwin_sigset_t = __uint32_t;
1235pub type __darwin_suseconds_t = __int32_t;
1236pub type __darwin_uid_t = __uint32_t;
1237pub type __darwin_useconds_t = __uint32_t;
1238pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
1239pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
1240#[repr(C)]
1241#[derive(Debug, Copy, Clone)]
1242pub struct __darwin_pthread_handler_rec {
1243 pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
1244 pub __arg: *mut ::std::os::raw::c_void,
1245 pub __next: *mut __darwin_pthread_handler_rec,
1246}
1247#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1248const _: () = {
1249 ["Size of __darwin_pthread_handler_rec"]
1250 [::std::mem::size_of::<__darwin_pthread_handler_rec>() - 24usize];
1251 ["Alignment of __darwin_pthread_handler_rec"]
1252 [::std::mem::align_of::<__darwin_pthread_handler_rec>() - 8usize];
1253 ["Offset of field: __darwin_pthread_handler_rec::__routine"]
1254 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __routine) - 0usize];
1255 ["Offset of field: __darwin_pthread_handler_rec::__arg"]
1256 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __arg) - 8usize];
1257 ["Offset of field: __darwin_pthread_handler_rec::__next"]
1258 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __next) - 16usize];
1259};
1260#[repr(C)]
1261#[derive(Debug, Copy, Clone)]
1262pub struct _opaque_pthread_attr_t {
1263 pub __sig: ::std::os::raw::c_long,
1264 pub __opaque: [::std::os::raw::c_char; 56usize],
1265}
1266#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1267const _: () = {
1268 ["Size of _opaque_pthread_attr_t"][::std::mem::size_of::<_opaque_pthread_attr_t>() - 64usize];
1269 ["Alignment of _opaque_pthread_attr_t"]
1270 [::std::mem::align_of::<_opaque_pthread_attr_t>() - 8usize];
1271 ["Offset of field: _opaque_pthread_attr_t::__sig"]
1272 [::std::mem::offset_of!(_opaque_pthread_attr_t, __sig) - 0usize];
1273 ["Offset of field: _opaque_pthread_attr_t::__opaque"]
1274 [::std::mem::offset_of!(_opaque_pthread_attr_t, __opaque) - 8usize];
1275};
1276#[repr(C)]
1277#[derive(Debug, Copy, Clone)]
1278pub struct _opaque_pthread_cond_t {
1279 pub __sig: ::std::os::raw::c_long,
1280 pub __opaque: [::std::os::raw::c_char; 40usize],
1281}
1282#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1283const _: () = {
1284 ["Size of _opaque_pthread_cond_t"][::std::mem::size_of::<_opaque_pthread_cond_t>() - 48usize];
1285 ["Alignment of _opaque_pthread_cond_t"]
1286 [::std::mem::align_of::<_opaque_pthread_cond_t>() - 8usize];
1287 ["Offset of field: _opaque_pthread_cond_t::__sig"]
1288 [::std::mem::offset_of!(_opaque_pthread_cond_t, __sig) - 0usize];
1289 ["Offset of field: _opaque_pthread_cond_t::__opaque"]
1290 [::std::mem::offset_of!(_opaque_pthread_cond_t, __opaque) - 8usize];
1291};
1292#[repr(C)]
1293#[derive(Debug, Copy, Clone)]
1294pub struct _opaque_pthread_condattr_t {
1295 pub __sig: ::std::os::raw::c_long,
1296 pub __opaque: [::std::os::raw::c_char; 8usize],
1297}
1298#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1299const _: () = {
1300 ["Size of _opaque_pthread_condattr_t"]
1301 [::std::mem::size_of::<_opaque_pthread_condattr_t>() - 16usize];
1302 ["Alignment of _opaque_pthread_condattr_t"]
1303 [::std::mem::align_of::<_opaque_pthread_condattr_t>() - 8usize];
1304 ["Offset of field: _opaque_pthread_condattr_t::__sig"]
1305 [::std::mem::offset_of!(_opaque_pthread_condattr_t, __sig) - 0usize];
1306 ["Offset of field: _opaque_pthread_condattr_t::__opaque"]
1307 [::std::mem::offset_of!(_opaque_pthread_condattr_t, __opaque) - 8usize];
1308};
1309#[repr(C)]
1310#[derive(Debug, Copy, Clone)]
1311pub struct _opaque_pthread_mutex_t {
1312 pub __sig: ::std::os::raw::c_long,
1313 pub __opaque: [::std::os::raw::c_char; 56usize],
1314}
1315#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1316const _: () = {
1317 ["Size of _opaque_pthread_mutex_t"][::std::mem::size_of::<_opaque_pthread_mutex_t>() - 64usize];
1318 ["Alignment of _opaque_pthread_mutex_t"]
1319 [::std::mem::align_of::<_opaque_pthread_mutex_t>() - 8usize];
1320 ["Offset of field: _opaque_pthread_mutex_t::__sig"]
1321 [::std::mem::offset_of!(_opaque_pthread_mutex_t, __sig) - 0usize];
1322 ["Offset of field: _opaque_pthread_mutex_t::__opaque"]
1323 [::std::mem::offset_of!(_opaque_pthread_mutex_t, __opaque) - 8usize];
1324};
1325#[repr(C)]
1326#[derive(Debug, Copy, Clone)]
1327pub struct _opaque_pthread_mutexattr_t {
1328 pub __sig: ::std::os::raw::c_long,
1329 pub __opaque: [::std::os::raw::c_char; 8usize],
1330}
1331#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1332const _: () = {
1333 ["Size of _opaque_pthread_mutexattr_t"]
1334 [::std::mem::size_of::<_opaque_pthread_mutexattr_t>() - 16usize];
1335 ["Alignment of _opaque_pthread_mutexattr_t"]
1336 [::std::mem::align_of::<_opaque_pthread_mutexattr_t>() - 8usize];
1337 ["Offset of field: _opaque_pthread_mutexattr_t::__sig"]
1338 [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __sig) - 0usize];
1339 ["Offset of field: _opaque_pthread_mutexattr_t::__opaque"]
1340 [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __opaque) - 8usize];
1341};
1342#[repr(C)]
1343#[derive(Debug, Copy, Clone)]
1344pub struct _opaque_pthread_once_t {
1345 pub __sig: ::std::os::raw::c_long,
1346 pub __opaque: [::std::os::raw::c_char; 8usize],
1347}
1348#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1349const _: () = {
1350 ["Size of _opaque_pthread_once_t"][::std::mem::size_of::<_opaque_pthread_once_t>() - 16usize];
1351 ["Alignment of _opaque_pthread_once_t"]
1352 [::std::mem::align_of::<_opaque_pthread_once_t>() - 8usize];
1353 ["Offset of field: _opaque_pthread_once_t::__sig"]
1354 [::std::mem::offset_of!(_opaque_pthread_once_t, __sig) - 0usize];
1355 ["Offset of field: _opaque_pthread_once_t::__opaque"]
1356 [::std::mem::offset_of!(_opaque_pthread_once_t, __opaque) - 8usize];
1357};
1358#[repr(C)]
1359#[derive(Debug, Copy, Clone)]
1360pub struct _opaque_pthread_rwlock_t {
1361 pub __sig: ::std::os::raw::c_long,
1362 pub __opaque: [::std::os::raw::c_char; 192usize],
1363}
1364#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1365const _: () = {
1366 ["Size of _opaque_pthread_rwlock_t"]
1367 [::std::mem::size_of::<_opaque_pthread_rwlock_t>() - 200usize];
1368 ["Alignment of _opaque_pthread_rwlock_t"]
1369 [::std::mem::align_of::<_opaque_pthread_rwlock_t>() - 8usize];
1370 ["Offset of field: _opaque_pthread_rwlock_t::__sig"]
1371 [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __sig) - 0usize];
1372 ["Offset of field: _opaque_pthread_rwlock_t::__opaque"]
1373 [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __opaque) - 8usize];
1374};
1375#[repr(C)]
1376#[derive(Debug, Copy, Clone)]
1377pub struct _opaque_pthread_rwlockattr_t {
1378 pub __sig: ::std::os::raw::c_long,
1379 pub __opaque: [::std::os::raw::c_char; 16usize],
1380}
1381#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1382const _: () = {
1383 ["Size of _opaque_pthread_rwlockattr_t"]
1384 [::std::mem::size_of::<_opaque_pthread_rwlockattr_t>() - 24usize];
1385 ["Alignment of _opaque_pthread_rwlockattr_t"]
1386 [::std::mem::align_of::<_opaque_pthread_rwlockattr_t>() - 8usize];
1387 ["Offset of field: _opaque_pthread_rwlockattr_t::__sig"]
1388 [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __sig) - 0usize];
1389 ["Offset of field: _opaque_pthread_rwlockattr_t::__opaque"]
1390 [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __opaque) - 8usize];
1391};
1392#[repr(C)]
1393#[derive(Debug, Copy, Clone)]
1394pub struct _opaque_pthread_t {
1395 pub __sig: ::std::os::raw::c_long,
1396 pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
1397 pub __opaque: [::std::os::raw::c_char; 8176usize],
1398}
1399#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1400const _: () = {
1401 ["Size of _opaque_pthread_t"][::std::mem::size_of::<_opaque_pthread_t>() - 8192usize];
1402 ["Alignment of _opaque_pthread_t"][::std::mem::align_of::<_opaque_pthread_t>() - 8usize];
1403 ["Offset of field: _opaque_pthread_t::__sig"]
1404 [::std::mem::offset_of!(_opaque_pthread_t, __sig) - 0usize];
1405 ["Offset of field: _opaque_pthread_t::__cleanup_stack"]
1406 [::std::mem::offset_of!(_opaque_pthread_t, __cleanup_stack) - 8usize];
1407 ["Offset of field: _opaque_pthread_t::__opaque"]
1408 [::std::mem::offset_of!(_opaque_pthread_t, __opaque) - 16usize];
1409};
1410pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
1411pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
1412pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
1413pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
1414pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
1415pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
1416pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
1417pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
1418pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
1419pub type __darwin_pthread_t = *mut _opaque_pthread_t;
1420pub type intmax_t = ::std::os::raw::c_long;
1421pub type uintmax_t = ::std::os::raw::c_ulong;
1422pub type __darwin_nl_item = ::std::os::raw::c_int;
1423pub type __darwin_wctrans_t = ::std::os::raw::c_int;
1424pub type __darwin_wctype_t = __uint32_t;
1425pub const idtype_t_P_ALL: idtype_t = 0;
1426pub const idtype_t_P_PID: idtype_t = 1;
1427pub const idtype_t_P_PGID: idtype_t = 2;
1428pub type idtype_t = ::std::os::raw::c_uint;
1429pub type pid_t = __darwin_pid_t;
1430pub type id_t = __darwin_id_t;
1431pub type sig_atomic_t = ::std::os::raw::c_int;
1432pub type u_int8_t = ::std::os::raw::c_uchar;
1433pub type u_int16_t = ::std::os::raw::c_ushort;
1434pub type u_int32_t = ::std::os::raw::c_uint;
1435pub type u_int64_t = ::std::os::raw::c_ulonglong;
1436pub type register_t = i64;
1437pub type user_addr_t = u_int64_t;
1438pub type user_size_t = u_int64_t;
1439pub type user_ssize_t = i64;
1440pub type user_long_t = i64;
1441pub type user_ulong_t = u_int64_t;
1442pub type user_time_t = i64;
1443pub type user_off_t = i64;
1444pub type syscall_arg_t = u_int64_t;
1445#[repr(C)]
1446#[derive(Debug, Copy, Clone)]
1447pub struct __darwin_arm_exception_state {
1448 pub __exception: __uint32_t,
1449 pub __fsr: __uint32_t,
1450 pub __far: __uint32_t,
1451}
1452#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1453const _: () = {
1454 ["Size of __darwin_arm_exception_state"]
1455 [::std::mem::size_of::<__darwin_arm_exception_state>() - 12usize];
1456 ["Alignment of __darwin_arm_exception_state"]
1457 [::std::mem::align_of::<__darwin_arm_exception_state>() - 4usize];
1458 ["Offset of field: __darwin_arm_exception_state::__exception"]
1459 [::std::mem::offset_of!(__darwin_arm_exception_state, __exception) - 0usize];
1460 ["Offset of field: __darwin_arm_exception_state::__fsr"]
1461 [::std::mem::offset_of!(__darwin_arm_exception_state, __fsr) - 4usize];
1462 ["Offset of field: __darwin_arm_exception_state::__far"]
1463 [::std::mem::offset_of!(__darwin_arm_exception_state, __far) - 8usize];
1464};
1465#[repr(C)]
1466#[derive(Debug, Copy, Clone)]
1467pub struct __darwin_arm_exception_state64 {
1468 pub __far: __uint64_t,
1469 pub __esr: __uint32_t,
1470 pub __exception: __uint32_t,
1471}
1472#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1473const _: () = {
1474 ["Size of __darwin_arm_exception_state64"]
1475 [::std::mem::size_of::<__darwin_arm_exception_state64>() - 16usize];
1476 ["Alignment of __darwin_arm_exception_state64"]
1477 [::std::mem::align_of::<__darwin_arm_exception_state64>() - 8usize];
1478 ["Offset of field: __darwin_arm_exception_state64::__far"]
1479 [::std::mem::offset_of!(__darwin_arm_exception_state64, __far) - 0usize];
1480 ["Offset of field: __darwin_arm_exception_state64::__esr"]
1481 [::std::mem::offset_of!(__darwin_arm_exception_state64, __esr) - 8usize];
1482 ["Offset of field: __darwin_arm_exception_state64::__exception"]
1483 [::std::mem::offset_of!(__darwin_arm_exception_state64, __exception) - 12usize];
1484};
1485#[repr(C)]
1486#[derive(Debug, Copy, Clone)]
1487pub struct __darwin_arm_exception_state64_v2 {
1488 pub __far: __uint64_t,
1489 pub __esr: __uint64_t,
1490}
1491#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1492const _: () = {
1493 ["Size of __darwin_arm_exception_state64_v2"]
1494 [::std::mem::size_of::<__darwin_arm_exception_state64_v2>() - 16usize];
1495 ["Alignment of __darwin_arm_exception_state64_v2"]
1496 [::std::mem::align_of::<__darwin_arm_exception_state64_v2>() - 8usize];
1497 ["Offset of field: __darwin_arm_exception_state64_v2::__far"]
1498 [::std::mem::offset_of!(__darwin_arm_exception_state64_v2, __far) - 0usize];
1499 ["Offset of field: __darwin_arm_exception_state64_v2::__esr"]
1500 [::std::mem::offset_of!(__darwin_arm_exception_state64_v2, __esr) - 8usize];
1501};
1502#[repr(C)]
1503#[derive(Debug, Copy, Clone)]
1504pub struct __darwin_arm_thread_state {
1505 pub __r: [__uint32_t; 13usize],
1506 pub __sp: __uint32_t,
1507 pub __lr: __uint32_t,
1508 pub __pc: __uint32_t,
1509 pub __cpsr: __uint32_t,
1510}
1511#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1512const _: () = {
1513 ["Size of __darwin_arm_thread_state"]
1514 [::std::mem::size_of::<__darwin_arm_thread_state>() - 68usize];
1515 ["Alignment of __darwin_arm_thread_state"]
1516 [::std::mem::align_of::<__darwin_arm_thread_state>() - 4usize];
1517 ["Offset of field: __darwin_arm_thread_state::__r"]
1518 [::std::mem::offset_of!(__darwin_arm_thread_state, __r) - 0usize];
1519 ["Offset of field: __darwin_arm_thread_state::__sp"]
1520 [::std::mem::offset_of!(__darwin_arm_thread_state, __sp) - 52usize];
1521 ["Offset of field: __darwin_arm_thread_state::__lr"]
1522 [::std::mem::offset_of!(__darwin_arm_thread_state, __lr) - 56usize];
1523 ["Offset of field: __darwin_arm_thread_state::__pc"]
1524 [::std::mem::offset_of!(__darwin_arm_thread_state, __pc) - 60usize];
1525 ["Offset of field: __darwin_arm_thread_state::__cpsr"]
1526 [::std::mem::offset_of!(__darwin_arm_thread_state, __cpsr) - 64usize];
1527};
1528#[repr(C)]
1529#[derive(Debug, Copy, Clone)]
1530pub struct __darwin_arm_thread_state64 {
1531 pub __x: [__uint64_t; 29usize],
1532 pub __fp: __uint64_t,
1533 pub __lr: __uint64_t,
1534 pub __sp: __uint64_t,
1535 pub __pc: __uint64_t,
1536 pub __cpsr: __uint32_t,
1537 pub __pad: __uint32_t,
1538}
1539#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1540const _: () = {
1541 ["Size of __darwin_arm_thread_state64"]
1542 [::std::mem::size_of::<__darwin_arm_thread_state64>() - 272usize];
1543 ["Alignment of __darwin_arm_thread_state64"]
1544 [::std::mem::align_of::<__darwin_arm_thread_state64>() - 8usize];
1545 ["Offset of field: __darwin_arm_thread_state64::__x"]
1546 [::std::mem::offset_of!(__darwin_arm_thread_state64, __x) - 0usize];
1547 ["Offset of field: __darwin_arm_thread_state64::__fp"]
1548 [::std::mem::offset_of!(__darwin_arm_thread_state64, __fp) - 232usize];
1549 ["Offset of field: __darwin_arm_thread_state64::__lr"]
1550 [::std::mem::offset_of!(__darwin_arm_thread_state64, __lr) - 240usize];
1551 ["Offset of field: __darwin_arm_thread_state64::__sp"]
1552 [::std::mem::offset_of!(__darwin_arm_thread_state64, __sp) - 248usize];
1553 ["Offset of field: __darwin_arm_thread_state64::__pc"]
1554 [::std::mem::offset_of!(__darwin_arm_thread_state64, __pc) - 256usize];
1555 ["Offset of field: __darwin_arm_thread_state64::__cpsr"]
1556 [::std::mem::offset_of!(__darwin_arm_thread_state64, __cpsr) - 264usize];
1557 ["Offset of field: __darwin_arm_thread_state64::__pad"]
1558 [::std::mem::offset_of!(__darwin_arm_thread_state64, __pad) - 268usize];
1559};
1560#[repr(C)]
1561#[derive(Debug, Copy, Clone)]
1562pub struct __darwin_arm_vfp_state {
1563 pub __r: [__uint32_t; 64usize],
1564 pub __fpscr: __uint32_t,
1565}
1566#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1567const _: () = {
1568 ["Size of __darwin_arm_vfp_state"][::std::mem::size_of::<__darwin_arm_vfp_state>() - 260usize];
1569 ["Alignment of __darwin_arm_vfp_state"]
1570 [::std::mem::align_of::<__darwin_arm_vfp_state>() - 4usize];
1571 ["Offset of field: __darwin_arm_vfp_state::__r"]
1572 [::std::mem::offset_of!(__darwin_arm_vfp_state, __r) - 0usize];
1573 ["Offset of field: __darwin_arm_vfp_state::__fpscr"]
1574 [::std::mem::offset_of!(__darwin_arm_vfp_state, __fpscr) - 256usize];
1575};
1576#[repr(C)]
1577#[repr(align(16))]
1578#[derive(Debug, Copy, Clone)]
1579pub struct __darwin_arm_neon_state64 {
1580 pub __v: [__uint128_t; 32usize],
1581 pub __fpsr: __uint32_t,
1582 pub __fpcr: __uint32_t,
1583}
1584#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1585const _: () = {
1586 ["Size of __darwin_arm_neon_state64"]
1587 [::std::mem::size_of::<__darwin_arm_neon_state64>() - 528usize];
1588 ["Alignment of __darwin_arm_neon_state64"]
1589 [::std::mem::align_of::<__darwin_arm_neon_state64>() - 16usize];
1590 ["Offset of field: __darwin_arm_neon_state64::__v"]
1591 [::std::mem::offset_of!(__darwin_arm_neon_state64, __v) - 0usize];
1592 ["Offset of field: __darwin_arm_neon_state64::__fpsr"]
1593 [::std::mem::offset_of!(__darwin_arm_neon_state64, __fpsr) - 512usize];
1594 ["Offset of field: __darwin_arm_neon_state64::__fpcr"]
1595 [::std::mem::offset_of!(__darwin_arm_neon_state64, __fpcr) - 516usize];
1596};
1597#[repr(C)]
1598#[repr(align(16))]
1599#[derive(Debug, Copy, Clone)]
1600pub struct __darwin_arm_neon_state {
1601 pub __v: [__uint128_t; 16usize],
1602 pub __fpsr: __uint32_t,
1603 pub __fpcr: __uint32_t,
1604}
1605#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1606const _: () = {
1607 ["Size of __darwin_arm_neon_state"]
1608 [::std::mem::size_of::<__darwin_arm_neon_state>() - 272usize];
1609 ["Alignment of __darwin_arm_neon_state"]
1610 [::std::mem::align_of::<__darwin_arm_neon_state>() - 16usize];
1611 ["Offset of field: __darwin_arm_neon_state::__v"]
1612 [::std::mem::offset_of!(__darwin_arm_neon_state, __v) - 0usize];
1613 ["Offset of field: __darwin_arm_neon_state::__fpsr"]
1614 [::std::mem::offset_of!(__darwin_arm_neon_state, __fpsr) - 256usize];
1615 ["Offset of field: __darwin_arm_neon_state::__fpcr"]
1616 [::std::mem::offset_of!(__darwin_arm_neon_state, __fpcr) - 260usize];
1617};
1618#[repr(C)]
1619#[derive(Debug, Copy, Clone)]
1620pub struct __arm_pagein_state {
1621 pub __pagein_error: ::std::os::raw::c_int,
1622}
1623#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1624const _: () = {
1625 ["Size of __arm_pagein_state"][::std::mem::size_of::<__arm_pagein_state>() - 4usize];
1626 ["Alignment of __arm_pagein_state"][::std::mem::align_of::<__arm_pagein_state>() - 4usize];
1627 ["Offset of field: __arm_pagein_state::__pagein_error"]
1628 [::std::mem::offset_of!(__arm_pagein_state, __pagein_error) - 0usize];
1629};
1630#[repr(C)]
1631#[derive(Debug, Copy, Clone)]
1632pub struct __darwin_arm_sme_state {
1633 pub __svcr: __uint64_t,
1634 pub __tpidr2_el0: __uint64_t,
1635 pub __svl_b: __uint16_t,
1636}
1637#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1638const _: () = {
1639 ["Size of __darwin_arm_sme_state"][::std::mem::size_of::<__darwin_arm_sme_state>() - 24usize];
1640 ["Alignment of __darwin_arm_sme_state"]
1641 [::std::mem::align_of::<__darwin_arm_sme_state>() - 8usize];
1642 ["Offset of field: __darwin_arm_sme_state::__svcr"]
1643 [::std::mem::offset_of!(__darwin_arm_sme_state, __svcr) - 0usize];
1644 ["Offset of field: __darwin_arm_sme_state::__tpidr2_el0"]
1645 [::std::mem::offset_of!(__darwin_arm_sme_state, __tpidr2_el0) - 8usize];
1646 ["Offset of field: __darwin_arm_sme_state::__svl_b"]
1647 [::std::mem::offset_of!(__darwin_arm_sme_state, __svl_b) - 16usize];
1648};
1649#[repr(C)]
1650#[repr(align(4))]
1651#[derive(Debug, Copy, Clone)]
1652pub struct __darwin_arm_sve_z_state {
1653 pub __z: [[::std::os::raw::c_char; 256usize]; 16usize],
1654}
1655#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1656const _: () = {
1657 ["Size of __darwin_arm_sve_z_state"]
1658 [::std::mem::size_of::<__darwin_arm_sve_z_state>() - 4096usize];
1659 ["Alignment of __darwin_arm_sve_z_state"]
1660 [::std::mem::align_of::<__darwin_arm_sve_z_state>() - 4usize];
1661 ["Offset of field: __darwin_arm_sve_z_state::__z"]
1662 [::std::mem::offset_of!(__darwin_arm_sve_z_state, __z) - 0usize];
1663};
1664#[repr(C)]
1665#[repr(align(4))]
1666#[derive(Debug, Copy, Clone)]
1667pub struct __darwin_arm_sve_p_state {
1668 pub __p: [[::std::os::raw::c_char; 32usize]; 16usize],
1669}
1670#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1671const _: () = {
1672 ["Size of __darwin_arm_sve_p_state"]
1673 [::std::mem::size_of::<__darwin_arm_sve_p_state>() - 512usize];
1674 ["Alignment of __darwin_arm_sve_p_state"]
1675 [::std::mem::align_of::<__darwin_arm_sve_p_state>() - 4usize];
1676 ["Offset of field: __darwin_arm_sve_p_state::__p"]
1677 [::std::mem::offset_of!(__darwin_arm_sve_p_state, __p) - 0usize];
1678};
1679#[repr(C)]
1680#[repr(align(4))]
1681#[derive(Debug, Copy, Clone)]
1682pub struct __darwin_arm_sme_za_state {
1683 pub __za: [::std::os::raw::c_char; 4096usize],
1684}
1685#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1686const _: () = {
1687 ["Size of __darwin_arm_sme_za_state"]
1688 [::std::mem::size_of::<__darwin_arm_sme_za_state>() - 4096usize];
1689 ["Alignment of __darwin_arm_sme_za_state"]
1690 [::std::mem::align_of::<__darwin_arm_sme_za_state>() - 4usize];
1691 ["Offset of field: __darwin_arm_sme_za_state::__za"]
1692 [::std::mem::offset_of!(__darwin_arm_sme_za_state, __za) - 0usize];
1693};
1694#[repr(C)]
1695#[repr(align(4))]
1696#[derive(Debug, Copy, Clone)]
1697pub struct __darwin_arm_sme2_state {
1698 pub __zt0: [::std::os::raw::c_char; 64usize],
1699}
1700#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1701const _: () = {
1702 ["Size of __darwin_arm_sme2_state"][::std::mem::size_of::<__darwin_arm_sme2_state>() - 64usize];
1703 ["Alignment of __darwin_arm_sme2_state"]
1704 [::std::mem::align_of::<__darwin_arm_sme2_state>() - 4usize];
1705 ["Offset of field: __darwin_arm_sme2_state::__zt0"]
1706 [::std::mem::offset_of!(__darwin_arm_sme2_state, __zt0) - 0usize];
1707};
1708#[repr(C)]
1709#[derive(Debug, Copy, Clone)]
1710pub struct __arm_legacy_debug_state {
1711 pub __bvr: [__uint32_t; 16usize],
1712 pub __bcr: [__uint32_t; 16usize],
1713 pub __wvr: [__uint32_t; 16usize],
1714 pub __wcr: [__uint32_t; 16usize],
1715}
1716#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1717const _: () = {
1718 ["Size of __arm_legacy_debug_state"]
1719 [::std::mem::size_of::<__arm_legacy_debug_state>() - 256usize];
1720 ["Alignment of __arm_legacy_debug_state"]
1721 [::std::mem::align_of::<__arm_legacy_debug_state>() - 4usize];
1722 ["Offset of field: __arm_legacy_debug_state::__bvr"]
1723 [::std::mem::offset_of!(__arm_legacy_debug_state, __bvr) - 0usize];
1724 ["Offset of field: __arm_legacy_debug_state::__bcr"]
1725 [::std::mem::offset_of!(__arm_legacy_debug_state, __bcr) - 64usize];
1726 ["Offset of field: __arm_legacy_debug_state::__wvr"]
1727 [::std::mem::offset_of!(__arm_legacy_debug_state, __wvr) - 128usize];
1728 ["Offset of field: __arm_legacy_debug_state::__wcr"]
1729 [::std::mem::offset_of!(__arm_legacy_debug_state, __wcr) - 192usize];
1730};
1731#[repr(C)]
1732#[derive(Debug, Copy, Clone)]
1733pub struct __darwin_arm_debug_state32 {
1734 pub __bvr: [__uint32_t; 16usize],
1735 pub __bcr: [__uint32_t; 16usize],
1736 pub __wvr: [__uint32_t; 16usize],
1737 pub __wcr: [__uint32_t; 16usize],
1738 pub __mdscr_el1: __uint64_t,
1739}
1740#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1741const _: () = {
1742 ["Size of __darwin_arm_debug_state32"]
1743 [::std::mem::size_of::<__darwin_arm_debug_state32>() - 264usize];
1744 ["Alignment of __darwin_arm_debug_state32"]
1745 [::std::mem::align_of::<__darwin_arm_debug_state32>() - 8usize];
1746 ["Offset of field: __darwin_arm_debug_state32::__bvr"]
1747 [::std::mem::offset_of!(__darwin_arm_debug_state32, __bvr) - 0usize];
1748 ["Offset of field: __darwin_arm_debug_state32::__bcr"]
1749 [::std::mem::offset_of!(__darwin_arm_debug_state32, __bcr) - 64usize];
1750 ["Offset of field: __darwin_arm_debug_state32::__wvr"]
1751 [::std::mem::offset_of!(__darwin_arm_debug_state32, __wvr) - 128usize];
1752 ["Offset of field: __darwin_arm_debug_state32::__wcr"]
1753 [::std::mem::offset_of!(__darwin_arm_debug_state32, __wcr) - 192usize];
1754 ["Offset of field: __darwin_arm_debug_state32::__mdscr_el1"]
1755 [::std::mem::offset_of!(__darwin_arm_debug_state32, __mdscr_el1) - 256usize];
1756};
1757#[repr(C)]
1758#[derive(Debug, Copy, Clone)]
1759pub struct __darwin_arm_debug_state64 {
1760 pub __bvr: [__uint64_t; 16usize],
1761 pub __bcr: [__uint64_t; 16usize],
1762 pub __wvr: [__uint64_t; 16usize],
1763 pub __wcr: [__uint64_t; 16usize],
1764 pub __mdscr_el1: __uint64_t,
1765}
1766#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1767const _: () = {
1768 ["Size of __darwin_arm_debug_state64"]
1769 [::std::mem::size_of::<__darwin_arm_debug_state64>() - 520usize];
1770 ["Alignment of __darwin_arm_debug_state64"]
1771 [::std::mem::align_of::<__darwin_arm_debug_state64>() - 8usize];
1772 ["Offset of field: __darwin_arm_debug_state64::__bvr"]
1773 [::std::mem::offset_of!(__darwin_arm_debug_state64, __bvr) - 0usize];
1774 ["Offset of field: __darwin_arm_debug_state64::__bcr"]
1775 [::std::mem::offset_of!(__darwin_arm_debug_state64, __bcr) - 128usize];
1776 ["Offset of field: __darwin_arm_debug_state64::__wvr"]
1777 [::std::mem::offset_of!(__darwin_arm_debug_state64, __wvr) - 256usize];
1778 ["Offset of field: __darwin_arm_debug_state64::__wcr"]
1779 [::std::mem::offset_of!(__darwin_arm_debug_state64, __wcr) - 384usize];
1780 ["Offset of field: __darwin_arm_debug_state64::__mdscr_el1"]
1781 [::std::mem::offset_of!(__darwin_arm_debug_state64, __mdscr_el1) - 512usize];
1782};
1783#[repr(C)]
1784#[derive(Debug, Copy, Clone)]
1785pub struct __darwin_arm_cpmu_state64 {
1786 pub __ctrs: [__uint64_t; 16usize],
1787}
1788#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1789const _: () = {
1790 ["Size of __darwin_arm_cpmu_state64"]
1791 [::std::mem::size_of::<__darwin_arm_cpmu_state64>() - 128usize];
1792 ["Alignment of __darwin_arm_cpmu_state64"]
1793 [::std::mem::align_of::<__darwin_arm_cpmu_state64>() - 8usize];
1794 ["Offset of field: __darwin_arm_cpmu_state64::__ctrs"]
1795 [::std::mem::offset_of!(__darwin_arm_cpmu_state64, __ctrs) - 0usize];
1796};
1797#[repr(C)]
1798#[derive(Debug, Copy, Clone)]
1799pub struct __darwin_mcontext32 {
1800 pub __es: __darwin_arm_exception_state,
1801 pub __ss: __darwin_arm_thread_state,
1802 pub __fs: __darwin_arm_vfp_state,
1803}
1804#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1805const _: () = {
1806 ["Size of __darwin_mcontext32"][::std::mem::size_of::<__darwin_mcontext32>() - 340usize];
1807 ["Alignment of __darwin_mcontext32"][::std::mem::align_of::<__darwin_mcontext32>() - 4usize];
1808 ["Offset of field: __darwin_mcontext32::__es"]
1809 [::std::mem::offset_of!(__darwin_mcontext32, __es) - 0usize];
1810 ["Offset of field: __darwin_mcontext32::__ss"]
1811 [::std::mem::offset_of!(__darwin_mcontext32, __ss) - 12usize];
1812 ["Offset of field: __darwin_mcontext32::__fs"]
1813 [::std::mem::offset_of!(__darwin_mcontext32, __fs) - 80usize];
1814};
1815#[repr(C)]
1816#[repr(align(16))]
1817#[derive(Debug, Copy, Clone)]
1818pub struct __darwin_mcontext64 {
1819 pub __es: __darwin_arm_exception_state64,
1820 pub __ss: __darwin_arm_thread_state64,
1821 pub __ns: __darwin_arm_neon_state64,
1822}
1823#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1824const _: () = {
1825 ["Size of __darwin_mcontext64"][::std::mem::size_of::<__darwin_mcontext64>() - 816usize];
1826 ["Alignment of __darwin_mcontext64"][::std::mem::align_of::<__darwin_mcontext64>() - 16usize];
1827 ["Offset of field: __darwin_mcontext64::__es"]
1828 [::std::mem::offset_of!(__darwin_mcontext64, __es) - 0usize];
1829 ["Offset of field: __darwin_mcontext64::__ss"]
1830 [::std::mem::offset_of!(__darwin_mcontext64, __ss) - 16usize];
1831 ["Offset of field: __darwin_mcontext64::__ns"]
1832 [::std::mem::offset_of!(__darwin_mcontext64, __ns) - 288usize];
1833};
1834pub type mcontext_t = *mut __darwin_mcontext64;
1835pub type pthread_attr_t = __darwin_pthread_attr_t;
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct __darwin_sigaltstack {
1839 pub ss_sp: *mut ::std::os::raw::c_void,
1840 pub ss_size: __darwin_size_t,
1841 pub ss_flags: ::std::os::raw::c_int,
1842}
1843#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1844const _: () = {
1845 ["Size of __darwin_sigaltstack"][::std::mem::size_of::<__darwin_sigaltstack>() - 24usize];
1846 ["Alignment of __darwin_sigaltstack"][::std::mem::align_of::<__darwin_sigaltstack>() - 8usize];
1847 ["Offset of field: __darwin_sigaltstack::ss_sp"]
1848 [::std::mem::offset_of!(__darwin_sigaltstack, ss_sp) - 0usize];
1849 ["Offset of field: __darwin_sigaltstack::ss_size"]
1850 [::std::mem::offset_of!(__darwin_sigaltstack, ss_size) - 8usize];
1851 ["Offset of field: __darwin_sigaltstack::ss_flags"]
1852 [::std::mem::offset_of!(__darwin_sigaltstack, ss_flags) - 16usize];
1853};
1854pub type stack_t = __darwin_sigaltstack;
1855#[repr(C)]
1856#[derive(Debug, Copy, Clone)]
1857pub struct __darwin_ucontext {
1858 pub uc_onstack: ::std::os::raw::c_int,
1859 pub uc_sigmask: __darwin_sigset_t,
1860 pub uc_stack: __darwin_sigaltstack,
1861 pub uc_link: *mut __darwin_ucontext,
1862 pub uc_mcsize: __darwin_size_t,
1863 pub uc_mcontext: *mut __darwin_mcontext64,
1864}
1865#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1866const _: () = {
1867 ["Size of __darwin_ucontext"][::std::mem::size_of::<__darwin_ucontext>() - 56usize];
1868 ["Alignment of __darwin_ucontext"][::std::mem::align_of::<__darwin_ucontext>() - 8usize];
1869 ["Offset of field: __darwin_ucontext::uc_onstack"]
1870 [::std::mem::offset_of!(__darwin_ucontext, uc_onstack) - 0usize];
1871 ["Offset of field: __darwin_ucontext::uc_sigmask"]
1872 [::std::mem::offset_of!(__darwin_ucontext, uc_sigmask) - 4usize];
1873 ["Offset of field: __darwin_ucontext::uc_stack"]
1874 [::std::mem::offset_of!(__darwin_ucontext, uc_stack) - 8usize];
1875 ["Offset of field: __darwin_ucontext::uc_link"]
1876 [::std::mem::offset_of!(__darwin_ucontext, uc_link) - 32usize];
1877 ["Offset of field: __darwin_ucontext::uc_mcsize"]
1878 [::std::mem::offset_of!(__darwin_ucontext, uc_mcsize) - 40usize];
1879 ["Offset of field: __darwin_ucontext::uc_mcontext"]
1880 [::std::mem::offset_of!(__darwin_ucontext, uc_mcontext) - 48usize];
1881};
1882pub type ucontext_t = __darwin_ucontext;
1883pub type sigset_t = __darwin_sigset_t;
1884pub type uid_t = __darwin_uid_t;
1885#[repr(C)]
1886#[derive(Copy, Clone)]
1887pub union sigval {
1888 pub sival_int: ::std::os::raw::c_int,
1889 pub sival_ptr: *mut ::std::os::raw::c_void,
1890}
1891#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1892const _: () = {
1893 ["Size of sigval"][::std::mem::size_of::<sigval>() - 8usize];
1894 ["Alignment of sigval"][::std::mem::align_of::<sigval>() - 8usize];
1895 ["Offset of field: sigval::sival_int"][::std::mem::offset_of!(sigval, sival_int) - 0usize];
1896 ["Offset of field: sigval::sival_ptr"][::std::mem::offset_of!(sigval, sival_ptr) - 0usize];
1897};
1898#[repr(C)]
1899#[derive(Copy, Clone)]
1900pub struct sigevent {
1901 pub sigev_notify: ::std::os::raw::c_int,
1902 pub sigev_signo: ::std::os::raw::c_int,
1903 pub sigev_value: sigval,
1904 pub sigev_notify_function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval)>,
1905 pub sigev_notify_attributes: *mut pthread_attr_t,
1906}
1907#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1908const _: () = {
1909 ["Size of sigevent"][::std::mem::size_of::<sigevent>() - 32usize];
1910 ["Alignment of sigevent"][::std::mem::align_of::<sigevent>() - 8usize];
1911 ["Offset of field: sigevent::sigev_notify"]
1912 [::std::mem::offset_of!(sigevent, sigev_notify) - 0usize];
1913 ["Offset of field: sigevent::sigev_signo"]
1914 [::std::mem::offset_of!(sigevent, sigev_signo) - 4usize];
1915 ["Offset of field: sigevent::sigev_value"]
1916 [::std::mem::offset_of!(sigevent, sigev_value) - 8usize];
1917 ["Offset of field: sigevent::sigev_notify_function"]
1918 [::std::mem::offset_of!(sigevent, sigev_notify_function) - 16usize];
1919 ["Offset of field: sigevent::sigev_notify_attributes"]
1920 [::std::mem::offset_of!(sigevent, sigev_notify_attributes) - 24usize];
1921};
1922#[repr(C)]
1923#[derive(Copy, Clone)]
1924pub struct __siginfo {
1925 pub si_signo: ::std::os::raw::c_int,
1926 pub si_errno: ::std::os::raw::c_int,
1927 pub si_code: ::std::os::raw::c_int,
1928 pub si_pid: pid_t,
1929 pub si_uid: uid_t,
1930 pub si_status: ::std::os::raw::c_int,
1931 pub si_addr: *mut ::std::os::raw::c_void,
1932 pub si_value: sigval,
1933 pub si_band: ::std::os::raw::c_long,
1934 pub __pad: [::std::os::raw::c_ulong; 7usize],
1935}
1936#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1937const _: () = {
1938 ["Size of __siginfo"][::std::mem::size_of::<__siginfo>() - 104usize];
1939 ["Alignment of __siginfo"][::std::mem::align_of::<__siginfo>() - 8usize];
1940 ["Offset of field: __siginfo::si_signo"][::std::mem::offset_of!(__siginfo, si_signo) - 0usize];
1941 ["Offset of field: __siginfo::si_errno"][::std::mem::offset_of!(__siginfo, si_errno) - 4usize];
1942 ["Offset of field: __siginfo::si_code"][::std::mem::offset_of!(__siginfo, si_code) - 8usize];
1943 ["Offset of field: __siginfo::si_pid"][::std::mem::offset_of!(__siginfo, si_pid) - 12usize];
1944 ["Offset of field: __siginfo::si_uid"][::std::mem::offset_of!(__siginfo, si_uid) - 16usize];
1945 ["Offset of field: __siginfo::si_status"]
1946 [::std::mem::offset_of!(__siginfo, si_status) - 20usize];
1947 ["Offset of field: __siginfo::si_addr"][::std::mem::offset_of!(__siginfo, si_addr) - 24usize];
1948 ["Offset of field: __siginfo::si_value"][::std::mem::offset_of!(__siginfo, si_value) - 32usize];
1949 ["Offset of field: __siginfo::si_band"][::std::mem::offset_of!(__siginfo, si_band) - 40usize];
1950 ["Offset of field: __siginfo::__pad"][::std::mem::offset_of!(__siginfo, __pad) - 48usize];
1951};
1952pub type siginfo_t = __siginfo;
1953#[repr(C)]
1954#[derive(Copy, Clone)]
1955pub union __sigaction_u {
1956 pub __sa_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
1957 pub __sa_sigaction: ::std::option::Option<
1958 unsafe extern "C" fn(
1959 arg1: ::std::os::raw::c_int,
1960 arg2: *mut __siginfo,
1961 arg3: *mut ::std::os::raw::c_void,
1962 ),
1963 >,
1964}
1965#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1966const _: () = {
1967 ["Size of __sigaction_u"][::std::mem::size_of::<__sigaction_u>() - 8usize];
1968 ["Alignment of __sigaction_u"][::std::mem::align_of::<__sigaction_u>() - 8usize];
1969 ["Offset of field: __sigaction_u::__sa_handler"]
1970 [::std::mem::offset_of!(__sigaction_u, __sa_handler) - 0usize];
1971 ["Offset of field: __sigaction_u::__sa_sigaction"]
1972 [::std::mem::offset_of!(__sigaction_u, __sa_sigaction) - 0usize];
1973};
1974#[repr(C)]
1975#[derive(Copy, Clone)]
1976pub struct __sigaction {
1977 pub __sigaction_u: __sigaction_u,
1978 pub sa_tramp: ::std::option::Option<
1979 unsafe extern "C" fn(
1980 arg1: *mut ::std::os::raw::c_void,
1981 arg2: ::std::os::raw::c_int,
1982 arg3: ::std::os::raw::c_int,
1983 arg4: *mut siginfo_t,
1984 arg5: *mut ::std::os::raw::c_void,
1985 ),
1986 >,
1987 pub sa_mask: sigset_t,
1988 pub sa_flags: ::std::os::raw::c_int,
1989}
1990#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1991const _: () = {
1992 ["Size of __sigaction"][::std::mem::size_of::<__sigaction>() - 24usize];
1993 ["Alignment of __sigaction"][::std::mem::align_of::<__sigaction>() - 8usize];
1994 ["Offset of field: __sigaction::__sigaction_u"]
1995 [::std::mem::offset_of!(__sigaction, __sigaction_u) - 0usize];
1996 ["Offset of field: __sigaction::sa_tramp"]
1997 [::std::mem::offset_of!(__sigaction, sa_tramp) - 8usize];
1998 ["Offset of field: __sigaction::sa_mask"]
1999 [::std::mem::offset_of!(__sigaction, sa_mask) - 16usize];
2000 ["Offset of field: __sigaction::sa_flags"]
2001 [::std::mem::offset_of!(__sigaction, sa_flags) - 20usize];
2002};
2003#[repr(C)]
2004#[derive(Copy, Clone)]
2005pub struct sigaction {
2006 pub __sigaction_u: __sigaction_u,
2007 pub sa_mask: sigset_t,
2008 pub sa_flags: ::std::os::raw::c_int,
2009}
2010#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2011const _: () = {
2012 ["Size of sigaction"][::std::mem::size_of::<sigaction>() - 16usize];
2013 ["Alignment of sigaction"][::std::mem::align_of::<sigaction>() - 8usize];
2014 ["Offset of field: sigaction::__sigaction_u"]
2015 [::std::mem::offset_of!(sigaction, __sigaction_u) - 0usize];
2016 ["Offset of field: sigaction::sa_mask"][::std::mem::offset_of!(sigaction, sa_mask) - 8usize];
2017 ["Offset of field: sigaction::sa_flags"][::std::mem::offset_of!(sigaction, sa_flags) - 12usize];
2018};
2019pub type sig_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
2020#[repr(C)]
2021#[derive(Debug, Copy, Clone)]
2022pub struct sigvec {
2023 pub sv_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2024 pub sv_mask: ::std::os::raw::c_int,
2025 pub sv_flags: ::std::os::raw::c_int,
2026}
2027#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2028const _: () = {
2029 ["Size of sigvec"][::std::mem::size_of::<sigvec>() - 16usize];
2030 ["Alignment of sigvec"][::std::mem::align_of::<sigvec>() - 8usize];
2031 ["Offset of field: sigvec::sv_handler"][::std::mem::offset_of!(sigvec, sv_handler) - 0usize];
2032 ["Offset of field: sigvec::sv_mask"][::std::mem::offset_of!(sigvec, sv_mask) - 8usize];
2033 ["Offset of field: sigvec::sv_flags"][::std::mem::offset_of!(sigvec, sv_flags) - 12usize];
2034};
2035#[repr(C)]
2036#[derive(Debug, Copy, Clone)]
2037pub struct sigstack {
2038 pub ss_sp: *mut ::std::os::raw::c_char,
2039 pub ss_onstack: ::std::os::raw::c_int,
2040}
2041#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2042const _: () = {
2043 ["Size of sigstack"][::std::mem::size_of::<sigstack>() - 16usize];
2044 ["Alignment of sigstack"][::std::mem::align_of::<sigstack>() - 8usize];
2045 ["Offset of field: sigstack::ss_sp"][::std::mem::offset_of!(sigstack, ss_sp) - 0usize];
2046 ["Offset of field: sigstack::ss_onstack"]
2047 [::std::mem::offset_of!(sigstack, ss_onstack) - 8usize];
2048};
2049unsafe extern "C" {
2050 pub fn signal(
2051 arg1: ::std::os::raw::c_int,
2052 arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2053 ) -> ::std::option::Option<
2054 unsafe extern "C" fn(
2055 arg1: ::std::os::raw::c_int,
2056 arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2057 ),
2058 >;
2059}
2060#[repr(C)]
2061#[derive(Debug, Copy, Clone)]
2062pub struct timeval {
2063 pub tv_sec: __darwin_time_t,
2064 pub tv_usec: __darwin_suseconds_t,
2065}
2066#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2067const _: () = {
2068 ["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
2069 ["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
2070 ["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
2071 ["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
2072};
2073pub type rlim_t = __uint64_t;
2074#[repr(C)]
2075#[derive(Debug, Copy, Clone)]
2076pub struct rusage {
2077 pub ru_utime: timeval,
2078 pub ru_stime: timeval,
2079 pub ru_maxrss: ::std::os::raw::c_long,
2080 pub ru_ixrss: ::std::os::raw::c_long,
2081 pub ru_idrss: ::std::os::raw::c_long,
2082 pub ru_isrss: ::std::os::raw::c_long,
2083 pub ru_minflt: ::std::os::raw::c_long,
2084 pub ru_majflt: ::std::os::raw::c_long,
2085 pub ru_nswap: ::std::os::raw::c_long,
2086 pub ru_inblock: ::std::os::raw::c_long,
2087 pub ru_oublock: ::std::os::raw::c_long,
2088 pub ru_msgsnd: ::std::os::raw::c_long,
2089 pub ru_msgrcv: ::std::os::raw::c_long,
2090 pub ru_nsignals: ::std::os::raw::c_long,
2091 pub ru_nvcsw: ::std::os::raw::c_long,
2092 pub ru_nivcsw: ::std::os::raw::c_long,
2093}
2094#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2095const _: () = {
2096 ["Size of rusage"][::std::mem::size_of::<rusage>() - 144usize];
2097 ["Alignment of rusage"][::std::mem::align_of::<rusage>() - 8usize];
2098 ["Offset of field: rusage::ru_utime"][::std::mem::offset_of!(rusage, ru_utime) - 0usize];
2099 ["Offset of field: rusage::ru_stime"][::std::mem::offset_of!(rusage, ru_stime) - 16usize];
2100 ["Offset of field: rusage::ru_maxrss"][::std::mem::offset_of!(rusage, ru_maxrss) - 32usize];
2101 ["Offset of field: rusage::ru_ixrss"][::std::mem::offset_of!(rusage, ru_ixrss) - 40usize];
2102 ["Offset of field: rusage::ru_idrss"][::std::mem::offset_of!(rusage, ru_idrss) - 48usize];
2103 ["Offset of field: rusage::ru_isrss"][::std::mem::offset_of!(rusage, ru_isrss) - 56usize];
2104 ["Offset of field: rusage::ru_minflt"][::std::mem::offset_of!(rusage, ru_minflt) - 64usize];
2105 ["Offset of field: rusage::ru_majflt"][::std::mem::offset_of!(rusage, ru_majflt) - 72usize];
2106 ["Offset of field: rusage::ru_nswap"][::std::mem::offset_of!(rusage, ru_nswap) - 80usize];
2107 ["Offset of field: rusage::ru_inblock"][::std::mem::offset_of!(rusage, ru_inblock) - 88usize];
2108 ["Offset of field: rusage::ru_oublock"][::std::mem::offset_of!(rusage, ru_oublock) - 96usize];
2109 ["Offset of field: rusage::ru_msgsnd"][::std::mem::offset_of!(rusage, ru_msgsnd) - 104usize];
2110 ["Offset of field: rusage::ru_msgrcv"][::std::mem::offset_of!(rusage, ru_msgrcv) - 112usize];
2111 ["Offset of field: rusage::ru_nsignals"]
2112 [::std::mem::offset_of!(rusage, ru_nsignals) - 120usize];
2113 ["Offset of field: rusage::ru_nvcsw"][::std::mem::offset_of!(rusage, ru_nvcsw) - 128usize];
2114 ["Offset of field: rusage::ru_nivcsw"][::std::mem::offset_of!(rusage, ru_nivcsw) - 136usize];
2115};
2116pub type rusage_info_t = *mut ::std::os::raw::c_void;
2117#[repr(C)]
2118#[derive(Debug, Copy, Clone)]
2119pub struct rusage_info_v0 {
2120 pub ri_uuid: [u8; 16usize],
2121 pub ri_user_time: u64,
2122 pub ri_system_time: u64,
2123 pub ri_pkg_idle_wkups: u64,
2124 pub ri_interrupt_wkups: u64,
2125 pub ri_pageins: u64,
2126 pub ri_wired_size: u64,
2127 pub ri_resident_size: u64,
2128 pub ri_phys_footprint: u64,
2129 pub ri_proc_start_abstime: u64,
2130 pub ri_proc_exit_abstime: u64,
2131}
2132#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2133const _: () = {
2134 ["Size of rusage_info_v0"][::std::mem::size_of::<rusage_info_v0>() - 96usize];
2135 ["Alignment of rusage_info_v0"][::std::mem::align_of::<rusage_info_v0>() - 8usize];
2136 ["Offset of field: rusage_info_v0::ri_uuid"]
2137 [::std::mem::offset_of!(rusage_info_v0, ri_uuid) - 0usize];
2138 ["Offset of field: rusage_info_v0::ri_user_time"]
2139 [::std::mem::offset_of!(rusage_info_v0, ri_user_time) - 16usize];
2140 ["Offset of field: rusage_info_v0::ri_system_time"]
2141 [::std::mem::offset_of!(rusage_info_v0, ri_system_time) - 24usize];
2142 ["Offset of field: rusage_info_v0::ri_pkg_idle_wkups"]
2143 [::std::mem::offset_of!(rusage_info_v0, ri_pkg_idle_wkups) - 32usize];
2144 ["Offset of field: rusage_info_v0::ri_interrupt_wkups"]
2145 [::std::mem::offset_of!(rusage_info_v0, ri_interrupt_wkups) - 40usize];
2146 ["Offset of field: rusage_info_v0::ri_pageins"]
2147 [::std::mem::offset_of!(rusage_info_v0, ri_pageins) - 48usize];
2148 ["Offset of field: rusage_info_v0::ri_wired_size"]
2149 [::std::mem::offset_of!(rusage_info_v0, ri_wired_size) - 56usize];
2150 ["Offset of field: rusage_info_v0::ri_resident_size"]
2151 [::std::mem::offset_of!(rusage_info_v0, ri_resident_size) - 64usize];
2152 ["Offset of field: rusage_info_v0::ri_phys_footprint"]
2153 [::std::mem::offset_of!(rusage_info_v0, ri_phys_footprint) - 72usize];
2154 ["Offset of field: rusage_info_v0::ri_proc_start_abstime"]
2155 [::std::mem::offset_of!(rusage_info_v0, ri_proc_start_abstime) - 80usize];
2156 ["Offset of field: rusage_info_v0::ri_proc_exit_abstime"]
2157 [::std::mem::offset_of!(rusage_info_v0, ri_proc_exit_abstime) - 88usize];
2158};
2159#[repr(C)]
2160#[derive(Debug, Copy, Clone)]
2161pub struct rusage_info_v1 {
2162 pub ri_uuid: [u8; 16usize],
2163 pub ri_user_time: u64,
2164 pub ri_system_time: u64,
2165 pub ri_pkg_idle_wkups: u64,
2166 pub ri_interrupt_wkups: u64,
2167 pub ri_pageins: u64,
2168 pub ri_wired_size: u64,
2169 pub ri_resident_size: u64,
2170 pub ri_phys_footprint: u64,
2171 pub ri_proc_start_abstime: u64,
2172 pub ri_proc_exit_abstime: u64,
2173 pub ri_child_user_time: u64,
2174 pub ri_child_system_time: u64,
2175 pub ri_child_pkg_idle_wkups: u64,
2176 pub ri_child_interrupt_wkups: u64,
2177 pub ri_child_pageins: u64,
2178 pub ri_child_elapsed_abstime: u64,
2179}
2180#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2181const _: () = {
2182 ["Size of rusage_info_v1"][::std::mem::size_of::<rusage_info_v1>() - 144usize];
2183 ["Alignment of rusage_info_v1"][::std::mem::align_of::<rusage_info_v1>() - 8usize];
2184 ["Offset of field: rusage_info_v1::ri_uuid"]
2185 [::std::mem::offset_of!(rusage_info_v1, ri_uuid) - 0usize];
2186 ["Offset of field: rusage_info_v1::ri_user_time"]
2187 [::std::mem::offset_of!(rusage_info_v1, ri_user_time) - 16usize];
2188 ["Offset of field: rusage_info_v1::ri_system_time"]
2189 [::std::mem::offset_of!(rusage_info_v1, ri_system_time) - 24usize];
2190 ["Offset of field: rusage_info_v1::ri_pkg_idle_wkups"]
2191 [::std::mem::offset_of!(rusage_info_v1, ri_pkg_idle_wkups) - 32usize];
2192 ["Offset of field: rusage_info_v1::ri_interrupt_wkups"]
2193 [::std::mem::offset_of!(rusage_info_v1, ri_interrupt_wkups) - 40usize];
2194 ["Offset of field: rusage_info_v1::ri_pageins"]
2195 [::std::mem::offset_of!(rusage_info_v1, ri_pageins) - 48usize];
2196 ["Offset of field: rusage_info_v1::ri_wired_size"]
2197 [::std::mem::offset_of!(rusage_info_v1, ri_wired_size) - 56usize];
2198 ["Offset of field: rusage_info_v1::ri_resident_size"]
2199 [::std::mem::offset_of!(rusage_info_v1, ri_resident_size) - 64usize];
2200 ["Offset of field: rusage_info_v1::ri_phys_footprint"]
2201 [::std::mem::offset_of!(rusage_info_v1, ri_phys_footprint) - 72usize];
2202 ["Offset of field: rusage_info_v1::ri_proc_start_abstime"]
2203 [::std::mem::offset_of!(rusage_info_v1, ri_proc_start_abstime) - 80usize];
2204 ["Offset of field: rusage_info_v1::ri_proc_exit_abstime"]
2205 [::std::mem::offset_of!(rusage_info_v1, ri_proc_exit_abstime) - 88usize];
2206 ["Offset of field: rusage_info_v1::ri_child_user_time"]
2207 [::std::mem::offset_of!(rusage_info_v1, ri_child_user_time) - 96usize];
2208 ["Offset of field: rusage_info_v1::ri_child_system_time"]
2209 [::std::mem::offset_of!(rusage_info_v1, ri_child_system_time) - 104usize];
2210 ["Offset of field: rusage_info_v1::ri_child_pkg_idle_wkups"]
2211 [::std::mem::offset_of!(rusage_info_v1, ri_child_pkg_idle_wkups) - 112usize];
2212 ["Offset of field: rusage_info_v1::ri_child_interrupt_wkups"]
2213 [::std::mem::offset_of!(rusage_info_v1, ri_child_interrupt_wkups) - 120usize];
2214 ["Offset of field: rusage_info_v1::ri_child_pageins"]
2215 [::std::mem::offset_of!(rusage_info_v1, ri_child_pageins) - 128usize];
2216 ["Offset of field: rusage_info_v1::ri_child_elapsed_abstime"]
2217 [::std::mem::offset_of!(rusage_info_v1, ri_child_elapsed_abstime) - 136usize];
2218};
2219#[repr(C)]
2220#[derive(Debug, Copy, Clone)]
2221pub struct rusage_info_v2 {
2222 pub ri_uuid: [u8; 16usize],
2223 pub ri_user_time: u64,
2224 pub ri_system_time: u64,
2225 pub ri_pkg_idle_wkups: u64,
2226 pub ri_interrupt_wkups: u64,
2227 pub ri_pageins: u64,
2228 pub ri_wired_size: u64,
2229 pub ri_resident_size: u64,
2230 pub ri_phys_footprint: u64,
2231 pub ri_proc_start_abstime: u64,
2232 pub ri_proc_exit_abstime: u64,
2233 pub ri_child_user_time: u64,
2234 pub ri_child_system_time: u64,
2235 pub ri_child_pkg_idle_wkups: u64,
2236 pub ri_child_interrupt_wkups: u64,
2237 pub ri_child_pageins: u64,
2238 pub ri_child_elapsed_abstime: u64,
2239 pub ri_diskio_bytesread: u64,
2240 pub ri_diskio_byteswritten: u64,
2241}
2242#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2243const _: () = {
2244 ["Size of rusage_info_v2"][::std::mem::size_of::<rusage_info_v2>() - 160usize];
2245 ["Alignment of rusage_info_v2"][::std::mem::align_of::<rusage_info_v2>() - 8usize];
2246 ["Offset of field: rusage_info_v2::ri_uuid"]
2247 [::std::mem::offset_of!(rusage_info_v2, ri_uuid) - 0usize];
2248 ["Offset of field: rusage_info_v2::ri_user_time"]
2249 [::std::mem::offset_of!(rusage_info_v2, ri_user_time) - 16usize];
2250 ["Offset of field: rusage_info_v2::ri_system_time"]
2251 [::std::mem::offset_of!(rusage_info_v2, ri_system_time) - 24usize];
2252 ["Offset of field: rusage_info_v2::ri_pkg_idle_wkups"]
2253 [::std::mem::offset_of!(rusage_info_v2, ri_pkg_idle_wkups) - 32usize];
2254 ["Offset of field: rusage_info_v2::ri_interrupt_wkups"]
2255 [::std::mem::offset_of!(rusage_info_v2, ri_interrupt_wkups) - 40usize];
2256 ["Offset of field: rusage_info_v2::ri_pageins"]
2257 [::std::mem::offset_of!(rusage_info_v2, ri_pageins) - 48usize];
2258 ["Offset of field: rusage_info_v2::ri_wired_size"]
2259 [::std::mem::offset_of!(rusage_info_v2, ri_wired_size) - 56usize];
2260 ["Offset of field: rusage_info_v2::ri_resident_size"]
2261 [::std::mem::offset_of!(rusage_info_v2, ri_resident_size) - 64usize];
2262 ["Offset of field: rusage_info_v2::ri_phys_footprint"]
2263 [::std::mem::offset_of!(rusage_info_v2, ri_phys_footprint) - 72usize];
2264 ["Offset of field: rusage_info_v2::ri_proc_start_abstime"]
2265 [::std::mem::offset_of!(rusage_info_v2, ri_proc_start_abstime) - 80usize];
2266 ["Offset of field: rusage_info_v2::ri_proc_exit_abstime"]
2267 [::std::mem::offset_of!(rusage_info_v2, ri_proc_exit_abstime) - 88usize];
2268 ["Offset of field: rusage_info_v2::ri_child_user_time"]
2269 [::std::mem::offset_of!(rusage_info_v2, ri_child_user_time) - 96usize];
2270 ["Offset of field: rusage_info_v2::ri_child_system_time"]
2271 [::std::mem::offset_of!(rusage_info_v2, ri_child_system_time) - 104usize];
2272 ["Offset of field: rusage_info_v2::ri_child_pkg_idle_wkups"]
2273 [::std::mem::offset_of!(rusage_info_v2, ri_child_pkg_idle_wkups) - 112usize];
2274 ["Offset of field: rusage_info_v2::ri_child_interrupt_wkups"]
2275 [::std::mem::offset_of!(rusage_info_v2, ri_child_interrupt_wkups) - 120usize];
2276 ["Offset of field: rusage_info_v2::ri_child_pageins"]
2277 [::std::mem::offset_of!(rusage_info_v2, ri_child_pageins) - 128usize];
2278 ["Offset of field: rusage_info_v2::ri_child_elapsed_abstime"]
2279 [::std::mem::offset_of!(rusage_info_v2, ri_child_elapsed_abstime) - 136usize];
2280 ["Offset of field: rusage_info_v2::ri_diskio_bytesread"]
2281 [::std::mem::offset_of!(rusage_info_v2, ri_diskio_bytesread) - 144usize];
2282 ["Offset of field: rusage_info_v2::ri_diskio_byteswritten"]
2283 [::std::mem::offset_of!(rusage_info_v2, ri_diskio_byteswritten) - 152usize];
2284};
2285#[repr(C)]
2286#[derive(Debug, Copy, Clone)]
2287pub struct rusage_info_v3 {
2288 pub ri_uuid: [u8; 16usize],
2289 pub ri_user_time: u64,
2290 pub ri_system_time: u64,
2291 pub ri_pkg_idle_wkups: u64,
2292 pub ri_interrupt_wkups: u64,
2293 pub ri_pageins: u64,
2294 pub ri_wired_size: u64,
2295 pub ri_resident_size: u64,
2296 pub ri_phys_footprint: u64,
2297 pub ri_proc_start_abstime: u64,
2298 pub ri_proc_exit_abstime: u64,
2299 pub ri_child_user_time: u64,
2300 pub ri_child_system_time: u64,
2301 pub ri_child_pkg_idle_wkups: u64,
2302 pub ri_child_interrupt_wkups: u64,
2303 pub ri_child_pageins: u64,
2304 pub ri_child_elapsed_abstime: u64,
2305 pub ri_diskio_bytesread: u64,
2306 pub ri_diskio_byteswritten: u64,
2307 pub ri_cpu_time_qos_default: u64,
2308 pub ri_cpu_time_qos_maintenance: u64,
2309 pub ri_cpu_time_qos_background: u64,
2310 pub ri_cpu_time_qos_utility: u64,
2311 pub ri_cpu_time_qos_legacy: u64,
2312 pub ri_cpu_time_qos_user_initiated: u64,
2313 pub ri_cpu_time_qos_user_interactive: u64,
2314 pub ri_billed_system_time: u64,
2315 pub ri_serviced_system_time: u64,
2316}
2317#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2318const _: () = {
2319 ["Size of rusage_info_v3"][::std::mem::size_of::<rusage_info_v3>() - 232usize];
2320 ["Alignment of rusage_info_v3"][::std::mem::align_of::<rusage_info_v3>() - 8usize];
2321 ["Offset of field: rusage_info_v3::ri_uuid"]
2322 [::std::mem::offset_of!(rusage_info_v3, ri_uuid) - 0usize];
2323 ["Offset of field: rusage_info_v3::ri_user_time"]
2324 [::std::mem::offset_of!(rusage_info_v3, ri_user_time) - 16usize];
2325 ["Offset of field: rusage_info_v3::ri_system_time"]
2326 [::std::mem::offset_of!(rusage_info_v3, ri_system_time) - 24usize];
2327 ["Offset of field: rusage_info_v3::ri_pkg_idle_wkups"]
2328 [::std::mem::offset_of!(rusage_info_v3, ri_pkg_idle_wkups) - 32usize];
2329 ["Offset of field: rusage_info_v3::ri_interrupt_wkups"]
2330 [::std::mem::offset_of!(rusage_info_v3, ri_interrupt_wkups) - 40usize];
2331 ["Offset of field: rusage_info_v3::ri_pageins"]
2332 [::std::mem::offset_of!(rusage_info_v3, ri_pageins) - 48usize];
2333 ["Offset of field: rusage_info_v3::ri_wired_size"]
2334 [::std::mem::offset_of!(rusage_info_v3, ri_wired_size) - 56usize];
2335 ["Offset of field: rusage_info_v3::ri_resident_size"]
2336 [::std::mem::offset_of!(rusage_info_v3, ri_resident_size) - 64usize];
2337 ["Offset of field: rusage_info_v3::ri_phys_footprint"]
2338 [::std::mem::offset_of!(rusage_info_v3, ri_phys_footprint) - 72usize];
2339 ["Offset of field: rusage_info_v3::ri_proc_start_abstime"]
2340 [::std::mem::offset_of!(rusage_info_v3, ri_proc_start_abstime) - 80usize];
2341 ["Offset of field: rusage_info_v3::ri_proc_exit_abstime"]
2342 [::std::mem::offset_of!(rusage_info_v3, ri_proc_exit_abstime) - 88usize];
2343 ["Offset of field: rusage_info_v3::ri_child_user_time"]
2344 [::std::mem::offset_of!(rusage_info_v3, ri_child_user_time) - 96usize];
2345 ["Offset of field: rusage_info_v3::ri_child_system_time"]
2346 [::std::mem::offset_of!(rusage_info_v3, ri_child_system_time) - 104usize];
2347 ["Offset of field: rusage_info_v3::ri_child_pkg_idle_wkups"]
2348 [::std::mem::offset_of!(rusage_info_v3, ri_child_pkg_idle_wkups) - 112usize];
2349 ["Offset of field: rusage_info_v3::ri_child_interrupt_wkups"]
2350 [::std::mem::offset_of!(rusage_info_v3, ri_child_interrupt_wkups) - 120usize];
2351 ["Offset of field: rusage_info_v3::ri_child_pageins"]
2352 [::std::mem::offset_of!(rusage_info_v3, ri_child_pageins) - 128usize];
2353 ["Offset of field: rusage_info_v3::ri_child_elapsed_abstime"]
2354 [::std::mem::offset_of!(rusage_info_v3, ri_child_elapsed_abstime) - 136usize];
2355 ["Offset of field: rusage_info_v3::ri_diskio_bytesread"]
2356 [::std::mem::offset_of!(rusage_info_v3, ri_diskio_bytesread) - 144usize];
2357 ["Offset of field: rusage_info_v3::ri_diskio_byteswritten"]
2358 [::std::mem::offset_of!(rusage_info_v3, ri_diskio_byteswritten) - 152usize];
2359 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_default"]
2360 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_default) - 160usize];
2361 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_maintenance"]
2362 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_maintenance) - 168usize];
2363 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_background"]
2364 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_background) - 176usize];
2365 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_utility"]
2366 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_utility) - 184usize];
2367 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_legacy"]
2368 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_legacy) - 192usize];
2369 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_user_initiated"]
2370 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_user_initiated) - 200usize];
2371 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_user_interactive"]
2372 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_user_interactive) - 208usize];
2373 ["Offset of field: rusage_info_v3::ri_billed_system_time"]
2374 [::std::mem::offset_of!(rusage_info_v3, ri_billed_system_time) - 216usize];
2375 ["Offset of field: rusage_info_v3::ri_serviced_system_time"]
2376 [::std::mem::offset_of!(rusage_info_v3, ri_serviced_system_time) - 224usize];
2377};
2378#[repr(C)]
2379#[derive(Debug, Copy, Clone)]
2380pub struct rusage_info_v4 {
2381 pub ri_uuid: [u8; 16usize],
2382 pub ri_user_time: u64,
2383 pub ri_system_time: u64,
2384 pub ri_pkg_idle_wkups: u64,
2385 pub ri_interrupt_wkups: u64,
2386 pub ri_pageins: u64,
2387 pub ri_wired_size: u64,
2388 pub ri_resident_size: u64,
2389 pub ri_phys_footprint: u64,
2390 pub ri_proc_start_abstime: u64,
2391 pub ri_proc_exit_abstime: u64,
2392 pub ri_child_user_time: u64,
2393 pub ri_child_system_time: u64,
2394 pub ri_child_pkg_idle_wkups: u64,
2395 pub ri_child_interrupt_wkups: u64,
2396 pub ri_child_pageins: u64,
2397 pub ri_child_elapsed_abstime: u64,
2398 pub ri_diskio_bytesread: u64,
2399 pub ri_diskio_byteswritten: u64,
2400 pub ri_cpu_time_qos_default: u64,
2401 pub ri_cpu_time_qos_maintenance: u64,
2402 pub ri_cpu_time_qos_background: u64,
2403 pub ri_cpu_time_qos_utility: u64,
2404 pub ri_cpu_time_qos_legacy: u64,
2405 pub ri_cpu_time_qos_user_initiated: u64,
2406 pub ri_cpu_time_qos_user_interactive: u64,
2407 pub ri_billed_system_time: u64,
2408 pub ri_serviced_system_time: u64,
2409 pub ri_logical_writes: u64,
2410 pub ri_lifetime_max_phys_footprint: u64,
2411 pub ri_instructions: u64,
2412 pub ri_cycles: u64,
2413 pub ri_billed_energy: u64,
2414 pub ri_serviced_energy: u64,
2415 pub ri_interval_max_phys_footprint: u64,
2416 pub ri_runnable_time: u64,
2417}
2418#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2419const _: () = {
2420 ["Size of rusage_info_v4"][::std::mem::size_of::<rusage_info_v4>() - 296usize];
2421 ["Alignment of rusage_info_v4"][::std::mem::align_of::<rusage_info_v4>() - 8usize];
2422 ["Offset of field: rusage_info_v4::ri_uuid"]
2423 [::std::mem::offset_of!(rusage_info_v4, ri_uuid) - 0usize];
2424 ["Offset of field: rusage_info_v4::ri_user_time"]
2425 [::std::mem::offset_of!(rusage_info_v4, ri_user_time) - 16usize];
2426 ["Offset of field: rusage_info_v4::ri_system_time"]
2427 [::std::mem::offset_of!(rusage_info_v4, ri_system_time) - 24usize];
2428 ["Offset of field: rusage_info_v4::ri_pkg_idle_wkups"]
2429 [::std::mem::offset_of!(rusage_info_v4, ri_pkg_idle_wkups) - 32usize];
2430 ["Offset of field: rusage_info_v4::ri_interrupt_wkups"]
2431 [::std::mem::offset_of!(rusage_info_v4, ri_interrupt_wkups) - 40usize];
2432 ["Offset of field: rusage_info_v4::ri_pageins"]
2433 [::std::mem::offset_of!(rusage_info_v4, ri_pageins) - 48usize];
2434 ["Offset of field: rusage_info_v4::ri_wired_size"]
2435 [::std::mem::offset_of!(rusage_info_v4, ri_wired_size) - 56usize];
2436 ["Offset of field: rusage_info_v4::ri_resident_size"]
2437 [::std::mem::offset_of!(rusage_info_v4, ri_resident_size) - 64usize];
2438 ["Offset of field: rusage_info_v4::ri_phys_footprint"]
2439 [::std::mem::offset_of!(rusage_info_v4, ri_phys_footprint) - 72usize];
2440 ["Offset of field: rusage_info_v4::ri_proc_start_abstime"]
2441 [::std::mem::offset_of!(rusage_info_v4, ri_proc_start_abstime) - 80usize];
2442 ["Offset of field: rusage_info_v4::ri_proc_exit_abstime"]
2443 [::std::mem::offset_of!(rusage_info_v4, ri_proc_exit_abstime) - 88usize];
2444 ["Offset of field: rusage_info_v4::ri_child_user_time"]
2445 [::std::mem::offset_of!(rusage_info_v4, ri_child_user_time) - 96usize];
2446 ["Offset of field: rusage_info_v4::ri_child_system_time"]
2447 [::std::mem::offset_of!(rusage_info_v4, ri_child_system_time) - 104usize];
2448 ["Offset of field: rusage_info_v4::ri_child_pkg_idle_wkups"]
2449 [::std::mem::offset_of!(rusage_info_v4, ri_child_pkg_idle_wkups) - 112usize];
2450 ["Offset of field: rusage_info_v4::ri_child_interrupt_wkups"]
2451 [::std::mem::offset_of!(rusage_info_v4, ri_child_interrupt_wkups) - 120usize];
2452 ["Offset of field: rusage_info_v4::ri_child_pageins"]
2453 [::std::mem::offset_of!(rusage_info_v4, ri_child_pageins) - 128usize];
2454 ["Offset of field: rusage_info_v4::ri_child_elapsed_abstime"]
2455 [::std::mem::offset_of!(rusage_info_v4, ri_child_elapsed_abstime) - 136usize];
2456 ["Offset of field: rusage_info_v4::ri_diskio_bytesread"]
2457 [::std::mem::offset_of!(rusage_info_v4, ri_diskio_bytesread) - 144usize];
2458 ["Offset of field: rusage_info_v4::ri_diskio_byteswritten"]
2459 [::std::mem::offset_of!(rusage_info_v4, ri_diskio_byteswritten) - 152usize];
2460 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_default"]
2461 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_default) - 160usize];
2462 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_maintenance"]
2463 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_maintenance) - 168usize];
2464 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_background"]
2465 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_background) - 176usize];
2466 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_utility"]
2467 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_utility) - 184usize];
2468 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_legacy"]
2469 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_legacy) - 192usize];
2470 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_user_initiated"]
2471 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_user_initiated) - 200usize];
2472 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_user_interactive"]
2473 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_user_interactive) - 208usize];
2474 ["Offset of field: rusage_info_v4::ri_billed_system_time"]
2475 [::std::mem::offset_of!(rusage_info_v4, ri_billed_system_time) - 216usize];
2476 ["Offset of field: rusage_info_v4::ri_serviced_system_time"]
2477 [::std::mem::offset_of!(rusage_info_v4, ri_serviced_system_time) - 224usize];
2478 ["Offset of field: rusage_info_v4::ri_logical_writes"]
2479 [::std::mem::offset_of!(rusage_info_v4, ri_logical_writes) - 232usize];
2480 ["Offset of field: rusage_info_v4::ri_lifetime_max_phys_footprint"]
2481 [::std::mem::offset_of!(rusage_info_v4, ri_lifetime_max_phys_footprint) - 240usize];
2482 ["Offset of field: rusage_info_v4::ri_instructions"]
2483 [::std::mem::offset_of!(rusage_info_v4, ri_instructions) - 248usize];
2484 ["Offset of field: rusage_info_v4::ri_cycles"]
2485 [::std::mem::offset_of!(rusage_info_v4, ri_cycles) - 256usize];
2486 ["Offset of field: rusage_info_v4::ri_billed_energy"]
2487 [::std::mem::offset_of!(rusage_info_v4, ri_billed_energy) - 264usize];
2488 ["Offset of field: rusage_info_v4::ri_serviced_energy"]
2489 [::std::mem::offset_of!(rusage_info_v4, ri_serviced_energy) - 272usize];
2490 ["Offset of field: rusage_info_v4::ri_interval_max_phys_footprint"]
2491 [::std::mem::offset_of!(rusage_info_v4, ri_interval_max_phys_footprint) - 280usize];
2492 ["Offset of field: rusage_info_v4::ri_runnable_time"]
2493 [::std::mem::offset_of!(rusage_info_v4, ri_runnable_time) - 288usize];
2494};
2495#[repr(C)]
2496#[derive(Debug, Copy, Clone)]
2497pub struct rusage_info_v5 {
2498 pub ri_uuid: [u8; 16usize],
2499 pub ri_user_time: u64,
2500 pub ri_system_time: u64,
2501 pub ri_pkg_idle_wkups: u64,
2502 pub ri_interrupt_wkups: u64,
2503 pub ri_pageins: u64,
2504 pub ri_wired_size: u64,
2505 pub ri_resident_size: u64,
2506 pub ri_phys_footprint: u64,
2507 pub ri_proc_start_abstime: u64,
2508 pub ri_proc_exit_abstime: u64,
2509 pub ri_child_user_time: u64,
2510 pub ri_child_system_time: u64,
2511 pub ri_child_pkg_idle_wkups: u64,
2512 pub ri_child_interrupt_wkups: u64,
2513 pub ri_child_pageins: u64,
2514 pub ri_child_elapsed_abstime: u64,
2515 pub ri_diskio_bytesread: u64,
2516 pub ri_diskio_byteswritten: u64,
2517 pub ri_cpu_time_qos_default: u64,
2518 pub ri_cpu_time_qos_maintenance: u64,
2519 pub ri_cpu_time_qos_background: u64,
2520 pub ri_cpu_time_qos_utility: u64,
2521 pub ri_cpu_time_qos_legacy: u64,
2522 pub ri_cpu_time_qos_user_initiated: u64,
2523 pub ri_cpu_time_qos_user_interactive: u64,
2524 pub ri_billed_system_time: u64,
2525 pub ri_serviced_system_time: u64,
2526 pub ri_logical_writes: u64,
2527 pub ri_lifetime_max_phys_footprint: u64,
2528 pub ri_instructions: u64,
2529 pub ri_cycles: u64,
2530 pub ri_billed_energy: u64,
2531 pub ri_serviced_energy: u64,
2532 pub ri_interval_max_phys_footprint: u64,
2533 pub ri_runnable_time: u64,
2534 pub ri_flags: u64,
2535}
2536#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2537const _: () = {
2538 ["Size of rusage_info_v5"][::std::mem::size_of::<rusage_info_v5>() - 304usize];
2539 ["Alignment of rusage_info_v5"][::std::mem::align_of::<rusage_info_v5>() - 8usize];
2540 ["Offset of field: rusage_info_v5::ri_uuid"]
2541 [::std::mem::offset_of!(rusage_info_v5, ri_uuid) - 0usize];
2542 ["Offset of field: rusage_info_v5::ri_user_time"]
2543 [::std::mem::offset_of!(rusage_info_v5, ri_user_time) - 16usize];
2544 ["Offset of field: rusage_info_v5::ri_system_time"]
2545 [::std::mem::offset_of!(rusage_info_v5, ri_system_time) - 24usize];
2546 ["Offset of field: rusage_info_v5::ri_pkg_idle_wkups"]
2547 [::std::mem::offset_of!(rusage_info_v5, ri_pkg_idle_wkups) - 32usize];
2548 ["Offset of field: rusage_info_v5::ri_interrupt_wkups"]
2549 [::std::mem::offset_of!(rusage_info_v5, ri_interrupt_wkups) - 40usize];
2550 ["Offset of field: rusage_info_v5::ri_pageins"]
2551 [::std::mem::offset_of!(rusage_info_v5, ri_pageins) - 48usize];
2552 ["Offset of field: rusage_info_v5::ri_wired_size"]
2553 [::std::mem::offset_of!(rusage_info_v5, ri_wired_size) - 56usize];
2554 ["Offset of field: rusage_info_v5::ri_resident_size"]
2555 [::std::mem::offset_of!(rusage_info_v5, ri_resident_size) - 64usize];
2556 ["Offset of field: rusage_info_v5::ri_phys_footprint"]
2557 [::std::mem::offset_of!(rusage_info_v5, ri_phys_footprint) - 72usize];
2558 ["Offset of field: rusage_info_v5::ri_proc_start_abstime"]
2559 [::std::mem::offset_of!(rusage_info_v5, ri_proc_start_abstime) - 80usize];
2560 ["Offset of field: rusage_info_v5::ri_proc_exit_abstime"]
2561 [::std::mem::offset_of!(rusage_info_v5, ri_proc_exit_abstime) - 88usize];
2562 ["Offset of field: rusage_info_v5::ri_child_user_time"]
2563 [::std::mem::offset_of!(rusage_info_v5, ri_child_user_time) - 96usize];
2564 ["Offset of field: rusage_info_v5::ri_child_system_time"]
2565 [::std::mem::offset_of!(rusage_info_v5, ri_child_system_time) - 104usize];
2566 ["Offset of field: rusage_info_v5::ri_child_pkg_idle_wkups"]
2567 [::std::mem::offset_of!(rusage_info_v5, ri_child_pkg_idle_wkups) - 112usize];
2568 ["Offset of field: rusage_info_v5::ri_child_interrupt_wkups"]
2569 [::std::mem::offset_of!(rusage_info_v5, ri_child_interrupt_wkups) - 120usize];
2570 ["Offset of field: rusage_info_v5::ri_child_pageins"]
2571 [::std::mem::offset_of!(rusage_info_v5, ri_child_pageins) - 128usize];
2572 ["Offset of field: rusage_info_v5::ri_child_elapsed_abstime"]
2573 [::std::mem::offset_of!(rusage_info_v5, ri_child_elapsed_abstime) - 136usize];
2574 ["Offset of field: rusage_info_v5::ri_diskio_bytesread"]
2575 [::std::mem::offset_of!(rusage_info_v5, ri_diskio_bytesread) - 144usize];
2576 ["Offset of field: rusage_info_v5::ri_diskio_byteswritten"]
2577 [::std::mem::offset_of!(rusage_info_v5, ri_diskio_byteswritten) - 152usize];
2578 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_default"]
2579 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_default) - 160usize];
2580 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_maintenance"]
2581 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_maintenance) - 168usize];
2582 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_background"]
2583 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_background) - 176usize];
2584 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_utility"]
2585 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_utility) - 184usize];
2586 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_legacy"]
2587 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_legacy) - 192usize];
2588 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_user_initiated"]
2589 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_user_initiated) - 200usize];
2590 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_user_interactive"]
2591 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_user_interactive) - 208usize];
2592 ["Offset of field: rusage_info_v5::ri_billed_system_time"]
2593 [::std::mem::offset_of!(rusage_info_v5, ri_billed_system_time) - 216usize];
2594 ["Offset of field: rusage_info_v5::ri_serviced_system_time"]
2595 [::std::mem::offset_of!(rusage_info_v5, ri_serviced_system_time) - 224usize];
2596 ["Offset of field: rusage_info_v5::ri_logical_writes"]
2597 [::std::mem::offset_of!(rusage_info_v5, ri_logical_writes) - 232usize];
2598 ["Offset of field: rusage_info_v5::ri_lifetime_max_phys_footprint"]
2599 [::std::mem::offset_of!(rusage_info_v5, ri_lifetime_max_phys_footprint) - 240usize];
2600 ["Offset of field: rusage_info_v5::ri_instructions"]
2601 [::std::mem::offset_of!(rusage_info_v5, ri_instructions) - 248usize];
2602 ["Offset of field: rusage_info_v5::ri_cycles"]
2603 [::std::mem::offset_of!(rusage_info_v5, ri_cycles) - 256usize];
2604 ["Offset of field: rusage_info_v5::ri_billed_energy"]
2605 [::std::mem::offset_of!(rusage_info_v5, ri_billed_energy) - 264usize];
2606 ["Offset of field: rusage_info_v5::ri_serviced_energy"]
2607 [::std::mem::offset_of!(rusage_info_v5, ri_serviced_energy) - 272usize];
2608 ["Offset of field: rusage_info_v5::ri_interval_max_phys_footprint"]
2609 [::std::mem::offset_of!(rusage_info_v5, ri_interval_max_phys_footprint) - 280usize];
2610 ["Offset of field: rusage_info_v5::ri_runnable_time"]
2611 [::std::mem::offset_of!(rusage_info_v5, ri_runnable_time) - 288usize];
2612 ["Offset of field: rusage_info_v5::ri_flags"]
2613 [::std::mem::offset_of!(rusage_info_v5, ri_flags) - 296usize];
2614};
2615#[repr(C)]
2616#[derive(Debug, Copy, Clone)]
2617pub struct rusage_info_v6 {
2618 pub ri_uuid: [u8; 16usize],
2619 pub ri_user_time: u64,
2620 pub ri_system_time: u64,
2621 pub ri_pkg_idle_wkups: u64,
2622 pub ri_interrupt_wkups: u64,
2623 pub ri_pageins: u64,
2624 pub ri_wired_size: u64,
2625 pub ri_resident_size: u64,
2626 pub ri_phys_footprint: u64,
2627 pub ri_proc_start_abstime: u64,
2628 pub ri_proc_exit_abstime: u64,
2629 pub ri_child_user_time: u64,
2630 pub ri_child_system_time: u64,
2631 pub ri_child_pkg_idle_wkups: u64,
2632 pub ri_child_interrupt_wkups: u64,
2633 pub ri_child_pageins: u64,
2634 pub ri_child_elapsed_abstime: u64,
2635 pub ri_diskio_bytesread: u64,
2636 pub ri_diskio_byteswritten: u64,
2637 pub ri_cpu_time_qos_default: u64,
2638 pub ri_cpu_time_qos_maintenance: u64,
2639 pub ri_cpu_time_qos_background: u64,
2640 pub ri_cpu_time_qos_utility: u64,
2641 pub ri_cpu_time_qos_legacy: u64,
2642 pub ri_cpu_time_qos_user_initiated: u64,
2643 pub ri_cpu_time_qos_user_interactive: u64,
2644 pub ri_billed_system_time: u64,
2645 pub ri_serviced_system_time: u64,
2646 pub ri_logical_writes: u64,
2647 pub ri_lifetime_max_phys_footprint: u64,
2648 pub ri_instructions: u64,
2649 pub ri_cycles: u64,
2650 pub ri_billed_energy: u64,
2651 pub ri_serviced_energy: u64,
2652 pub ri_interval_max_phys_footprint: u64,
2653 pub ri_runnable_time: u64,
2654 pub ri_flags: u64,
2655 pub ri_user_ptime: u64,
2656 pub ri_system_ptime: u64,
2657 pub ri_pinstructions: u64,
2658 pub ri_pcycles: u64,
2659 pub ri_energy_nj: u64,
2660 pub ri_penergy_nj: u64,
2661 pub ri_secure_time_in_system: u64,
2662 pub ri_secure_ptime_in_system: u64,
2663 pub ri_neural_footprint: u64,
2664 pub ri_lifetime_max_neural_footprint: u64,
2665 pub ri_interval_max_neural_footprint: u64,
2666 pub ri_reserved: [u64; 9usize],
2667}
2668#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2669const _: () = {
2670 ["Size of rusage_info_v6"][::std::mem::size_of::<rusage_info_v6>() - 464usize];
2671 ["Alignment of rusage_info_v6"][::std::mem::align_of::<rusage_info_v6>() - 8usize];
2672 ["Offset of field: rusage_info_v6::ri_uuid"]
2673 [::std::mem::offset_of!(rusage_info_v6, ri_uuid) - 0usize];
2674 ["Offset of field: rusage_info_v6::ri_user_time"]
2675 [::std::mem::offset_of!(rusage_info_v6, ri_user_time) - 16usize];
2676 ["Offset of field: rusage_info_v6::ri_system_time"]
2677 [::std::mem::offset_of!(rusage_info_v6, ri_system_time) - 24usize];
2678 ["Offset of field: rusage_info_v6::ri_pkg_idle_wkups"]
2679 [::std::mem::offset_of!(rusage_info_v6, ri_pkg_idle_wkups) - 32usize];
2680 ["Offset of field: rusage_info_v6::ri_interrupt_wkups"]
2681 [::std::mem::offset_of!(rusage_info_v6, ri_interrupt_wkups) - 40usize];
2682 ["Offset of field: rusage_info_v6::ri_pageins"]
2683 [::std::mem::offset_of!(rusage_info_v6, ri_pageins) - 48usize];
2684 ["Offset of field: rusage_info_v6::ri_wired_size"]
2685 [::std::mem::offset_of!(rusage_info_v6, ri_wired_size) - 56usize];
2686 ["Offset of field: rusage_info_v6::ri_resident_size"]
2687 [::std::mem::offset_of!(rusage_info_v6, ri_resident_size) - 64usize];
2688 ["Offset of field: rusage_info_v6::ri_phys_footprint"]
2689 [::std::mem::offset_of!(rusage_info_v6, ri_phys_footprint) - 72usize];
2690 ["Offset of field: rusage_info_v6::ri_proc_start_abstime"]
2691 [::std::mem::offset_of!(rusage_info_v6, ri_proc_start_abstime) - 80usize];
2692 ["Offset of field: rusage_info_v6::ri_proc_exit_abstime"]
2693 [::std::mem::offset_of!(rusage_info_v6, ri_proc_exit_abstime) - 88usize];
2694 ["Offset of field: rusage_info_v6::ri_child_user_time"]
2695 [::std::mem::offset_of!(rusage_info_v6, ri_child_user_time) - 96usize];
2696 ["Offset of field: rusage_info_v6::ri_child_system_time"]
2697 [::std::mem::offset_of!(rusage_info_v6, ri_child_system_time) - 104usize];
2698 ["Offset of field: rusage_info_v6::ri_child_pkg_idle_wkups"]
2699 [::std::mem::offset_of!(rusage_info_v6, ri_child_pkg_idle_wkups) - 112usize];
2700 ["Offset of field: rusage_info_v6::ri_child_interrupt_wkups"]
2701 [::std::mem::offset_of!(rusage_info_v6, ri_child_interrupt_wkups) - 120usize];
2702 ["Offset of field: rusage_info_v6::ri_child_pageins"]
2703 [::std::mem::offset_of!(rusage_info_v6, ri_child_pageins) - 128usize];
2704 ["Offset of field: rusage_info_v6::ri_child_elapsed_abstime"]
2705 [::std::mem::offset_of!(rusage_info_v6, ri_child_elapsed_abstime) - 136usize];
2706 ["Offset of field: rusage_info_v6::ri_diskio_bytesread"]
2707 [::std::mem::offset_of!(rusage_info_v6, ri_diskio_bytesread) - 144usize];
2708 ["Offset of field: rusage_info_v6::ri_diskio_byteswritten"]
2709 [::std::mem::offset_of!(rusage_info_v6, ri_diskio_byteswritten) - 152usize];
2710 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_default"]
2711 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_default) - 160usize];
2712 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_maintenance"]
2713 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_maintenance) - 168usize];
2714 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_background"]
2715 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_background) - 176usize];
2716 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_utility"]
2717 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_utility) - 184usize];
2718 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_legacy"]
2719 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_legacy) - 192usize];
2720 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_user_initiated"]
2721 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_user_initiated) - 200usize];
2722 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_user_interactive"]
2723 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_user_interactive) - 208usize];
2724 ["Offset of field: rusage_info_v6::ri_billed_system_time"]
2725 [::std::mem::offset_of!(rusage_info_v6, ri_billed_system_time) - 216usize];
2726 ["Offset of field: rusage_info_v6::ri_serviced_system_time"]
2727 [::std::mem::offset_of!(rusage_info_v6, ri_serviced_system_time) - 224usize];
2728 ["Offset of field: rusage_info_v6::ri_logical_writes"]
2729 [::std::mem::offset_of!(rusage_info_v6, ri_logical_writes) - 232usize];
2730 ["Offset of field: rusage_info_v6::ri_lifetime_max_phys_footprint"]
2731 [::std::mem::offset_of!(rusage_info_v6, ri_lifetime_max_phys_footprint) - 240usize];
2732 ["Offset of field: rusage_info_v6::ri_instructions"]
2733 [::std::mem::offset_of!(rusage_info_v6, ri_instructions) - 248usize];
2734 ["Offset of field: rusage_info_v6::ri_cycles"]
2735 [::std::mem::offset_of!(rusage_info_v6, ri_cycles) - 256usize];
2736 ["Offset of field: rusage_info_v6::ri_billed_energy"]
2737 [::std::mem::offset_of!(rusage_info_v6, ri_billed_energy) - 264usize];
2738 ["Offset of field: rusage_info_v6::ri_serviced_energy"]
2739 [::std::mem::offset_of!(rusage_info_v6, ri_serviced_energy) - 272usize];
2740 ["Offset of field: rusage_info_v6::ri_interval_max_phys_footprint"]
2741 [::std::mem::offset_of!(rusage_info_v6, ri_interval_max_phys_footprint) - 280usize];
2742 ["Offset of field: rusage_info_v6::ri_runnable_time"]
2743 [::std::mem::offset_of!(rusage_info_v6, ri_runnable_time) - 288usize];
2744 ["Offset of field: rusage_info_v6::ri_flags"]
2745 [::std::mem::offset_of!(rusage_info_v6, ri_flags) - 296usize];
2746 ["Offset of field: rusage_info_v6::ri_user_ptime"]
2747 [::std::mem::offset_of!(rusage_info_v6, ri_user_ptime) - 304usize];
2748 ["Offset of field: rusage_info_v6::ri_system_ptime"]
2749 [::std::mem::offset_of!(rusage_info_v6, ri_system_ptime) - 312usize];
2750 ["Offset of field: rusage_info_v6::ri_pinstructions"]
2751 [::std::mem::offset_of!(rusage_info_v6, ri_pinstructions) - 320usize];
2752 ["Offset of field: rusage_info_v6::ri_pcycles"]
2753 [::std::mem::offset_of!(rusage_info_v6, ri_pcycles) - 328usize];
2754 ["Offset of field: rusage_info_v6::ri_energy_nj"]
2755 [::std::mem::offset_of!(rusage_info_v6, ri_energy_nj) - 336usize];
2756 ["Offset of field: rusage_info_v6::ri_penergy_nj"]
2757 [::std::mem::offset_of!(rusage_info_v6, ri_penergy_nj) - 344usize];
2758 ["Offset of field: rusage_info_v6::ri_secure_time_in_system"]
2759 [::std::mem::offset_of!(rusage_info_v6, ri_secure_time_in_system) - 352usize];
2760 ["Offset of field: rusage_info_v6::ri_secure_ptime_in_system"]
2761 [::std::mem::offset_of!(rusage_info_v6, ri_secure_ptime_in_system) - 360usize];
2762 ["Offset of field: rusage_info_v6::ri_neural_footprint"]
2763 [::std::mem::offset_of!(rusage_info_v6, ri_neural_footprint) - 368usize];
2764 ["Offset of field: rusage_info_v6::ri_lifetime_max_neural_footprint"]
2765 [::std::mem::offset_of!(rusage_info_v6, ri_lifetime_max_neural_footprint) - 376usize];
2766 ["Offset of field: rusage_info_v6::ri_interval_max_neural_footprint"]
2767 [::std::mem::offset_of!(rusage_info_v6, ri_interval_max_neural_footprint) - 384usize];
2768 ["Offset of field: rusage_info_v6::ri_reserved"]
2769 [::std::mem::offset_of!(rusage_info_v6, ri_reserved) - 392usize];
2770};
2771pub type rusage_info_current = rusage_info_v6;
2772#[repr(C)]
2773#[derive(Debug, Copy, Clone)]
2774pub struct rlimit {
2775 pub rlim_cur: rlim_t,
2776 pub rlim_max: rlim_t,
2777}
2778#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2779const _: () = {
2780 ["Size of rlimit"][::std::mem::size_of::<rlimit>() - 16usize];
2781 ["Alignment of rlimit"][::std::mem::align_of::<rlimit>() - 8usize];
2782 ["Offset of field: rlimit::rlim_cur"][::std::mem::offset_of!(rlimit, rlim_cur) - 0usize];
2783 ["Offset of field: rlimit::rlim_max"][::std::mem::offset_of!(rlimit, rlim_max) - 8usize];
2784};
2785#[repr(C)]
2786#[derive(Debug, Copy, Clone)]
2787pub struct proc_rlimit_control_wakeupmon {
2788 pub wm_flags: u32,
2789 pub wm_rate: i32,
2790}
2791#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2792const _: () = {
2793 ["Size of proc_rlimit_control_wakeupmon"]
2794 [::std::mem::size_of::<proc_rlimit_control_wakeupmon>() - 8usize];
2795 ["Alignment of proc_rlimit_control_wakeupmon"]
2796 [::std::mem::align_of::<proc_rlimit_control_wakeupmon>() - 4usize];
2797 ["Offset of field: proc_rlimit_control_wakeupmon::wm_flags"]
2798 [::std::mem::offset_of!(proc_rlimit_control_wakeupmon, wm_flags) - 0usize];
2799 ["Offset of field: proc_rlimit_control_wakeupmon::wm_rate"]
2800 [::std::mem::offset_of!(proc_rlimit_control_wakeupmon, wm_rate) - 4usize];
2801};
2802unsafe extern "C" {
2803 pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int;
2804}
2805unsafe extern "C" {
2806 pub fn getiopolicy_np(
2807 arg1: ::std::os::raw::c_int,
2808 arg2: ::std::os::raw::c_int,
2809 ) -> ::std::os::raw::c_int;
2810}
2811unsafe extern "C" {
2812 pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int;
2813}
2814unsafe extern "C" {
2815 pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int;
2816}
2817unsafe extern "C" {
2818 pub fn setpriority(
2819 arg1: ::std::os::raw::c_int,
2820 arg2: id_t,
2821 arg3: ::std::os::raw::c_int,
2822 ) -> ::std::os::raw::c_int;
2823}
2824unsafe extern "C" {
2825 pub fn setiopolicy_np(
2826 arg1: ::std::os::raw::c_int,
2827 arg2: ::std::os::raw::c_int,
2828 arg3: ::std::os::raw::c_int,
2829 ) -> ::std::os::raw::c_int;
2830}
2831unsafe extern "C" {
2832 pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int;
2833}
2834#[repr(C)]
2835#[derive(Copy, Clone)]
2836pub union wait {
2837 pub w_status: ::std::os::raw::c_int,
2838 pub w_T: wait__bindgen_ty_1,
2839 pub w_S: wait__bindgen_ty_2,
2840}
2841#[repr(C)]
2842#[repr(align(4))]
2843#[derive(Debug, Copy, Clone)]
2844pub struct wait__bindgen_ty_1 {
2845 pub _bitfield_align_1: [u16; 0],
2846 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2847}
2848#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2849const _: () = {
2850 ["Size of wait__bindgen_ty_1"][::std::mem::size_of::<wait__bindgen_ty_1>() - 4usize];
2851 ["Alignment of wait__bindgen_ty_1"][::std::mem::align_of::<wait__bindgen_ty_1>() - 4usize];
2852};
2853impl wait__bindgen_ty_1 {
2854 #[inline]
2855 pub fn w_Termsig(&self) -> ::std::os::raw::c_uint {
2856 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) }
2857 }
2858 #[inline]
2859 pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) {
2860 unsafe {
2861 let val: u32 = ::std::mem::transmute(val);
2862 self._bitfield_1.set(0usize, 7u8, val as u64)
2863 }
2864 }
2865 #[inline]
2866 pub unsafe fn w_Termsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
2867 unsafe {
2868 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
2869 ::std::ptr::addr_of!((*this)._bitfield_1),
2870 0usize,
2871 7u8,
2872 ) as u32)
2873 }
2874 }
2875 #[inline]
2876 pub unsafe fn set_w_Termsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
2877 unsafe {
2878 let val: u32 = ::std::mem::transmute(val);
2879 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
2880 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2881 0usize,
2882 7u8,
2883 val as u64,
2884 )
2885 }
2886 }
2887 #[inline]
2888 pub fn w_Coredump(&self) -> ::std::os::raw::c_uint {
2889 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
2890 }
2891 #[inline]
2892 pub fn set_w_Coredump(&mut self, val: ::std::os::raw::c_uint) {
2893 unsafe {
2894 let val: u32 = ::std::mem::transmute(val);
2895 self._bitfield_1.set(7usize, 1u8, val as u64)
2896 }
2897 }
2898 #[inline]
2899 pub unsafe fn w_Coredump_raw(this: *const Self) -> ::std::os::raw::c_uint {
2900 unsafe {
2901 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
2902 ::std::ptr::addr_of!((*this)._bitfield_1),
2903 7usize,
2904 1u8,
2905 ) as u32)
2906 }
2907 }
2908 #[inline]
2909 pub unsafe fn set_w_Coredump_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
2910 unsafe {
2911 let val: u32 = ::std::mem::transmute(val);
2912 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
2913 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2914 7usize,
2915 1u8,
2916 val as u64,
2917 )
2918 }
2919 }
2920 #[inline]
2921 pub fn w_Retcode(&self) -> ::std::os::raw::c_uint {
2922 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
2923 }
2924 #[inline]
2925 pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) {
2926 unsafe {
2927 let val: u32 = ::std::mem::transmute(val);
2928 self._bitfield_1.set(8usize, 8u8, val as u64)
2929 }
2930 }
2931 #[inline]
2932 pub unsafe fn w_Retcode_raw(this: *const Self) -> ::std::os::raw::c_uint {
2933 unsafe {
2934 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
2935 ::std::ptr::addr_of!((*this)._bitfield_1),
2936 8usize,
2937 8u8,
2938 ) as u32)
2939 }
2940 }
2941 #[inline]
2942 pub unsafe fn set_w_Retcode_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
2943 unsafe {
2944 let val: u32 = ::std::mem::transmute(val);
2945 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
2946 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2947 8usize,
2948 8u8,
2949 val as u64,
2950 )
2951 }
2952 }
2953 #[inline]
2954 pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
2955 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
2956 }
2957 #[inline]
2958 pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
2959 unsafe {
2960 let val: u32 = ::std::mem::transmute(val);
2961 self._bitfield_1.set(16usize, 16u8, val as u64)
2962 }
2963 }
2964 #[inline]
2965 pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
2966 unsafe {
2967 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
2968 ::std::ptr::addr_of!((*this)._bitfield_1),
2969 16usize,
2970 16u8,
2971 ) as u32)
2972 }
2973 }
2974 #[inline]
2975 pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
2976 unsafe {
2977 let val: u32 = ::std::mem::transmute(val);
2978 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
2979 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2980 16usize,
2981 16u8,
2982 val as u64,
2983 )
2984 }
2985 }
2986 #[inline]
2987 pub fn new_bitfield_1(
2988 w_Termsig: ::std::os::raw::c_uint,
2989 w_Coredump: ::std::os::raw::c_uint,
2990 w_Retcode: ::std::os::raw::c_uint,
2991 w_Filler: ::std::os::raw::c_uint,
2992 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2993 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2994 __bindgen_bitfield_unit.set(0usize, 7u8, {
2995 let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) };
2996 w_Termsig as u64
2997 });
2998 __bindgen_bitfield_unit.set(7usize, 1u8, {
2999 let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) };
3000 w_Coredump as u64
3001 });
3002 __bindgen_bitfield_unit.set(8usize, 8u8, {
3003 let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) };
3004 w_Retcode as u64
3005 });
3006 __bindgen_bitfield_unit.set(16usize, 16u8, {
3007 let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
3008 w_Filler as u64
3009 });
3010 __bindgen_bitfield_unit
3011 }
3012}
3013#[repr(C)]
3014#[repr(align(4))]
3015#[derive(Debug, Copy, Clone)]
3016pub struct wait__bindgen_ty_2 {
3017 pub _bitfield_align_1: [u16; 0],
3018 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3019}
3020#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3021const _: () = {
3022 ["Size of wait__bindgen_ty_2"][::std::mem::size_of::<wait__bindgen_ty_2>() - 4usize];
3023 ["Alignment of wait__bindgen_ty_2"][::std::mem::align_of::<wait__bindgen_ty_2>() - 4usize];
3024};
3025impl wait__bindgen_ty_2 {
3026 #[inline]
3027 pub fn w_Stopval(&self) -> ::std::os::raw::c_uint {
3028 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
3029 }
3030 #[inline]
3031 pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) {
3032 unsafe {
3033 let val: u32 = ::std::mem::transmute(val);
3034 self._bitfield_1.set(0usize, 8u8, val as u64)
3035 }
3036 }
3037 #[inline]
3038 pub unsafe fn w_Stopval_raw(this: *const Self) -> ::std::os::raw::c_uint {
3039 unsafe {
3040 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3041 ::std::ptr::addr_of!((*this)._bitfield_1),
3042 0usize,
3043 8u8,
3044 ) as u32)
3045 }
3046 }
3047 #[inline]
3048 pub unsafe fn set_w_Stopval_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3049 unsafe {
3050 let val: u32 = ::std::mem::transmute(val);
3051 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3052 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3053 0usize,
3054 8u8,
3055 val as u64,
3056 )
3057 }
3058 }
3059 #[inline]
3060 pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint {
3061 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
3062 }
3063 #[inline]
3064 pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) {
3065 unsafe {
3066 let val: u32 = ::std::mem::transmute(val);
3067 self._bitfield_1.set(8usize, 8u8, val as u64)
3068 }
3069 }
3070 #[inline]
3071 pub unsafe fn w_Stopsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
3072 unsafe {
3073 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3074 ::std::ptr::addr_of!((*this)._bitfield_1),
3075 8usize,
3076 8u8,
3077 ) as u32)
3078 }
3079 }
3080 #[inline]
3081 pub unsafe fn set_w_Stopsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3082 unsafe {
3083 let val: u32 = ::std::mem::transmute(val);
3084 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3085 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3086 8usize,
3087 8u8,
3088 val as u64,
3089 )
3090 }
3091 }
3092 #[inline]
3093 pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
3094 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
3095 }
3096 #[inline]
3097 pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
3098 unsafe {
3099 let val: u32 = ::std::mem::transmute(val);
3100 self._bitfield_1.set(16usize, 16u8, val as u64)
3101 }
3102 }
3103 #[inline]
3104 pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
3105 unsafe {
3106 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3107 ::std::ptr::addr_of!((*this)._bitfield_1),
3108 16usize,
3109 16u8,
3110 ) as u32)
3111 }
3112 }
3113 #[inline]
3114 pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3115 unsafe {
3116 let val: u32 = ::std::mem::transmute(val);
3117 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3118 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3119 16usize,
3120 16u8,
3121 val as u64,
3122 )
3123 }
3124 }
3125 #[inline]
3126 pub fn new_bitfield_1(
3127 w_Stopval: ::std::os::raw::c_uint,
3128 w_Stopsig: ::std::os::raw::c_uint,
3129 w_Filler: ::std::os::raw::c_uint,
3130 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
3131 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
3132 __bindgen_bitfield_unit.set(0usize, 8u8, {
3133 let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) };
3134 w_Stopval as u64
3135 });
3136 __bindgen_bitfield_unit.set(8usize, 8u8, {
3137 let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) };
3138 w_Stopsig as u64
3139 });
3140 __bindgen_bitfield_unit.set(16usize, 16u8, {
3141 let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
3142 w_Filler as u64
3143 });
3144 __bindgen_bitfield_unit
3145 }
3146}
3147#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3148const _: () = {
3149 ["Size of wait"][::std::mem::size_of::<wait>() - 4usize];
3150 ["Alignment of wait"][::std::mem::align_of::<wait>() - 4usize];
3151 ["Offset of field: wait::w_status"][::std::mem::offset_of!(wait, w_status) - 0usize];
3152 ["Offset of field: wait::w_T"][::std::mem::offset_of!(wait, w_T) - 0usize];
3153 ["Offset of field: wait::w_S"][::std::mem::offset_of!(wait, w_S) - 0usize];
3154};
3155unsafe extern "C" {
3156 pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t;
3157}
3158unsafe extern "C" {
3159 pub fn waitpid(
3160 arg1: pid_t,
3161 arg2: *mut ::std::os::raw::c_int,
3162 arg3: ::std::os::raw::c_int,
3163 ) -> pid_t;
3164}
3165unsafe extern "C" {
3166 pub fn waitid(
3167 arg1: idtype_t,
3168 arg2: id_t,
3169 arg3: *mut siginfo_t,
3170 arg4: ::std::os::raw::c_int,
3171 ) -> ::std::os::raw::c_int;
3172}
3173unsafe extern "C" {
3174 pub fn wait3(
3175 arg1: *mut ::std::os::raw::c_int,
3176 arg2: ::std::os::raw::c_int,
3177 arg3: *mut rusage,
3178 ) -> pid_t;
3179}
3180unsafe extern "C" {
3181 pub fn wait4(
3182 arg1: pid_t,
3183 arg2: *mut ::std::os::raw::c_int,
3184 arg3: ::std::os::raw::c_int,
3185 arg4: *mut rusage,
3186 ) -> pid_t;
3187}
3188unsafe extern "C" {
3189 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3190}
3191pub type ct_rune_t = __darwin_ct_rune_t;
3192pub type rune_t = __darwin_rune_t;
3193pub type wchar_t = __darwin_wchar_t;
3194#[repr(C)]
3195#[derive(Debug, Copy, Clone)]
3196pub struct div_t {
3197 pub quot: ::std::os::raw::c_int,
3198 pub rem: ::std::os::raw::c_int,
3199}
3200#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3201const _: () = {
3202 ["Size of div_t"][::std::mem::size_of::<div_t>() - 8usize];
3203 ["Alignment of div_t"][::std::mem::align_of::<div_t>() - 4usize];
3204 ["Offset of field: div_t::quot"][::std::mem::offset_of!(div_t, quot) - 0usize];
3205 ["Offset of field: div_t::rem"][::std::mem::offset_of!(div_t, rem) - 4usize];
3206};
3207#[repr(C)]
3208#[derive(Debug, Copy, Clone)]
3209pub struct ldiv_t {
3210 pub quot: ::std::os::raw::c_long,
3211 pub rem: ::std::os::raw::c_long,
3212}
3213#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3214const _: () = {
3215 ["Size of ldiv_t"][::std::mem::size_of::<ldiv_t>() - 16usize];
3216 ["Alignment of ldiv_t"][::std::mem::align_of::<ldiv_t>() - 8usize];
3217 ["Offset of field: ldiv_t::quot"][::std::mem::offset_of!(ldiv_t, quot) - 0usize];
3218 ["Offset of field: ldiv_t::rem"][::std::mem::offset_of!(ldiv_t, rem) - 8usize];
3219};
3220#[repr(C)]
3221#[derive(Debug, Copy, Clone)]
3222pub struct lldiv_t {
3223 pub quot: ::std::os::raw::c_longlong,
3224 pub rem: ::std::os::raw::c_longlong,
3225}
3226#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3227const _: () = {
3228 ["Size of lldiv_t"][::std::mem::size_of::<lldiv_t>() - 16usize];
3229 ["Alignment of lldiv_t"][::std::mem::align_of::<lldiv_t>() - 8usize];
3230 ["Offset of field: lldiv_t::quot"][::std::mem::offset_of!(lldiv_t, quot) - 0usize];
3231 ["Offset of field: lldiv_t::rem"][::std::mem::offset_of!(lldiv_t, rem) - 8usize];
3232};
3233unsafe extern "C" {
3234 pub static mut __mb_cur_max: ::std::os::raw::c_int;
3235}
3236pub type malloc_type_id_t = ::std::os::raw::c_ulonglong;
3237unsafe extern "C" {
3238 pub fn malloc_type_malloc(
3239 size: usize,
3240 type_id: malloc_type_id_t,
3241 ) -> *mut ::std::os::raw::c_void;
3242}
3243unsafe extern "C" {
3244 pub fn malloc_type_calloc(
3245 count: usize,
3246 size: usize,
3247 type_id: malloc_type_id_t,
3248 ) -> *mut ::std::os::raw::c_void;
3249}
3250unsafe extern "C" {
3251 pub fn malloc_type_free(ptr: *mut ::std::os::raw::c_void, type_id: malloc_type_id_t);
3252}
3253unsafe extern "C" {
3254 pub fn malloc_type_realloc(
3255 ptr: *mut ::std::os::raw::c_void,
3256 size: usize,
3257 type_id: malloc_type_id_t,
3258 ) -> *mut ::std::os::raw::c_void;
3259}
3260unsafe extern "C" {
3261 pub fn malloc_type_valloc(
3262 size: usize,
3263 type_id: malloc_type_id_t,
3264 ) -> *mut ::std::os::raw::c_void;
3265}
3266unsafe extern "C" {
3267 pub fn malloc_type_aligned_alloc(
3268 alignment: usize,
3269 size: usize,
3270 type_id: malloc_type_id_t,
3271 ) -> *mut ::std::os::raw::c_void;
3272}
3273unsafe extern "C" {
3274 pub fn malloc_type_posix_memalign(
3275 memptr: *mut *mut ::std::os::raw::c_void,
3276 alignment: usize,
3277 size: usize,
3278 type_id: malloc_type_id_t,
3279 ) -> ::std::os::raw::c_int;
3280}
3281#[repr(C)]
3282#[derive(Debug, Copy, Clone)]
3283pub struct _malloc_zone_t {
3284 _unused: [u8; 0],
3285}
3286pub type malloc_zone_t = _malloc_zone_t;
3287unsafe extern "C" {
3288 pub fn malloc_type_zone_malloc(
3289 zone: *mut malloc_zone_t,
3290 size: usize,
3291 type_id: malloc_type_id_t,
3292 ) -> *mut ::std::os::raw::c_void;
3293}
3294unsafe extern "C" {
3295 pub fn malloc_type_zone_calloc(
3296 zone: *mut malloc_zone_t,
3297 count: usize,
3298 size: usize,
3299 type_id: malloc_type_id_t,
3300 ) -> *mut ::std::os::raw::c_void;
3301}
3302unsafe extern "C" {
3303 pub fn malloc_type_zone_free(
3304 zone: *mut malloc_zone_t,
3305 ptr: *mut ::std::os::raw::c_void,
3306 type_id: malloc_type_id_t,
3307 );
3308}
3309unsafe extern "C" {
3310 pub fn malloc_type_zone_realloc(
3311 zone: *mut malloc_zone_t,
3312 ptr: *mut ::std::os::raw::c_void,
3313 size: usize,
3314 type_id: malloc_type_id_t,
3315 ) -> *mut ::std::os::raw::c_void;
3316}
3317unsafe extern "C" {
3318 pub fn malloc_type_zone_valloc(
3319 zone: *mut malloc_zone_t,
3320 size: usize,
3321 type_id: malloc_type_id_t,
3322 ) -> *mut ::std::os::raw::c_void;
3323}
3324unsafe extern "C" {
3325 pub fn malloc_type_zone_memalign(
3326 zone: *mut malloc_zone_t,
3327 alignment: usize,
3328 size: usize,
3329 type_id: malloc_type_id_t,
3330 ) -> *mut ::std::os::raw::c_void;
3331}
3332unsafe extern "C" {
3333 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3334}
3335unsafe extern "C" {
3336 pub fn calloc(
3337 __count: ::std::os::raw::c_ulong,
3338 __size: ::std::os::raw::c_ulong,
3339 ) -> *mut ::std::os::raw::c_void;
3340}
3341unsafe extern "C" {
3342 pub fn free(arg1: *mut ::std::os::raw::c_void);
3343}
3344unsafe extern "C" {
3345 pub fn realloc(
3346 __ptr: *mut ::std::os::raw::c_void,
3347 __size: ::std::os::raw::c_ulong,
3348 ) -> *mut ::std::os::raw::c_void;
3349}
3350unsafe extern "C" {
3351 pub fn reallocf(
3352 __ptr: *mut ::std::os::raw::c_void,
3353 __size: usize,
3354 ) -> *mut ::std::os::raw::c_void;
3355}
3356unsafe extern "C" {
3357 pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3358}
3359unsafe extern "C" {
3360 pub fn aligned_alloc(
3361 __alignment: ::std::os::raw::c_ulong,
3362 __size: ::std::os::raw::c_ulong,
3363 ) -> *mut ::std::os::raw::c_void;
3364}
3365unsafe extern "C" {
3366 pub fn posix_memalign(
3367 __memptr: *mut *mut ::std::os::raw::c_void,
3368 __alignment: usize,
3369 __size: usize,
3370 ) -> ::std::os::raw::c_int;
3371}
3372unsafe extern "C" {
3373 pub fn abort() -> !;
3374}
3375unsafe extern "C" {
3376 pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3377}
3378unsafe extern "C" {
3379 pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3380}
3381unsafe extern "C" {
3382 pub fn at_quick_exit(
3383 arg1: ::std::option::Option<unsafe extern "C" fn()>,
3384 ) -> ::std::os::raw::c_int;
3385}
3386unsafe extern "C" {
3387 pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64;
3388}
3389unsafe extern "C" {
3390 pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3391}
3392unsafe extern "C" {
3393 pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3394}
3395unsafe extern "C" {
3396 pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3397}
3398unsafe extern "C" {
3399 pub fn bsearch(
3400 __key: *const ::std::os::raw::c_void,
3401 __base: *const ::std::os::raw::c_void,
3402 __nel: usize,
3403 __width: usize,
3404 __compar: ::std::option::Option<
3405 unsafe extern "C" fn(
3406 arg1: *const ::std::os::raw::c_void,
3407 arg2: *const ::std::os::raw::c_void,
3408 ) -> ::std::os::raw::c_int,
3409 >,
3410 ) -> *mut ::std::os::raw::c_void;
3411}
3412unsafe extern "C" {
3413 pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t;
3414}
3415unsafe extern "C" {
3416 pub fn exit(arg1: ::std::os::raw::c_int) -> !;
3417}
3418unsafe extern "C" {
3419 pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3420}
3421unsafe extern "C" {
3422 pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3423}
3424unsafe extern "C" {
3425 pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t;
3426}
3427unsafe extern "C" {
3428 pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3429}
3430unsafe extern "C" {
3431 pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t;
3432}
3433unsafe extern "C" {
3434 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
3435}
3436unsafe extern "C" {
3437 pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, __n: usize) -> usize;
3438}
3439unsafe extern "C" {
3440 pub fn mbtowc(
3441 arg1: *mut wchar_t,
3442 arg2: *const ::std::os::raw::c_char,
3443 __n: usize,
3444 ) -> ::std::os::raw::c_int;
3445}
3446unsafe extern "C" {
3447 pub fn qsort(
3448 __base: *mut ::std::os::raw::c_void,
3449 __nel: usize,
3450 __width: usize,
3451 __compar: ::std::option::Option<
3452 unsafe extern "C" fn(
3453 arg1: *const ::std::os::raw::c_void,
3454 arg2: *const ::std::os::raw::c_void,
3455 ) -> ::std::os::raw::c_int,
3456 >,
3457 );
3458}
3459unsafe extern "C" {
3460 pub fn quick_exit(arg1: ::std::os::raw::c_int) -> !;
3461}
3462unsafe extern "C" {
3463 pub fn rand() -> ::std::os::raw::c_int;
3464}
3465unsafe extern "C" {
3466 pub fn srand(arg1: ::std::os::raw::c_uint);
3467}
3468unsafe extern "C" {
3469 pub fn strtod(
3470 arg1: *const ::std::os::raw::c_char,
3471 arg2: *mut *mut ::std::os::raw::c_char,
3472 ) -> f64;
3473}
3474unsafe extern "C" {
3475 pub fn strtof(
3476 arg1: *const ::std::os::raw::c_char,
3477 arg2: *mut *mut ::std::os::raw::c_char,
3478 ) -> f32;
3479}
3480unsafe extern "C" {
3481 pub fn strtol(
3482 __str: *const ::std::os::raw::c_char,
3483 __endptr: *mut *mut ::std::os::raw::c_char,
3484 __base: ::std::os::raw::c_int,
3485 ) -> ::std::os::raw::c_long;
3486}
3487unsafe extern "C" {
3488 pub fn strtold(
3489 arg1: *const ::std::os::raw::c_char,
3490 arg2: *mut *mut ::std::os::raw::c_char,
3491 ) -> f64;
3492}
3493unsafe extern "C" {
3494 pub fn strtoll(
3495 __str: *const ::std::os::raw::c_char,
3496 __endptr: *mut *mut ::std::os::raw::c_char,
3497 __base: ::std::os::raw::c_int,
3498 ) -> ::std::os::raw::c_longlong;
3499}
3500unsafe extern "C" {
3501 pub fn strtoul(
3502 __str: *const ::std::os::raw::c_char,
3503 __endptr: *mut *mut ::std::os::raw::c_char,
3504 __base: ::std::os::raw::c_int,
3505 ) -> ::std::os::raw::c_ulong;
3506}
3507unsafe extern "C" {
3508 pub fn strtoull(
3509 __str: *const ::std::os::raw::c_char,
3510 __endptr: *mut *mut ::std::os::raw::c_char,
3511 __base: ::std::os::raw::c_int,
3512 ) -> ::std::os::raw::c_ulonglong;
3513}
3514unsafe extern "C" {
3515 pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3516}
3517unsafe extern "C" {
3518 pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, __n: usize) -> usize;
3519}
3520unsafe extern "C" {
3521 pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
3522}
3523unsafe extern "C" {
3524 pub fn _Exit(arg1: ::std::os::raw::c_int) -> !;
3525}
3526unsafe extern "C" {
3527 pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3528}
3529unsafe extern "C" {
3530 pub fn drand48() -> f64;
3531}
3532unsafe extern "C" {
3533 pub fn ecvt(
3534 arg1: f64,
3535 arg2: ::std::os::raw::c_int,
3536 arg3: *mut ::std::os::raw::c_int,
3537 arg4: *mut ::std::os::raw::c_int,
3538 ) -> *mut ::std::os::raw::c_char;
3539}
3540unsafe extern "C" {
3541 pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64;
3542}
3543unsafe extern "C" {
3544 pub fn fcvt(
3545 arg1: f64,
3546 arg2: ::std::os::raw::c_int,
3547 arg3: *mut ::std::os::raw::c_int,
3548 arg4: *mut ::std::os::raw::c_int,
3549 ) -> *mut ::std::os::raw::c_char;
3550}
3551unsafe extern "C" {
3552 pub fn gcvt(
3553 arg1: f64,
3554 arg2: ::std::os::raw::c_int,
3555 arg3: *mut ::std::os::raw::c_char,
3556 ) -> *mut ::std::os::raw::c_char;
3557}
3558unsafe extern "C" {
3559 pub fn getsubopt(
3560 arg1: *mut *mut ::std::os::raw::c_char,
3561 arg2: *const *mut ::std::os::raw::c_char,
3562 arg3: *mut *mut ::std::os::raw::c_char,
3563 ) -> ::std::os::raw::c_int;
3564}
3565unsafe extern "C" {
3566 pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3567}
3568unsafe extern "C" {
3569 pub fn initstate(
3570 arg1: ::std::os::raw::c_uint,
3571 arg2: *mut ::std::os::raw::c_char,
3572 __size: usize,
3573 ) -> *mut ::std::os::raw::c_char;
3574}
3575unsafe extern "C" {
3576 pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3577}
3578unsafe extern "C" {
3579 pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3580}
3581unsafe extern "C" {
3582 pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort);
3583}
3584unsafe extern "C" {
3585 pub fn lrand48() -> ::std::os::raw::c_long;
3586}
3587unsafe extern "C" {
3588 pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3589}
3590unsafe extern "C" {
3591 pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3592}
3593unsafe extern "C" {
3594 pub fn mrand48() -> ::std::os::raw::c_long;
3595}
3596unsafe extern "C" {
3597 pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3598}
3599unsafe extern "C" {
3600 pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3601}
3602unsafe extern "C" {
3603 pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3604}
3605unsafe extern "C" {
3606 pub fn ptsname_r(
3607 fildes: ::std::os::raw::c_int,
3608 buffer: *mut ::std::os::raw::c_char,
3609 buflen: usize,
3610 ) -> ::std::os::raw::c_int;
3611}
3612unsafe extern "C" {
3613 pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3614}
3615unsafe extern "C" {
3616 pub fn random() -> ::std::os::raw::c_long;
3617}
3618unsafe extern "C" {
3619 pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3620}
3621unsafe extern "C" {
3622 #[link_name = "\u{1}_realpath$DARWIN_EXTSN"]
3623 pub fn realpath(
3624 arg1: *const ::std::os::raw::c_char,
3625 arg2: *mut ::std::os::raw::c_char,
3626 ) -> *mut ::std::os::raw::c_char;
3627}
3628unsafe extern "C" {
3629 pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3630}
3631unsafe extern "C" {
3632 pub fn setenv(
3633 __name: *const ::std::os::raw::c_char,
3634 __value: *const ::std::os::raw::c_char,
3635 __overwrite: ::std::os::raw::c_int,
3636 ) -> ::std::os::raw::c_int;
3637}
3638unsafe extern "C" {
3639 pub fn setkey(arg1: *const ::std::os::raw::c_char);
3640}
3641unsafe extern "C" {
3642 pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3643}
3644unsafe extern "C" {
3645 pub fn srand48(arg1: ::std::os::raw::c_long);
3646}
3647unsafe extern "C" {
3648 pub fn srandom(arg1: ::std::os::raw::c_uint);
3649}
3650unsafe extern "C" {
3651 pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3652}
3653unsafe extern "C" {
3654 pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3655}
3656pub type dev_t = __darwin_dev_t;
3657pub type mode_t = __darwin_mode_t;
3658unsafe extern "C" {
3659 pub fn arc4random() -> u32;
3660}
3661unsafe extern "C" {
3662 pub fn arc4random_addrandom(
3663 arg1: *mut ::std::os::raw::c_uchar,
3664 __datlen: ::std::os::raw::c_int,
3665 );
3666}
3667unsafe extern "C" {
3668 pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: usize);
3669}
3670unsafe extern "C" {
3671 pub fn arc4random_stir();
3672}
3673unsafe extern "C" {
3674 pub fn arc4random_uniform(__upper_bound: u32) -> u32;
3675}
3676unsafe extern "C" {
3677 pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
3678}
3679unsafe extern "C" {
3680 pub fn bsearch_b(
3681 __key: *const ::std::os::raw::c_void,
3682 __base: *const ::std::os::raw::c_void,
3683 __nel: usize,
3684 __width: usize,
3685 __compar: *mut ::std::os::raw::c_void,
3686 ) -> *mut ::std::os::raw::c_void;
3687}
3688unsafe extern "C" {
3689 pub fn cgetcap(
3690 arg1: *mut ::std::os::raw::c_char,
3691 arg2: *const ::std::os::raw::c_char,
3692 arg3: ::std::os::raw::c_int,
3693 ) -> *mut ::std::os::raw::c_char;
3694}
3695unsafe extern "C" {
3696 pub fn cgetclose() -> ::std::os::raw::c_int;
3697}
3698unsafe extern "C" {
3699 pub fn cgetent(
3700 arg1: *mut *mut ::std::os::raw::c_char,
3701 arg2: *mut *mut ::std::os::raw::c_char,
3702 arg3: *const ::std::os::raw::c_char,
3703 ) -> ::std::os::raw::c_int;
3704}
3705unsafe extern "C" {
3706 pub fn cgetfirst(
3707 arg1: *mut *mut ::std::os::raw::c_char,
3708 arg2: *mut *mut ::std::os::raw::c_char,
3709 ) -> ::std::os::raw::c_int;
3710}
3711unsafe extern "C" {
3712 pub fn cgetmatch(
3713 arg1: *const ::std::os::raw::c_char,
3714 arg2: *const ::std::os::raw::c_char,
3715 ) -> ::std::os::raw::c_int;
3716}
3717unsafe extern "C" {
3718 pub fn cgetnext(
3719 arg1: *mut *mut ::std::os::raw::c_char,
3720 arg2: *mut *mut ::std::os::raw::c_char,
3721 ) -> ::std::os::raw::c_int;
3722}
3723unsafe extern "C" {
3724 pub fn cgetnum(
3725 arg1: *mut ::std::os::raw::c_char,
3726 arg2: *const ::std::os::raw::c_char,
3727 arg3: *mut ::std::os::raw::c_long,
3728 ) -> ::std::os::raw::c_int;
3729}
3730unsafe extern "C" {
3731 pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3732}
3733unsafe extern "C" {
3734 pub fn cgetstr(
3735 arg1: *mut ::std::os::raw::c_char,
3736 arg2: *const ::std::os::raw::c_char,
3737 arg3: *mut *mut ::std::os::raw::c_char,
3738 ) -> ::std::os::raw::c_int;
3739}
3740unsafe extern "C" {
3741 pub fn cgetustr(
3742 arg1: *mut ::std::os::raw::c_char,
3743 arg2: *const ::std::os::raw::c_char,
3744 arg3: *mut *mut ::std::os::raw::c_char,
3745 ) -> ::std::os::raw::c_int;
3746}
3747unsafe extern "C" {
3748 pub fn daemon(
3749 arg1: ::std::os::raw::c_int,
3750 arg2: ::std::os::raw::c_int,
3751 ) -> ::std::os::raw::c_int;
3752}
3753unsafe extern "C" {
3754 pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char;
3755}
3756unsafe extern "C" {
3757 pub fn devname_r(
3758 arg1: dev_t,
3759 arg2: mode_t,
3760 buf: *mut ::std::os::raw::c_char,
3761 len: ::std::os::raw::c_int,
3762 ) -> *mut ::std::os::raw::c_char;
3763}
3764unsafe extern "C" {
3765 pub fn getbsize(
3766 arg1: *mut ::std::os::raw::c_int,
3767 arg2: *mut ::std::os::raw::c_long,
3768 ) -> *mut ::std::os::raw::c_char;
3769}
3770unsafe extern "C" {
3771 pub fn getloadavg(arg1: *mut f64, __nelem: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3772}
3773unsafe extern "C" {
3774 pub fn getprogname() -> *const ::std::os::raw::c_char;
3775}
3776unsafe extern "C" {
3777 pub fn setprogname(arg1: *const ::std::os::raw::c_char);
3778}
3779unsafe extern "C" {
3780 pub fn heapsort(
3781 __base: *mut ::std::os::raw::c_void,
3782 __nel: usize,
3783 __width: usize,
3784 __compar: ::std::option::Option<
3785 unsafe extern "C" fn(
3786 arg1: *const ::std::os::raw::c_void,
3787 arg2: *const ::std::os::raw::c_void,
3788 ) -> ::std::os::raw::c_int,
3789 >,
3790 ) -> ::std::os::raw::c_int;
3791}
3792unsafe extern "C" {
3793 pub fn heapsort_b(
3794 __base: *mut ::std::os::raw::c_void,
3795 __nel: usize,
3796 __width: usize,
3797 __compar: *mut ::std::os::raw::c_void,
3798 ) -> ::std::os::raw::c_int;
3799}
3800unsafe extern "C" {
3801 pub fn mergesort(
3802 __base: *mut ::std::os::raw::c_void,
3803 __nel: usize,
3804 __width: usize,
3805 __compar: ::std::option::Option<
3806 unsafe extern "C" fn(
3807 arg1: *const ::std::os::raw::c_void,
3808 arg2: *const ::std::os::raw::c_void,
3809 ) -> ::std::os::raw::c_int,
3810 >,
3811 ) -> ::std::os::raw::c_int;
3812}
3813unsafe extern "C" {
3814 pub fn mergesort_b(
3815 __base: *mut ::std::os::raw::c_void,
3816 __nel: usize,
3817 __width: usize,
3818 __compar: *mut ::std::os::raw::c_void,
3819 ) -> ::std::os::raw::c_int;
3820}
3821unsafe extern "C" {
3822 pub fn psort(
3823 __base: *mut ::std::os::raw::c_void,
3824 __nel: usize,
3825 __width: usize,
3826 __compar: ::std::option::Option<
3827 unsafe extern "C" fn(
3828 arg1: *const ::std::os::raw::c_void,
3829 arg2: *const ::std::os::raw::c_void,
3830 ) -> ::std::os::raw::c_int,
3831 >,
3832 );
3833}
3834unsafe extern "C" {
3835 pub fn psort_b(
3836 __base: *mut ::std::os::raw::c_void,
3837 __nel: usize,
3838 __width: usize,
3839 __compar: *mut ::std::os::raw::c_void,
3840 );
3841}
3842unsafe extern "C" {
3843 pub fn psort_r(
3844 __base: *mut ::std::os::raw::c_void,
3845 __nel: usize,
3846 __width: usize,
3847 arg1: *mut ::std::os::raw::c_void,
3848 __compar: ::std::option::Option<
3849 unsafe extern "C" fn(
3850 arg1: *mut ::std::os::raw::c_void,
3851 arg2: *const ::std::os::raw::c_void,
3852 arg3: *const ::std::os::raw::c_void,
3853 ) -> ::std::os::raw::c_int,
3854 >,
3855 );
3856}
3857unsafe extern "C" {
3858 pub fn qsort_b(
3859 __base: *mut ::std::os::raw::c_void,
3860 __nel: usize,
3861 __width: usize,
3862 __compar: *mut ::std::os::raw::c_void,
3863 );
3864}
3865unsafe extern "C" {
3866 pub fn qsort_r(
3867 __base: *mut ::std::os::raw::c_void,
3868 __nel: usize,
3869 __width: usize,
3870 arg1: *mut ::std::os::raw::c_void,
3871 __compar: ::std::option::Option<
3872 unsafe extern "C" fn(
3873 arg1: *mut ::std::os::raw::c_void,
3874 arg2: *const ::std::os::raw::c_void,
3875 arg3: *const ::std::os::raw::c_void,
3876 ) -> ::std::os::raw::c_int,
3877 >,
3878 );
3879}
3880unsafe extern "C" {
3881 pub fn radixsort(
3882 __base: *mut *const ::std::os::raw::c_uchar,
3883 __nel: ::std::os::raw::c_int,
3884 __table: *const ::std::os::raw::c_uchar,
3885 __endbyte: ::std::os::raw::c_uint,
3886 ) -> ::std::os::raw::c_int;
3887}
3888unsafe extern "C" {
3889 pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3890}
3891unsafe extern "C" {
3892 pub fn sradixsort(
3893 __base: *mut *const ::std::os::raw::c_uchar,
3894 __nel: ::std::os::raw::c_int,
3895 __table: *const ::std::os::raw::c_uchar,
3896 __endbyte: ::std::os::raw::c_uint,
3897 ) -> ::std::os::raw::c_int;
3898}
3899unsafe extern "C" {
3900 pub fn sranddev();
3901}
3902unsafe extern "C" {
3903 pub fn srandomdev();
3904}
3905unsafe extern "C" {
3906 pub fn strtonum(
3907 __numstr: *const ::std::os::raw::c_char,
3908 __minval: ::std::os::raw::c_longlong,
3909 __maxval: ::std::os::raw::c_longlong,
3910 __errstrp: *mut *const ::std::os::raw::c_char,
3911 ) -> ::std::os::raw::c_longlong;
3912}
3913unsafe extern "C" {
3914 pub fn strtoq(
3915 __str: *const ::std::os::raw::c_char,
3916 __endptr: *mut *mut ::std::os::raw::c_char,
3917 __base: ::std::os::raw::c_int,
3918 ) -> ::std::os::raw::c_longlong;
3919}
3920unsafe extern "C" {
3921 pub fn strtouq(
3922 __str: *const ::std::os::raw::c_char,
3923 __endptr: *mut *mut ::std::os::raw::c_char,
3924 __base: ::std::os::raw::c_int,
3925 ) -> ::std::os::raw::c_ulonglong;
3926}
3927unsafe extern "C" {
3928 pub static mut suboptarg: *mut ::std::os::raw::c_char;
3929}
3930unsafe extern "C" {
3931 pub fn igraph_calloc(count: usize, size: usize) -> *mut ::std::os::raw::c_void;
3932}
3933unsafe extern "C" {
3934 pub fn igraph_malloc(size: usize) -> *mut ::std::os::raw::c_void;
3935}
3936unsafe extern "C" {
3937 pub fn igraph_realloc(
3938 ptr: *mut ::std::os::raw::c_void,
3939 size: usize,
3940 ) -> *mut ::std::os::raw::c_void;
3941}
3942unsafe extern "C" {
3943 pub fn igraph_free(ptr: *mut ::std::os::raw::c_void);
3944}
3945pub type __gnuc_va_list = __builtin_va_list;
3946pub type va_list = __builtin_va_list;
3947pub const igraph_error_type_t_IGRAPH_SUCCESS: igraph_error_type_t = 0;
3948pub const igraph_error_type_t_IGRAPH_FAILURE: igraph_error_type_t = 1;
3949pub const igraph_error_type_t_IGRAPH_ENOMEM: igraph_error_type_t = 2;
3950pub const igraph_error_type_t_IGRAPH_PARSEERROR: igraph_error_type_t = 3;
3951pub const igraph_error_type_t_IGRAPH_EINVAL: igraph_error_type_t = 4;
3952pub const igraph_error_type_t_IGRAPH_EXISTS: igraph_error_type_t = 5;
3953pub const igraph_error_type_t_IGRAPH_EINVVID: igraph_error_type_t = 7;
3954pub const igraph_error_type_t_IGRAPH_EINVEID: igraph_error_type_t = 8;
3955pub const igraph_error_type_t_IGRAPH_EINVMODE: igraph_error_type_t = 9;
3956pub const igraph_error_type_t_IGRAPH_EFILE: igraph_error_type_t = 10;
3957pub const igraph_error_type_t_IGRAPH_UNIMPLEMENTED: igraph_error_type_t = 12;
3958pub const igraph_error_type_t_IGRAPH_INTERRUPTED: igraph_error_type_t = 13;
3959pub const igraph_error_type_t_IGRAPH_DIVERGED: igraph_error_type_t = 14;
3960pub const igraph_error_type_t_IGRAPH_EARPACK: igraph_error_type_t = 15;
3961pub const igraph_error_type_t_IGRAPH_ENEGCYCLE: igraph_error_type_t = 37;
3962pub const igraph_error_type_t_IGRAPH_EINTERNAL: igraph_error_type_t = 38;
3963pub const igraph_error_type_t_IGRAPH_EATTRCOMBINE: igraph_error_type_t = 52;
3964pub const igraph_error_type_t_IGRAPH_EOVERFLOW: igraph_error_type_t = 55;
3965pub const igraph_error_type_t_IGRAPH_EUNDERFLOW: igraph_error_type_t = 58;
3966pub const igraph_error_type_t_IGRAPH_ERWSTUCK: igraph_error_type_t = 59;
3967pub const igraph_error_type_t_IGRAPH_STOP: igraph_error_type_t = 60;
3968pub const igraph_error_type_t_IGRAPH_ERANGE: igraph_error_type_t = 61;
3969pub const igraph_error_type_t_IGRAPH_ENOSOL: igraph_error_type_t = 62;
3970#[doc = " \\typedef igraph_error_type_t\n \\brief Error code type.\n These are the possible values returned by \\a igraph functions.\n Note that these are interesting only if you defined an error handler\n with \\ref igraph_set_error_handler(). Otherwise the program is aborted\n and the function causing the error never returns.\n\n \\enumval IGRAPH_SUCCESS The function successfully completed its task.\n \\enumval IGRAPH_FAILURE Something went wrong. You'll almost never\n meet this error as normally more specific error codes are used.\n \\enumval IGRAPH_ENOMEM There wasn't enough memory to allocate\n on the heap.\n \\enumval IGRAPH_PARSEERROR A parse error was found in a file.\n \\enumval IGRAPH_EINVAL A parameter's value is invalid. E.g. negative\n number was specified as the number of vertices.\n \\enumval IGRAPH_EXISTS A graph/vertex/edge attribute is already\n installed with the given name.\n \\enumval IGRAPH_EINVVID Invalid vertex ID, negative or too big.\n \\enumval IGRAPH_EINVEID Invalid edge ID, negative or too big.\n \\enumval IGRAPH_EINVMODE Invalid mode parameter.\n \\enumval IGRAPH_EFILE A file operation failed. E.g. a file doesn't exist,\n or the user has no rights to open it.\n \\enumval IGRAPH_UNIMPLEMENTED Attempted to call an unimplemented or\n disabled (at compile-time) function.\n \\enumval IGRAPH_DIVERGED A numeric algorithm failed to converge.\n \\enumval IGRAPH_ARPACK An error happened inside a calculation implemented\n in ARPACK. The calculation involved is most likely an eigenvector-related\n calculation.\n \\enumval IGRAPH_ENEGCYCLE Negative cycle detected while calculating shortest paths.\n \\enumval IGRAPH_EINTERNAL Internal error, likely a bug in igraph.\n \\enumval IGRAPH_EATTRCOMBINE Unimplemented attribute combination\n method for the given attribute type.\n \\enumval IGRAPH_EOVERFLOW Integer or double overflow.\n \\enumval IGRAPH_EUNDERFLOW Integer or double underflow.\n \\enumval IGRAPH_ERWSTUCK Random walk got stuck.\n \\enumval IGRAPH_ERANGE Maximum vertex or edge count exceeded.\n \\enumval IGRAPH_ENOSOL Input problem has no solution."]
3971pub type igraph_error_type_t = ::std::os::raw::c_uint;
3972#[doc = " \\typedef igraph_error_t\n \\brief Return type for functions returning an error code.\n\n This type is used as the return type of igraph functions that return an\n error code. It is a type alias because \\type igraph_error_t used to be\n an \\c int, and was used slightly differenly than \\type igraph_error_type_t."]
3973pub use self::igraph_error_type_t as igraph_error_t;
3974#[doc = " \\typedef igraph_error_handler_t\n \\brief The type of error handler functions.\n\n This is the type of the error handler functions.\n\n \\param reason Textual description of the error.\n \\param file The source file in which the error is noticed.\n \\param line The number of the line in the source file which triggered\n the error\n \\param igraph_errno The \\a igraph error code."]
3975pub type igraph_error_handler_t = ::std::option::Option<
3976 unsafe extern "C" fn(
3977 reason: *const ::std::os::raw::c_char,
3978 file: *const ::std::os::raw::c_char,
3979 line: ::std::os::raw::c_int,
3980 igraph_errno: igraph_error_t,
3981 ),
3982>;
3983unsafe extern "C" {
3984 #[doc = " \\var igraph_error_handler_abort\n \\brief Abort program in case of error.\n\n The default error handler, prints an error message and aborts the\n program."]
3985 pub fn igraph_error_handler_abort(
3986 arg1: *const ::std::os::raw::c_char,
3987 arg2: *const ::std::os::raw::c_char,
3988 arg3: ::std::os::raw::c_int,
3989 arg4: igraph_error_t,
3990 ) -> !;
3991}
3992unsafe extern "C" {
3993 #[doc = " \\var igraph_error_handler_ignore\n \\brief Ignore errors.\n\n This error handler frees the temporarily allocated memory and returns\n with the error code."]
3994 pub fn igraph_error_handler_ignore(
3995 reason: *const ::std::os::raw::c_char,
3996 file: *const ::std::os::raw::c_char,
3997 line: ::std::os::raw::c_int,
3998 igraph_errno: igraph_error_t,
3999 );
4000}
4001unsafe extern "C" {
4002 #[doc = " \\var igraph_error_handler_printignore\n \\brief Print and ignore errors.\n\n Frees temporarily allocated memory, prints an error message to the\n standard error and returns with the error code."]
4003 pub fn igraph_error_handler_printignore(
4004 reason: *const ::std::os::raw::c_char,
4005 file: *const ::std::os::raw::c_char,
4006 line: ::std::os::raw::c_int,
4007 igraph_errno: igraph_error_t,
4008 );
4009}
4010unsafe extern "C" {
4011 pub fn igraph_set_error_handler(new_handler: igraph_error_handler_t) -> igraph_error_handler_t;
4012}
4013unsafe extern "C" {
4014 pub fn igraph_error(
4015 reason: *const ::std::os::raw::c_char,
4016 file: *const ::std::os::raw::c_char,
4017 line: ::std::os::raw::c_int,
4018 igraph_errno: igraph_error_t,
4019 ) -> igraph_error_t;
4020}
4021unsafe extern "C" {
4022 pub fn igraph_errorf(
4023 reason: *const ::std::os::raw::c_char,
4024 file: *const ::std::os::raw::c_char,
4025 line: ::std::os::raw::c_int,
4026 igraph_errno: igraph_error_t,
4027 ...
4028 ) -> igraph_error_t;
4029}
4030unsafe extern "C" {
4031 pub fn igraph_errorvf(
4032 reason: *const ::std::os::raw::c_char,
4033 file: *const ::std::os::raw::c_char,
4034 line: ::std::os::raw::c_int,
4035 igraph_errno: igraph_error_t,
4036 ap: va_list,
4037 ) -> igraph_error_t;
4038}
4039unsafe extern "C" {
4040 pub fn igraph_strerror(igraph_errno: igraph_error_t) -> *const ::std::os::raw::c_char;
4041}
4042#[repr(C)]
4043#[derive(Debug, Copy, Clone)]
4044pub struct igraph_i_protectedPtr {
4045 pub level: ::std::os::raw::c_int,
4046 pub ptr: *mut ::std::os::raw::c_void,
4047 pub func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
4048}
4049#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4050const _: () = {
4051 ["Size of igraph_i_protectedPtr"][::std::mem::size_of::<igraph_i_protectedPtr>() - 24usize];
4052 ["Alignment of igraph_i_protectedPtr"]
4053 [::std::mem::align_of::<igraph_i_protectedPtr>() - 8usize];
4054 ["Offset of field: igraph_i_protectedPtr::level"]
4055 [::std::mem::offset_of!(igraph_i_protectedPtr, level) - 0usize];
4056 ["Offset of field: igraph_i_protectedPtr::ptr"]
4057 [::std::mem::offset_of!(igraph_i_protectedPtr, ptr) - 8usize];
4058 ["Offset of field: igraph_i_protectedPtr::func"]
4059 [::std::mem::offset_of!(igraph_i_protectedPtr, func) - 16usize];
4060};
4061pub type igraph_finally_func_t =
4062 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
4063unsafe extern "C" {
4064 pub fn IGRAPH_FINALLY_REAL(func: igraph_finally_func_t, ptr: *mut ::std::os::raw::c_void);
4065}
4066unsafe extern "C" {
4067 #[doc = " \\function IGRAPH_FINALLY_CLEAN\n \\brief Signals clean deallocation of objects.\n\n Removes the specified number of objects from the stack of\n temporarily allocated objects. It is typically called\n immediately after manually destroying the objects:\n\n <programlisting>\n igraph_vector_t vector;\n igraph_vector_init(&vector, 10);\n IGRAPH_FINALLY(igraph_vector_destroy, &vector);\n // use vector\n igraph_vector_destroy(&vector);\n IGRAPH_FINALLY_CLEAN(1);\n </programlisting>\n\n \\param num The number of objects to remove from the bookkeeping\n stack."]
4068 pub fn IGRAPH_FINALLY_CLEAN(num: ::std::os::raw::c_int);
4069}
4070unsafe extern "C" {
4071 #[doc = " \\function IGRAPH_FINALLY_FREE\n \\brief Deallocates objects registered at the current level.\n\n Calls the destroy function for all objects in the current level\n of the stack of temporarily allocated objects, i.e. up to the\n nearest mark set by <code>IGRAPH_FINALLY_ENTER()</code>.\n This function must only be called from an error handler.\n It is \\em not appropriate to use it\n instead of destroying each unneeded object of a function, as it\n destroys the temporary objects of the caller function (and so on)\n as well."]
4072 pub fn IGRAPH_FINALLY_FREE();
4073}
4074unsafe extern "C" {
4075 pub fn IGRAPH_FINALLY_ENTER();
4076}
4077unsafe extern "C" {
4078 pub fn IGRAPH_FINALLY_EXIT();
4079}
4080unsafe extern "C" {
4081 #[doc = " \\function IGRAPH_FINALLY_STACK_SIZE\n \\brief The number of registered objects.\n\n Returns the number of objects in the stack of temporarily allocated\n objects. This function is handy if you write an own igraph routine and\n you want to make sure it handles errors properly. A properly written\n igraph routine should not leave pointers to temporarily allocated objects\n in the finally stack, because otherwise an \\ref IGRAPH_FINALLY_FREE call\n in another igraph function would result in freeing these objects as well\n (and this is really hard to debug, since the error will be not in that\n function that shows erroneous behaviour). Therefore, it is advised to\n write your own test cases and examine \\ref IGRAPH_FINALLY_STACK_SIZE\n before and after your test cases - the numbers should be equal."]
4082 pub fn IGRAPH_FINALLY_STACK_SIZE() -> ::std::os::raw::c_int;
4083}
4084#[doc = " \\typedef igraph_warning_handler_t\n \\brief The type of igraph warning handler functions.\n\n Currently it is defined to have the same type as\n \\ref igraph_error_handler_t, although the last (error code)\n argument is not used."]
4085pub type igraph_warning_handler_t = ::std::option::Option<
4086 unsafe extern "C" fn(
4087 reason: *const ::std::os::raw::c_char,
4088 file: *const ::std::os::raw::c_char,
4089 line: ::std::os::raw::c_int,
4090 ),
4091>;
4092unsafe extern "C" {
4093 pub fn igraph_set_warning_handler(
4094 new_handler: igraph_warning_handler_t,
4095 ) -> igraph_warning_handler_t;
4096}
4097unsafe extern "C" {
4098 pub fn igraph_warning_handler_ignore(
4099 reason: *const ::std::os::raw::c_char,
4100 file: *const ::std::os::raw::c_char,
4101 line: ::std::os::raw::c_int,
4102 );
4103}
4104unsafe extern "C" {
4105 pub fn igraph_warning_handler_print(
4106 reason: *const ::std::os::raw::c_char,
4107 file: *const ::std::os::raw::c_char,
4108 line: ::std::os::raw::c_int,
4109 );
4110}
4111unsafe extern "C" {
4112 pub fn igraph_warning(
4113 reason: *const ::std::os::raw::c_char,
4114 file: *const ::std::os::raw::c_char,
4115 line: ::std::os::raw::c_int,
4116 );
4117}
4118unsafe extern "C" {
4119 pub fn igraph_warningf(
4120 reason: *const ::std::os::raw::c_char,
4121 file: *const ::std::os::raw::c_char,
4122 line: ::std::os::raw::c_int,
4123 ...
4124 );
4125}
4126#[doc = " \\typedef igraph_fatal_handler_t\n \\brief The type of igraph fatal error handler functions.\n\n Functions of this type \\em must not return. Typically they\n call <code>abort()</code> or do a <code>longjmp()</code>.\n\n \\param reason Textual description of the error.\n \\param file The source file in which the error is noticed.\n \\param line The number of the line in the source file which triggered the error."]
4127pub type igraph_fatal_handler_t = ::std::option::Option<
4128 unsafe extern "C" fn(
4129 reason: *const ::std::os::raw::c_char,
4130 file: *const ::std::os::raw::c_char,
4131 line: ::std::os::raw::c_int,
4132 ),
4133>;
4134unsafe extern "C" {
4135 pub fn igraph_set_fatal_handler(new_handler: igraph_fatal_handler_t) -> igraph_fatal_handler_t;
4136}
4137unsafe extern "C" {
4138 #[doc = " \\var igraph_fatal_handler_abort\n \\brief Abort program in case of fatal error.\n\n The default fatal error handler, prints an error message and aborts the program."]
4139 pub fn igraph_fatal_handler_abort(
4140 arg1: *const ::std::os::raw::c_char,
4141 arg2: *const ::std::os::raw::c_char,
4142 arg3: ::std::os::raw::c_int,
4143 ) -> !;
4144}
4145unsafe extern "C" {
4146 pub fn igraph_fatal(
4147 reason: *const ::std::os::raw::c_char,
4148 file: *const ::std::os::raw::c_char,
4149 line: ::std::os::raw::c_int,
4150 ) -> !;
4151}
4152unsafe extern "C" {
4153 pub fn igraph_fatalf(
4154 reason: *const ::std::os::raw::c_char,
4155 file: *const ::std::os::raw::c_char,
4156 line: ::std::os::raw::c_int,
4157 ...
4158 ) -> !;
4159}
4160unsafe extern "C" {
4161 pub fn imaxabs(j: intmax_t) -> intmax_t;
4162}
4163#[repr(C)]
4164#[derive(Debug, Copy, Clone)]
4165pub struct imaxdiv_t {
4166 pub quot: intmax_t,
4167 pub rem: intmax_t,
4168}
4169#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4170const _: () = {
4171 ["Size of imaxdiv_t"][::std::mem::size_of::<imaxdiv_t>() - 16usize];
4172 ["Alignment of imaxdiv_t"][::std::mem::align_of::<imaxdiv_t>() - 8usize];
4173 ["Offset of field: imaxdiv_t::quot"][::std::mem::offset_of!(imaxdiv_t, quot) - 0usize];
4174 ["Offset of field: imaxdiv_t::rem"][::std::mem::offset_of!(imaxdiv_t, rem) - 8usize];
4175};
4176unsafe extern "C" {
4177 pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
4178}
4179unsafe extern "C" {
4180 pub fn strtoimax(
4181 __nptr: *const ::std::os::raw::c_char,
4182 __endptr: *mut *mut ::std::os::raw::c_char,
4183 __base: ::std::os::raw::c_int,
4184 ) -> intmax_t;
4185}
4186unsafe extern "C" {
4187 pub fn strtoumax(
4188 __nptr: *const ::std::os::raw::c_char,
4189 __endptr: *mut *mut ::std::os::raw::c_char,
4190 __base: ::std::os::raw::c_int,
4191 ) -> uintmax_t;
4192}
4193unsafe extern "C" {
4194 pub fn wcstoimax(
4195 __nptr: *const wchar_t,
4196 __endptr: *mut *mut wchar_t,
4197 __base: ::std::os::raw::c_int,
4198 ) -> intmax_t;
4199}
4200unsafe extern "C" {
4201 pub fn wcstoumax(
4202 __nptr: *const wchar_t,
4203 __endptr: *mut *mut wchar_t,
4204 __base: ::std::os::raw::c_int,
4205 ) -> uintmax_t;
4206}
4207pub type float_t = f32;
4208pub type double_t = f64;
4209unsafe extern "C" {
4210 pub fn __math_errhandling() -> ::std::os::raw::c_int;
4211}
4212unsafe extern "C" {
4213 pub fn __fpclassifyf(arg1: f32) -> ::std::os::raw::c_int;
4214}
4215unsafe extern "C" {
4216 pub fn __fpclassifyd(arg1: f64) -> ::std::os::raw::c_int;
4217}
4218unsafe extern "C" {
4219 pub fn __fpclassifyl(arg1: f64) -> ::std::os::raw::c_int;
4220}
4221unsafe extern "C" {
4222 pub fn acosf(arg1: f32) -> f32;
4223}
4224unsafe extern "C" {
4225 pub fn acos(arg1: f64) -> f64;
4226}
4227unsafe extern "C" {
4228 pub fn acosl(arg1: f64) -> f64;
4229}
4230unsafe extern "C" {
4231 pub fn asinf(arg1: f32) -> f32;
4232}
4233unsafe extern "C" {
4234 pub fn asin(arg1: f64) -> f64;
4235}
4236unsafe extern "C" {
4237 pub fn asinl(arg1: f64) -> f64;
4238}
4239unsafe extern "C" {
4240 pub fn atanf(arg1: f32) -> f32;
4241}
4242unsafe extern "C" {
4243 pub fn atan(arg1: f64) -> f64;
4244}
4245unsafe extern "C" {
4246 pub fn atanl(arg1: f64) -> f64;
4247}
4248unsafe extern "C" {
4249 pub fn atan2f(arg1: f32, arg2: f32) -> f32;
4250}
4251unsafe extern "C" {
4252 pub fn atan2(arg1: f64, arg2: f64) -> f64;
4253}
4254unsafe extern "C" {
4255 pub fn atan2l(arg1: f64, arg2: f64) -> f64;
4256}
4257unsafe extern "C" {
4258 pub fn cosf(arg1: f32) -> f32;
4259}
4260unsafe extern "C" {
4261 pub fn cos(arg1: f64) -> f64;
4262}
4263unsafe extern "C" {
4264 pub fn cosl(arg1: f64) -> f64;
4265}
4266unsafe extern "C" {
4267 pub fn sinf(arg1: f32) -> f32;
4268}
4269unsafe extern "C" {
4270 pub fn sin(arg1: f64) -> f64;
4271}
4272unsafe extern "C" {
4273 pub fn sinl(arg1: f64) -> f64;
4274}
4275unsafe extern "C" {
4276 pub fn tanf(arg1: f32) -> f32;
4277}
4278unsafe extern "C" {
4279 pub fn tan(arg1: f64) -> f64;
4280}
4281unsafe extern "C" {
4282 pub fn tanl(arg1: f64) -> f64;
4283}
4284unsafe extern "C" {
4285 pub fn acoshf(arg1: f32) -> f32;
4286}
4287unsafe extern "C" {
4288 pub fn acosh(arg1: f64) -> f64;
4289}
4290unsafe extern "C" {
4291 pub fn acoshl(arg1: f64) -> f64;
4292}
4293unsafe extern "C" {
4294 pub fn asinhf(arg1: f32) -> f32;
4295}
4296unsafe extern "C" {
4297 pub fn asinh(arg1: f64) -> f64;
4298}
4299unsafe extern "C" {
4300 pub fn asinhl(arg1: f64) -> f64;
4301}
4302unsafe extern "C" {
4303 pub fn atanhf(arg1: f32) -> f32;
4304}
4305unsafe extern "C" {
4306 pub fn atanh(arg1: f64) -> f64;
4307}
4308unsafe extern "C" {
4309 pub fn atanhl(arg1: f64) -> f64;
4310}
4311unsafe extern "C" {
4312 pub fn coshf(arg1: f32) -> f32;
4313}
4314unsafe extern "C" {
4315 pub fn cosh(arg1: f64) -> f64;
4316}
4317unsafe extern "C" {
4318 pub fn coshl(arg1: f64) -> f64;
4319}
4320unsafe extern "C" {
4321 pub fn sinhf(arg1: f32) -> f32;
4322}
4323unsafe extern "C" {
4324 pub fn sinh(arg1: f64) -> f64;
4325}
4326unsafe extern "C" {
4327 pub fn sinhl(arg1: f64) -> f64;
4328}
4329unsafe extern "C" {
4330 pub fn tanhf(arg1: f32) -> f32;
4331}
4332unsafe extern "C" {
4333 pub fn tanh(arg1: f64) -> f64;
4334}
4335unsafe extern "C" {
4336 pub fn tanhl(arg1: f64) -> f64;
4337}
4338unsafe extern "C" {
4339 pub fn expf(arg1: f32) -> f32;
4340}
4341unsafe extern "C" {
4342 pub fn exp(arg1: f64) -> f64;
4343}
4344unsafe extern "C" {
4345 pub fn expl(arg1: f64) -> f64;
4346}
4347unsafe extern "C" {
4348 pub fn exp2f(arg1: f32) -> f32;
4349}
4350unsafe extern "C" {
4351 pub fn exp2(arg1: f64) -> f64;
4352}
4353unsafe extern "C" {
4354 pub fn exp2l(arg1: f64) -> f64;
4355}
4356unsafe extern "C" {
4357 pub fn expm1f(arg1: f32) -> f32;
4358}
4359unsafe extern "C" {
4360 pub fn expm1(arg1: f64) -> f64;
4361}
4362unsafe extern "C" {
4363 pub fn expm1l(arg1: f64) -> f64;
4364}
4365unsafe extern "C" {
4366 pub fn logf(arg1: f32) -> f32;
4367}
4368unsafe extern "C" {
4369 pub fn log(arg1: f64) -> f64;
4370}
4371unsafe extern "C" {
4372 pub fn logl(arg1: f64) -> f64;
4373}
4374unsafe extern "C" {
4375 pub fn log10f(arg1: f32) -> f32;
4376}
4377unsafe extern "C" {
4378 pub fn log10(arg1: f64) -> f64;
4379}
4380unsafe extern "C" {
4381 pub fn log10l(arg1: f64) -> f64;
4382}
4383unsafe extern "C" {
4384 pub fn log2f(arg1: f32) -> f32;
4385}
4386unsafe extern "C" {
4387 pub fn log2(arg1: f64) -> f64;
4388}
4389unsafe extern "C" {
4390 pub fn log2l(arg1: f64) -> f64;
4391}
4392unsafe extern "C" {
4393 pub fn log1pf(arg1: f32) -> f32;
4394}
4395unsafe extern "C" {
4396 pub fn log1p(arg1: f64) -> f64;
4397}
4398unsafe extern "C" {
4399 pub fn log1pl(arg1: f64) -> f64;
4400}
4401unsafe extern "C" {
4402 pub fn logbf(arg1: f32) -> f32;
4403}
4404unsafe extern "C" {
4405 pub fn logb(arg1: f64) -> f64;
4406}
4407unsafe extern "C" {
4408 pub fn logbl(arg1: f64) -> f64;
4409}
4410unsafe extern "C" {
4411 pub fn modff(arg1: f32, arg2: *mut f32) -> f32;
4412}
4413unsafe extern "C" {
4414 pub fn modf(arg1: f64, arg2: *mut f64) -> f64;
4415}
4416unsafe extern "C" {
4417 pub fn modfl(arg1: f64, arg2: *mut f64) -> f64;
4418}
4419unsafe extern "C" {
4420 pub fn ldexpf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
4421}
4422unsafe extern "C" {
4423 pub fn ldexp(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
4424}
4425unsafe extern "C" {
4426 pub fn ldexpl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
4427}
4428unsafe extern "C" {
4429 pub fn frexpf(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32;
4430}
4431unsafe extern "C" {
4432 pub fn frexp(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
4433}
4434unsafe extern "C" {
4435 pub fn frexpl(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64;
4436}
4437unsafe extern "C" {
4438 pub fn ilogbf(arg1: f32) -> ::std::os::raw::c_int;
4439}
4440unsafe extern "C" {
4441 pub fn ilogb(arg1: f64) -> ::std::os::raw::c_int;
4442}
4443unsafe extern "C" {
4444 pub fn ilogbl(arg1: f64) -> ::std::os::raw::c_int;
4445}
4446unsafe extern "C" {
4447 pub fn scalbnf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32;
4448}
4449unsafe extern "C" {
4450 pub fn scalbn(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
4451}
4452unsafe extern "C" {
4453 pub fn scalbnl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64;
4454}
4455unsafe extern "C" {
4456 pub fn scalblnf(arg1: f32, arg2: ::std::os::raw::c_long) -> f32;
4457}
4458unsafe extern "C" {
4459 pub fn scalbln(arg1: f64, arg2: ::std::os::raw::c_long) -> f64;
4460}
4461unsafe extern "C" {
4462 pub fn scalblnl(arg1: f64, arg2: ::std::os::raw::c_long) -> f64;
4463}
4464unsafe extern "C" {
4465 pub fn fabsf(arg1: f32) -> f32;
4466}
4467unsafe extern "C" {
4468 pub fn fabs(arg1: f64) -> f64;
4469}
4470unsafe extern "C" {
4471 pub fn fabsl(arg1: f64) -> f64;
4472}
4473unsafe extern "C" {
4474 pub fn cbrtf(arg1: f32) -> f32;
4475}
4476unsafe extern "C" {
4477 pub fn cbrt(arg1: f64) -> f64;
4478}
4479unsafe extern "C" {
4480 pub fn cbrtl(arg1: f64) -> f64;
4481}
4482unsafe extern "C" {
4483 pub fn hypotf(arg1: f32, arg2: f32) -> f32;
4484}
4485unsafe extern "C" {
4486 pub fn hypot(arg1: f64, arg2: f64) -> f64;
4487}
4488unsafe extern "C" {
4489 pub fn hypotl(arg1: f64, arg2: f64) -> f64;
4490}
4491unsafe extern "C" {
4492 pub fn powf(arg1: f32, arg2: f32) -> f32;
4493}
4494unsafe extern "C" {
4495 pub fn pow(arg1: f64, arg2: f64) -> f64;
4496}
4497unsafe extern "C" {
4498 pub fn powl(arg1: f64, arg2: f64) -> f64;
4499}
4500unsafe extern "C" {
4501 pub fn sqrtf(arg1: f32) -> f32;
4502}
4503unsafe extern "C" {
4504 pub fn sqrt(arg1: f64) -> f64;
4505}
4506unsafe extern "C" {
4507 pub fn sqrtl(arg1: f64) -> f64;
4508}
4509unsafe extern "C" {
4510 pub fn erff(arg1: f32) -> f32;
4511}
4512unsafe extern "C" {
4513 pub fn erf(arg1: f64) -> f64;
4514}
4515unsafe extern "C" {
4516 pub fn erfl(arg1: f64) -> f64;
4517}
4518unsafe extern "C" {
4519 pub fn erfcf(arg1: f32) -> f32;
4520}
4521unsafe extern "C" {
4522 pub fn erfc(arg1: f64) -> f64;
4523}
4524unsafe extern "C" {
4525 pub fn erfcl(arg1: f64) -> f64;
4526}
4527unsafe extern "C" {
4528 pub fn lgammaf(arg1: f32) -> f32;
4529}
4530unsafe extern "C" {
4531 pub fn lgamma(arg1: f64) -> f64;
4532}
4533unsafe extern "C" {
4534 pub fn lgammal(arg1: f64) -> f64;
4535}
4536unsafe extern "C" {
4537 pub fn tgammaf(arg1: f32) -> f32;
4538}
4539unsafe extern "C" {
4540 pub fn tgamma(arg1: f64) -> f64;
4541}
4542unsafe extern "C" {
4543 pub fn tgammal(arg1: f64) -> f64;
4544}
4545unsafe extern "C" {
4546 pub fn ceilf(arg1: f32) -> f32;
4547}
4548unsafe extern "C" {
4549 pub fn ceil(arg1: f64) -> f64;
4550}
4551unsafe extern "C" {
4552 pub fn ceill(arg1: f64) -> f64;
4553}
4554unsafe extern "C" {
4555 pub fn floorf(arg1: f32) -> f32;
4556}
4557unsafe extern "C" {
4558 pub fn floor(arg1: f64) -> f64;
4559}
4560unsafe extern "C" {
4561 pub fn floorl(arg1: f64) -> f64;
4562}
4563unsafe extern "C" {
4564 pub fn nearbyintf(arg1: f32) -> f32;
4565}
4566unsafe extern "C" {
4567 pub fn nearbyint(arg1: f64) -> f64;
4568}
4569unsafe extern "C" {
4570 pub fn nearbyintl(arg1: f64) -> f64;
4571}
4572unsafe extern "C" {
4573 pub fn rintf(arg1: f32) -> f32;
4574}
4575unsafe extern "C" {
4576 pub fn rint(arg1: f64) -> f64;
4577}
4578unsafe extern "C" {
4579 pub fn rintl(arg1: f64) -> f64;
4580}
4581unsafe extern "C" {
4582 pub fn lrintf(arg1: f32) -> ::std::os::raw::c_long;
4583}
4584unsafe extern "C" {
4585 pub fn lrint(arg1: f64) -> ::std::os::raw::c_long;
4586}
4587unsafe extern "C" {
4588 pub fn lrintl(arg1: f64) -> ::std::os::raw::c_long;
4589}
4590unsafe extern "C" {
4591 pub fn roundf(arg1: f32) -> f32;
4592}
4593unsafe extern "C" {
4594 pub fn round(arg1: f64) -> f64;
4595}
4596unsafe extern "C" {
4597 pub fn roundl(arg1: f64) -> f64;
4598}
4599unsafe extern "C" {
4600 pub fn lroundf(arg1: f32) -> ::std::os::raw::c_long;
4601}
4602unsafe extern "C" {
4603 pub fn lround(arg1: f64) -> ::std::os::raw::c_long;
4604}
4605unsafe extern "C" {
4606 pub fn lroundl(arg1: f64) -> ::std::os::raw::c_long;
4607}
4608unsafe extern "C" {
4609 pub fn llrintf(arg1: f32) -> ::std::os::raw::c_longlong;
4610}
4611unsafe extern "C" {
4612 pub fn llrint(arg1: f64) -> ::std::os::raw::c_longlong;
4613}
4614unsafe extern "C" {
4615 pub fn llrintl(arg1: f64) -> ::std::os::raw::c_longlong;
4616}
4617unsafe extern "C" {
4618 pub fn llroundf(arg1: f32) -> ::std::os::raw::c_longlong;
4619}
4620unsafe extern "C" {
4621 pub fn llround(arg1: f64) -> ::std::os::raw::c_longlong;
4622}
4623unsafe extern "C" {
4624 pub fn llroundl(arg1: f64) -> ::std::os::raw::c_longlong;
4625}
4626unsafe extern "C" {
4627 pub fn truncf(arg1: f32) -> f32;
4628}
4629unsafe extern "C" {
4630 pub fn trunc(arg1: f64) -> f64;
4631}
4632unsafe extern "C" {
4633 pub fn truncl(arg1: f64) -> f64;
4634}
4635unsafe extern "C" {
4636 pub fn fmodf(arg1: f32, arg2: f32) -> f32;
4637}
4638unsafe extern "C" {
4639 pub fn fmod(arg1: f64, arg2: f64) -> f64;
4640}
4641unsafe extern "C" {
4642 pub fn fmodl(arg1: f64, arg2: f64) -> f64;
4643}
4644unsafe extern "C" {
4645 pub fn remainderf(arg1: f32, arg2: f32) -> f32;
4646}
4647unsafe extern "C" {
4648 pub fn remainder(arg1: f64, arg2: f64) -> f64;
4649}
4650unsafe extern "C" {
4651 pub fn remainderl(arg1: f64, arg2: f64) -> f64;
4652}
4653unsafe extern "C" {
4654 pub fn remquof(arg1: f32, arg2: f32, arg3: *mut ::std::os::raw::c_int) -> f32;
4655}
4656unsafe extern "C" {
4657 pub fn remquo(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64;
4658}
4659unsafe extern "C" {
4660 pub fn remquol(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64;
4661}
4662unsafe extern "C" {
4663 pub fn copysignf(arg1: f32, arg2: f32) -> f32;
4664}
4665unsafe extern "C" {
4666 pub fn copysign(arg1: f64, arg2: f64) -> f64;
4667}
4668unsafe extern "C" {
4669 pub fn copysignl(arg1: f64, arg2: f64) -> f64;
4670}
4671unsafe extern "C" {
4672 pub fn nanf(arg1: *const ::std::os::raw::c_char) -> f32;
4673}
4674unsafe extern "C" {
4675 pub fn nan(arg1: *const ::std::os::raw::c_char) -> f64;
4676}
4677unsafe extern "C" {
4678 pub fn nanl(arg1: *const ::std::os::raw::c_char) -> f64;
4679}
4680unsafe extern "C" {
4681 pub fn nextafterf(arg1: f32, arg2: f32) -> f32;
4682}
4683unsafe extern "C" {
4684 pub fn nextafter(arg1: f64, arg2: f64) -> f64;
4685}
4686unsafe extern "C" {
4687 pub fn nextafterl(arg1: f64, arg2: f64) -> f64;
4688}
4689unsafe extern "C" {
4690 pub fn nexttoward(arg1: f64, arg2: f64) -> f64;
4691}
4692unsafe extern "C" {
4693 pub fn nexttowardf(arg1: f32, arg2: f64) -> f32;
4694}
4695unsafe extern "C" {
4696 pub fn nexttowardl(arg1: f64, arg2: f64) -> f64;
4697}
4698unsafe extern "C" {
4699 pub fn fdimf(arg1: f32, arg2: f32) -> f32;
4700}
4701unsafe extern "C" {
4702 pub fn fdim(arg1: f64, arg2: f64) -> f64;
4703}
4704unsafe extern "C" {
4705 pub fn fdiml(arg1: f64, arg2: f64) -> f64;
4706}
4707unsafe extern "C" {
4708 pub fn fmaxf(arg1: f32, arg2: f32) -> f32;
4709}
4710unsafe extern "C" {
4711 pub fn fmax(arg1: f64, arg2: f64) -> f64;
4712}
4713unsafe extern "C" {
4714 pub fn fmaxl(arg1: f64, arg2: f64) -> f64;
4715}
4716unsafe extern "C" {
4717 pub fn fminf(arg1: f32, arg2: f32) -> f32;
4718}
4719unsafe extern "C" {
4720 pub fn fmin(arg1: f64, arg2: f64) -> f64;
4721}
4722unsafe extern "C" {
4723 pub fn fminl(arg1: f64, arg2: f64) -> f64;
4724}
4725unsafe extern "C" {
4726 pub fn fmaf(arg1: f32, arg2: f32, arg3: f32) -> f32;
4727}
4728unsafe extern "C" {
4729 pub fn fma(arg1: f64, arg2: f64, arg3: f64) -> f64;
4730}
4731unsafe extern "C" {
4732 pub fn fmal(arg1: f64, arg2: f64, arg3: f64) -> f64;
4733}
4734unsafe extern "C" {
4735 pub fn __exp10f(arg1: f32) -> f32;
4736}
4737unsafe extern "C" {
4738 pub fn __exp10(arg1: f64) -> f64;
4739}
4740unsafe extern "C" {
4741 pub fn __cospif(arg1: f32) -> f32;
4742}
4743unsafe extern "C" {
4744 pub fn __cospi(arg1: f64) -> f64;
4745}
4746unsafe extern "C" {
4747 pub fn __sinpif(arg1: f32) -> f32;
4748}
4749unsafe extern "C" {
4750 pub fn __sinpi(arg1: f64) -> f64;
4751}
4752unsafe extern "C" {
4753 pub fn __tanpif(arg1: f32) -> f32;
4754}
4755unsafe extern "C" {
4756 pub fn __tanpi(arg1: f64) -> f64;
4757}
4758unsafe extern "C" {
4759 pub fn __fabsf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4760}
4761unsafe extern "C" {
4762 pub fn __hypotf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16;
4763}
4764unsafe extern "C" {
4765 pub fn __sqrtf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4766}
4767unsafe extern "C" {
4768 pub fn __ceilf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4769}
4770unsafe extern "C" {
4771 pub fn __floorf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4772}
4773unsafe extern "C" {
4774 pub fn __rintf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4775}
4776unsafe extern "C" {
4777 pub fn __roundf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4778}
4779unsafe extern "C" {
4780 pub fn __truncf16(arg1: __BindgenFloat16) -> __BindgenFloat16;
4781}
4782unsafe extern "C" {
4783 pub fn __copysignf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16;
4784}
4785unsafe extern "C" {
4786 pub fn __nextafterf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16;
4787}
4788unsafe extern "C" {
4789 pub fn __fmaxf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16;
4790}
4791unsafe extern "C" {
4792 pub fn __fminf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16;
4793}
4794unsafe extern "C" {
4795 pub fn __fmaf16(
4796 arg1: __BindgenFloat16,
4797 arg2: __BindgenFloat16,
4798 arg3: __BindgenFloat16,
4799 ) -> __BindgenFloat16;
4800}
4801#[repr(C)]
4802#[derive(Debug, Copy, Clone)]
4803pub struct __float2 {
4804 pub __sinval: f32,
4805 pub __cosval: f32,
4806}
4807#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4808const _: () = {
4809 ["Size of __float2"][::std::mem::size_of::<__float2>() - 8usize];
4810 ["Alignment of __float2"][::std::mem::align_of::<__float2>() - 4usize];
4811 ["Offset of field: __float2::__sinval"][::std::mem::offset_of!(__float2, __sinval) - 0usize];
4812 ["Offset of field: __float2::__cosval"][::std::mem::offset_of!(__float2, __cosval) - 4usize];
4813};
4814#[repr(C)]
4815#[derive(Debug, Copy, Clone)]
4816pub struct __double2 {
4817 pub __sinval: f64,
4818 pub __cosval: f64,
4819}
4820#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4821const _: () = {
4822 ["Size of __double2"][::std::mem::size_of::<__double2>() - 16usize];
4823 ["Alignment of __double2"][::std::mem::align_of::<__double2>() - 8usize];
4824 ["Offset of field: __double2::__sinval"][::std::mem::offset_of!(__double2, __sinval) - 0usize];
4825 ["Offset of field: __double2::__cosval"][::std::mem::offset_of!(__double2, __cosval) - 8usize];
4826};
4827unsafe extern "C" {
4828 pub fn __sincosf_stret(arg1: f32) -> __float2;
4829}
4830unsafe extern "C" {
4831 pub fn __sincos_stret(arg1: f64) -> __double2;
4832}
4833unsafe extern "C" {
4834 pub fn __sincospif_stret(arg1: f32) -> __float2;
4835}
4836unsafe extern "C" {
4837 pub fn __sincospi_stret(arg1: f64) -> __double2;
4838}
4839unsafe extern "C" {
4840 pub fn j0(arg1: f64) -> f64;
4841}
4842unsafe extern "C" {
4843 pub fn j1(arg1: f64) -> f64;
4844}
4845unsafe extern "C" {
4846 pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
4847}
4848unsafe extern "C" {
4849 pub fn y0(arg1: f64) -> f64;
4850}
4851unsafe extern "C" {
4852 pub fn y1(arg1: f64) -> f64;
4853}
4854unsafe extern "C" {
4855 pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
4856}
4857unsafe extern "C" {
4858 pub fn scalb(arg1: f64, arg2: f64) -> f64;
4859}
4860unsafe extern "C" {
4861 pub static mut signgam: ::std::os::raw::c_int;
4862}
4863#[repr(C)]
4864#[derive(Debug, Copy, Clone)]
4865pub struct exception {
4866 pub type_: ::std::os::raw::c_int,
4867 pub name: *mut ::std::os::raw::c_char,
4868 pub arg1: f64,
4869 pub arg2: f64,
4870 pub retval: f64,
4871}
4872#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4873const _: () = {
4874 ["Size of exception"][::std::mem::size_of::<exception>() - 40usize];
4875 ["Alignment of exception"][::std::mem::align_of::<exception>() - 8usize];
4876 ["Offset of field: exception::type_"][::std::mem::offset_of!(exception, type_) - 0usize];
4877 ["Offset of field: exception::name"][::std::mem::offset_of!(exception, name) - 8usize];
4878 ["Offset of field: exception::arg1"][::std::mem::offset_of!(exception, arg1) - 16usize];
4879 ["Offset of field: exception::arg2"][::std::mem::offset_of!(exception, arg2) - 24usize];
4880 ["Offset of field: exception::retval"][::std::mem::offset_of!(exception, retval) - 32usize];
4881};
4882pub type rsize_t = ::std::os::raw::c_ulong;
4883pub type max_align_t = f64;
4884unsafe extern "C" {
4885 pub fn renameat(
4886 arg1: ::std::os::raw::c_int,
4887 arg2: *const ::std::os::raw::c_char,
4888 arg3: ::std::os::raw::c_int,
4889 arg4: *const ::std::os::raw::c_char,
4890 ) -> ::std::os::raw::c_int;
4891}
4892unsafe extern "C" {
4893 pub fn renamex_np(
4894 arg1: *const ::std::os::raw::c_char,
4895 arg2: *const ::std::os::raw::c_char,
4896 arg3: ::std::os::raw::c_uint,
4897 ) -> ::std::os::raw::c_int;
4898}
4899unsafe extern "C" {
4900 pub fn renameatx_np(
4901 arg1: ::std::os::raw::c_int,
4902 arg2: *const ::std::os::raw::c_char,
4903 arg3: ::std::os::raw::c_int,
4904 arg4: *const ::std::os::raw::c_char,
4905 arg5: ::std::os::raw::c_uint,
4906 ) -> ::std::os::raw::c_int;
4907}
4908unsafe extern "C" {
4909 pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
4910}
4911pub type fpos_t = __darwin_off_t;
4912#[repr(C)]
4913#[derive(Debug, Copy, Clone)]
4914pub struct __sbuf {
4915 pub _base: *mut ::std::os::raw::c_uchar,
4916 pub _size: ::std::os::raw::c_int,
4917}
4918#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4919const _: () = {
4920 ["Size of __sbuf"][::std::mem::size_of::<__sbuf>() - 16usize];
4921 ["Alignment of __sbuf"][::std::mem::align_of::<__sbuf>() - 8usize];
4922 ["Offset of field: __sbuf::_base"][::std::mem::offset_of!(__sbuf, _base) - 0usize];
4923 ["Offset of field: __sbuf::_size"][::std::mem::offset_of!(__sbuf, _size) - 8usize];
4924};
4925#[repr(C)]
4926#[derive(Debug, Copy, Clone)]
4927pub struct __sFILEX {
4928 _unused: [u8; 0],
4929}
4930#[repr(C)]
4931#[derive(Debug, Copy, Clone)]
4932pub struct __sFILE {
4933 pub _p: *mut ::std::os::raw::c_uchar,
4934 pub _r: ::std::os::raw::c_int,
4935 pub _w: ::std::os::raw::c_int,
4936 pub _flags: ::std::os::raw::c_short,
4937 pub _file: ::std::os::raw::c_short,
4938 pub _bf: __sbuf,
4939 pub _lbfsize: ::std::os::raw::c_int,
4940 pub _cookie: *mut ::std::os::raw::c_void,
4941 pub _close: ::std::option::Option<
4942 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
4943 >,
4944 pub _read: ::std::option::Option<
4945 unsafe extern "C" fn(
4946 arg1: *mut ::std::os::raw::c_void,
4947 arg2: *mut ::std::os::raw::c_char,
4948 __n: ::std::os::raw::c_int,
4949 ) -> ::std::os::raw::c_int,
4950 >,
4951 pub _seek: ::std::option::Option<
4952 unsafe extern "C" fn(
4953 arg1: *mut ::std::os::raw::c_void,
4954 arg2: fpos_t,
4955 arg3: ::std::os::raw::c_int,
4956 ) -> fpos_t,
4957 >,
4958 pub _write: ::std::option::Option<
4959 unsafe extern "C" fn(
4960 arg1: *mut ::std::os::raw::c_void,
4961 arg2: *const ::std::os::raw::c_char,
4962 __n: ::std::os::raw::c_int,
4963 ) -> ::std::os::raw::c_int,
4964 >,
4965 pub _ub: __sbuf,
4966 pub _extra: *mut __sFILEX,
4967 pub _ur: ::std::os::raw::c_int,
4968 pub _ubuf: [::std::os::raw::c_uchar; 3usize],
4969 pub _nbuf: [::std::os::raw::c_uchar; 1usize],
4970 pub _lb: __sbuf,
4971 pub _blksize: ::std::os::raw::c_int,
4972 pub _offset: fpos_t,
4973}
4974#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4975const _: () = {
4976 ["Size of __sFILE"][::std::mem::size_of::<__sFILE>() - 152usize];
4977 ["Alignment of __sFILE"][::std::mem::align_of::<__sFILE>() - 8usize];
4978 ["Offset of field: __sFILE::_p"][::std::mem::offset_of!(__sFILE, _p) - 0usize];
4979 ["Offset of field: __sFILE::_r"][::std::mem::offset_of!(__sFILE, _r) - 8usize];
4980 ["Offset of field: __sFILE::_w"][::std::mem::offset_of!(__sFILE, _w) - 12usize];
4981 ["Offset of field: __sFILE::_flags"][::std::mem::offset_of!(__sFILE, _flags) - 16usize];
4982 ["Offset of field: __sFILE::_file"][::std::mem::offset_of!(__sFILE, _file) - 18usize];
4983 ["Offset of field: __sFILE::_bf"][::std::mem::offset_of!(__sFILE, _bf) - 24usize];
4984 ["Offset of field: __sFILE::_lbfsize"][::std::mem::offset_of!(__sFILE, _lbfsize) - 40usize];
4985 ["Offset of field: __sFILE::_cookie"][::std::mem::offset_of!(__sFILE, _cookie) - 48usize];
4986 ["Offset of field: __sFILE::_close"][::std::mem::offset_of!(__sFILE, _close) - 56usize];
4987 ["Offset of field: __sFILE::_read"][::std::mem::offset_of!(__sFILE, _read) - 64usize];
4988 ["Offset of field: __sFILE::_seek"][::std::mem::offset_of!(__sFILE, _seek) - 72usize];
4989 ["Offset of field: __sFILE::_write"][::std::mem::offset_of!(__sFILE, _write) - 80usize];
4990 ["Offset of field: __sFILE::_ub"][::std::mem::offset_of!(__sFILE, _ub) - 88usize];
4991 ["Offset of field: __sFILE::_extra"][::std::mem::offset_of!(__sFILE, _extra) - 104usize];
4992 ["Offset of field: __sFILE::_ur"][::std::mem::offset_of!(__sFILE, _ur) - 112usize];
4993 ["Offset of field: __sFILE::_ubuf"][::std::mem::offset_of!(__sFILE, _ubuf) - 116usize];
4994 ["Offset of field: __sFILE::_nbuf"][::std::mem::offset_of!(__sFILE, _nbuf) - 119usize];
4995 ["Offset of field: __sFILE::_lb"][::std::mem::offset_of!(__sFILE, _lb) - 120usize];
4996 ["Offset of field: __sFILE::_blksize"][::std::mem::offset_of!(__sFILE, _blksize) - 136usize];
4997 ["Offset of field: __sFILE::_offset"][::std::mem::offset_of!(__sFILE, _offset) - 144usize];
4998};
4999pub type FILE = __sFILE;
5000unsafe extern "C" {
5001 pub static mut __stdinp: *mut FILE;
5002}
5003unsafe extern "C" {
5004 pub static mut __stdoutp: *mut FILE;
5005}
5006unsafe extern "C" {
5007 pub static mut __stderrp: *mut FILE;
5008}
5009unsafe extern "C" {
5010 pub fn clearerr(arg1: *mut FILE);
5011}
5012unsafe extern "C" {
5013 pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
5014}
5015unsafe extern "C" {
5016 pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
5017}
5018unsafe extern "C" {
5019 pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
5020}
5021unsafe extern "C" {
5022 pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
5023}
5024unsafe extern "C" {
5025 pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
5026}
5027unsafe extern "C" {
5028 pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
5029}
5030unsafe extern "C" {
5031 pub fn fgets(
5032 arg1: *mut ::std::os::raw::c_char,
5033 __size: ::std::os::raw::c_int,
5034 arg2: *mut FILE,
5035 ) -> *mut ::std::os::raw::c_char;
5036}
5037unsafe extern "C" {
5038 pub fn fopen(
5039 __filename: *const ::std::os::raw::c_char,
5040 __mode: *const ::std::os::raw::c_char,
5041 ) -> *mut FILE;
5042}
5043unsafe extern "C" {
5044 pub fn fprintf(
5045 arg1: *mut FILE,
5046 arg2: *const ::std::os::raw::c_char,
5047 ...
5048 ) -> ::std::os::raw::c_int;
5049}
5050unsafe extern "C" {
5051 pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5052}
5053unsafe extern "C" {
5054 pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
5055}
5056unsafe extern "C" {
5057 pub fn fread(
5058 __ptr: *mut ::std::os::raw::c_void,
5059 __size: ::std::os::raw::c_ulong,
5060 __nitems: ::std::os::raw::c_ulong,
5061 __stream: *mut FILE,
5062 ) -> ::std::os::raw::c_ulong;
5063}
5064unsafe extern "C" {
5065 pub fn freopen(
5066 arg1: *const ::std::os::raw::c_char,
5067 arg2: *const ::std::os::raw::c_char,
5068 arg3: *mut FILE,
5069 ) -> *mut FILE;
5070}
5071unsafe extern "C" {
5072 pub fn fscanf(
5073 arg1: *mut FILE,
5074 arg2: *const ::std::os::raw::c_char,
5075 ...
5076 ) -> ::std::os::raw::c_int;
5077}
5078unsafe extern "C" {
5079 pub fn fseek(
5080 arg1: *mut FILE,
5081 arg2: ::std::os::raw::c_long,
5082 arg3: ::std::os::raw::c_int,
5083 ) -> ::std::os::raw::c_int;
5084}
5085unsafe extern "C" {
5086 pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
5087}
5088unsafe extern "C" {
5089 pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
5090}
5091unsafe extern "C" {
5092 pub fn fwrite(
5093 __ptr: *const ::std::os::raw::c_void,
5094 __size: ::std::os::raw::c_ulong,
5095 __nitems: ::std::os::raw::c_ulong,
5096 __stream: *mut FILE,
5097 ) -> ::std::os::raw::c_ulong;
5098}
5099unsafe extern "C" {
5100 pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
5101}
5102unsafe extern "C" {
5103 pub fn getchar() -> ::std::os::raw::c_int;
5104}
5105unsafe extern "C" {
5106 pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5107}
5108unsafe extern "C" {
5109 pub fn perror(arg1: *const ::std::os::raw::c_char);
5110}
5111unsafe extern "C" {
5112 pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5113}
5114unsafe extern "C" {
5115 pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5116}
5117unsafe extern "C" {
5118 pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5119}
5120unsafe extern "C" {
5121 pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5122}
5123unsafe extern "C" {
5124 pub fn rename(
5125 __old: *const ::std::os::raw::c_char,
5126 __new: *const ::std::os::raw::c_char,
5127 ) -> ::std::os::raw::c_int;
5128}
5129unsafe extern "C" {
5130 pub fn rewind(arg1: *mut FILE);
5131}
5132unsafe extern "C" {
5133 pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
5134}
5135unsafe extern "C" {
5136 pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
5137}
5138unsafe extern "C" {
5139 pub fn setvbuf(
5140 arg1: *mut FILE,
5141 arg2: *mut ::std::os::raw::c_char,
5142 arg3: ::std::os::raw::c_int,
5143 __size: usize,
5144 ) -> ::std::os::raw::c_int;
5145}
5146unsafe extern "C" {
5147 pub fn sprintf(
5148 arg1: *mut ::std::os::raw::c_char,
5149 arg2: *const ::std::os::raw::c_char,
5150 ...
5151 ) -> ::std::os::raw::c_int;
5152}
5153unsafe extern "C" {
5154 pub fn sscanf(
5155 arg1: *const ::std::os::raw::c_char,
5156 arg2: *const ::std::os::raw::c_char,
5157 ...
5158 ) -> ::std::os::raw::c_int;
5159}
5160unsafe extern "C" {
5161 pub fn tmpfile() -> *mut FILE;
5162}
5163unsafe extern "C" {
5164 pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5165}
5166unsafe extern "C" {
5167 pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5168}
5169unsafe extern "C" {
5170 pub fn vfprintf(
5171 arg1: *mut FILE,
5172 arg2: *const ::std::os::raw::c_char,
5173 arg3: __builtin_va_list,
5174 ) -> ::std::os::raw::c_int;
5175}
5176unsafe extern "C" {
5177 pub fn vprintf(
5178 arg1: *const ::std::os::raw::c_char,
5179 arg2: __builtin_va_list,
5180 ) -> ::std::os::raw::c_int;
5181}
5182unsafe extern "C" {
5183 pub fn vsprintf(
5184 arg1: *mut ::std::os::raw::c_char,
5185 arg2: *const ::std::os::raw::c_char,
5186 arg3: __builtin_va_list,
5187 ) -> ::std::os::raw::c_int;
5188}
5189unsafe extern "C" {
5190 pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5191}
5192unsafe extern "C" {
5193 pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
5194}
5195unsafe extern "C" {
5196 pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
5197}
5198unsafe extern "C" {
5199 pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
5200}
5201unsafe extern "C" {
5202 pub fn popen(
5203 arg1: *const ::std::os::raw::c_char,
5204 arg2: *const ::std::os::raw::c_char,
5205 ) -> *mut FILE;
5206}
5207unsafe extern "C" {
5208 pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
5209}
5210unsafe extern "C" {
5211 pub fn __svfscanf(
5212 arg1: *mut FILE,
5213 arg2: *const ::std::os::raw::c_char,
5214 arg3: va_list,
5215 ) -> ::std::os::raw::c_int;
5216}
5217unsafe extern "C" {
5218 pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5219}
5220unsafe extern "C" {
5221 pub fn flockfile(arg1: *mut FILE);
5222}
5223unsafe extern "C" {
5224 pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
5225}
5226unsafe extern "C" {
5227 pub fn funlockfile(arg1: *mut FILE);
5228}
5229unsafe extern "C" {
5230 pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
5231}
5232unsafe extern "C" {
5233 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
5234}
5235unsafe extern "C" {
5236 pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5237}
5238unsafe extern "C" {
5239 pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5240}
5241unsafe extern "C" {
5242 pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
5243}
5244unsafe extern "C" {
5245 pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
5246}
5247unsafe extern "C" {
5248 pub fn tempnam(
5249 __dir: *const ::std::os::raw::c_char,
5250 __prefix: *const ::std::os::raw::c_char,
5251 ) -> *mut ::std::os::raw::c_char;
5252}
5253pub type off_t = __darwin_off_t;
5254unsafe extern "C" {
5255 pub fn fseeko(
5256 __stream: *mut FILE,
5257 __offset: off_t,
5258 __whence: ::std::os::raw::c_int,
5259 ) -> ::std::os::raw::c_int;
5260}
5261unsafe extern "C" {
5262 pub fn ftello(__stream: *mut FILE) -> off_t;
5263}
5264unsafe extern "C" {
5265 pub fn snprintf(
5266 __str: *mut ::std::os::raw::c_char,
5267 __size: ::std::os::raw::c_ulong,
5268 __format: *const ::std::os::raw::c_char,
5269 ...
5270 ) -> ::std::os::raw::c_int;
5271}
5272unsafe extern "C" {
5273 pub fn vfscanf(
5274 __stream: *mut FILE,
5275 __format: *const ::std::os::raw::c_char,
5276 arg1: __builtin_va_list,
5277 ) -> ::std::os::raw::c_int;
5278}
5279unsafe extern "C" {
5280 pub fn vscanf(
5281 __format: *const ::std::os::raw::c_char,
5282 arg1: __builtin_va_list,
5283 ) -> ::std::os::raw::c_int;
5284}
5285unsafe extern "C" {
5286 pub fn vsnprintf(
5287 __str: *mut ::std::os::raw::c_char,
5288 __size: ::std::os::raw::c_ulong,
5289 __format: *const ::std::os::raw::c_char,
5290 arg1: __builtin_va_list,
5291 ) -> ::std::os::raw::c_int;
5292}
5293unsafe extern "C" {
5294 pub fn vsscanf(
5295 __str: *const ::std::os::raw::c_char,
5296 __format: *const ::std::os::raw::c_char,
5297 arg1: __builtin_va_list,
5298 ) -> ::std::os::raw::c_int;
5299}
5300unsafe extern "C" {
5301 pub fn dprintf(
5302 arg1: ::std::os::raw::c_int,
5303 arg2: *const ::std::os::raw::c_char,
5304 ...
5305 ) -> ::std::os::raw::c_int;
5306}
5307unsafe extern "C" {
5308 pub fn vdprintf(
5309 arg1: ::std::os::raw::c_int,
5310 arg2: *const ::std::os::raw::c_char,
5311 arg3: va_list,
5312 ) -> ::std::os::raw::c_int;
5313}
5314unsafe extern "C" {
5315 pub fn getdelim(
5316 __linep: *mut *mut ::std::os::raw::c_char,
5317 __linecapp: *mut usize,
5318 __delimiter: ::std::os::raw::c_int,
5319 __stream: *mut FILE,
5320 ) -> isize;
5321}
5322unsafe extern "C" {
5323 pub fn getline(
5324 __linep: *mut *mut ::std::os::raw::c_char,
5325 __linecapp: *mut usize,
5326 __stream: *mut FILE,
5327 ) -> isize;
5328}
5329unsafe extern "C" {
5330 pub fn fmemopen(
5331 __buf: *mut ::std::os::raw::c_void,
5332 __size: usize,
5333 __mode: *const ::std::os::raw::c_char,
5334 ) -> *mut FILE;
5335}
5336unsafe extern "C" {
5337 pub fn open_memstream(
5338 __bufp: *mut *mut ::std::os::raw::c_char,
5339 __sizep: *mut usize,
5340 ) -> *mut FILE;
5341}
5342unsafe extern "C" {
5343 pub static sys_nerr: ::std::os::raw::c_int;
5344}
5345unsafe extern "C" {
5346 pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
5347}
5348unsafe extern "C" {
5349 pub fn asprintf(
5350 arg1: *mut *mut ::std::os::raw::c_char,
5351 arg2: *const ::std::os::raw::c_char,
5352 ...
5353 ) -> ::std::os::raw::c_int;
5354}
5355unsafe extern "C" {
5356 pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5357}
5358unsafe extern "C" {
5359 pub fn fgetln(arg1: *mut FILE, __len: *mut usize) -> *mut ::std::os::raw::c_char;
5360}
5361unsafe extern "C" {
5362 pub fn fmtcheck(
5363 arg1: *const ::std::os::raw::c_char,
5364 arg2: *const ::std::os::raw::c_char,
5365 ) -> *const ::std::os::raw::c_char;
5366}
5367unsafe extern "C" {
5368 pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
5369}
5370unsafe extern "C" {
5371 pub fn setbuffer(
5372 arg1: *mut FILE,
5373 arg2: *mut ::std::os::raw::c_char,
5374 __size: ::std::os::raw::c_int,
5375 );
5376}
5377unsafe extern "C" {
5378 pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
5379}
5380unsafe extern "C" {
5381 pub fn vasprintf(
5382 arg1: *mut *mut ::std::os::raw::c_char,
5383 arg2: *const ::std::os::raw::c_char,
5384 arg3: va_list,
5385 ) -> ::std::os::raw::c_int;
5386}
5387unsafe extern "C" {
5388 pub fn funopen(
5389 arg1: *const ::std::os::raw::c_void,
5390 arg2: ::std::option::Option<
5391 unsafe extern "C" fn(
5392 arg1: *mut ::std::os::raw::c_void,
5393 arg2: *mut ::std::os::raw::c_char,
5394 __n: ::std::os::raw::c_int,
5395 ) -> ::std::os::raw::c_int,
5396 >,
5397 arg3: ::std::option::Option<
5398 unsafe extern "C" fn(
5399 arg1: *mut ::std::os::raw::c_void,
5400 arg2: *const ::std::os::raw::c_char,
5401 __n: ::std::os::raw::c_int,
5402 ) -> ::std::os::raw::c_int,
5403 >,
5404 arg4: ::std::option::Option<
5405 unsafe extern "C" fn(
5406 arg1: *mut ::std::os::raw::c_void,
5407 arg2: fpos_t,
5408 arg3: ::std::os::raw::c_int,
5409 ) -> fpos_t,
5410 >,
5411 arg5: ::std::option::Option<
5412 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
5413 >,
5414 ) -> *mut FILE;
5415}
5416unsafe extern "C" {
5417 pub fn __snprintf_chk(
5418 arg1: *mut ::std::os::raw::c_char,
5419 __maxlen: usize,
5420 arg2: ::std::os::raw::c_int,
5421 arg3: usize,
5422 arg4: *const ::std::os::raw::c_char,
5423 ...
5424 ) -> ::std::os::raw::c_int;
5425}
5426unsafe extern "C" {
5427 pub fn __vsnprintf_chk(
5428 arg1: *mut ::std::os::raw::c_char,
5429 __maxlen: usize,
5430 arg2: ::std::os::raw::c_int,
5431 arg3: usize,
5432 arg4: *const ::std::os::raw::c_char,
5433 arg5: va_list,
5434 ) -> ::std::os::raw::c_int;
5435}
5436unsafe extern "C" {
5437 pub fn __sprintf_chk(
5438 arg1: *mut ::std::os::raw::c_char,
5439 arg2: ::std::os::raw::c_int,
5440 arg3: usize,
5441 arg4: *const ::std::os::raw::c_char,
5442 ...
5443 ) -> ::std::os::raw::c_int;
5444}
5445unsafe extern "C" {
5446 pub fn __vsprintf_chk(
5447 arg1: *mut ::std::os::raw::c_char,
5448 arg2: ::std::os::raw::c_int,
5449 arg3: usize,
5450 arg4: *const ::std::os::raw::c_char,
5451 arg5: va_list,
5452 ) -> ::std::os::raw::c_int;
5453}
5454pub type igraph_int_t = i64;
5455pub type igraph_uint_t = u64;
5456pub type igraph_integer_t = igraph_int_t;
5457pub type igraph_real_t = f64;
5458pub type igraph_bool_t = bool;
5459unsafe extern "C" {
5460 pub fn igraph_real_printf(val: igraph_real_t) -> ::std::os::raw::c_int;
5461}
5462unsafe extern "C" {
5463 pub fn igraph_real_fprintf(file: *mut FILE, val: igraph_real_t) -> ::std::os::raw::c_int;
5464}
5465unsafe extern "C" {
5466 pub fn igraph_real_printf_aligned(
5467 width: ::std::os::raw::c_int,
5468 val: igraph_real_t,
5469 ) -> ::std::os::raw::c_int;
5470}
5471unsafe extern "C" {
5472 pub fn igraph_real_fprintf_aligned(
5473 file: *mut FILE,
5474 width: ::std::os::raw::c_int,
5475 val: igraph_real_t,
5476 ) -> ::std::os::raw::c_int;
5477}
5478unsafe extern "C" {
5479 pub fn igraph_real_snprintf(
5480 str_: *mut ::std::os::raw::c_char,
5481 size: usize,
5482 val: igraph_real_t,
5483 ) -> ::std::os::raw::c_int;
5484}
5485unsafe extern "C" {
5486 pub fn igraph_real_printf_precise(val: igraph_real_t) -> ::std::os::raw::c_int;
5487}
5488unsafe extern "C" {
5489 pub fn igraph_real_fprintf_precise(
5490 file: *mut FILE,
5491 val: igraph_real_t,
5492 ) -> ::std::os::raw::c_int;
5493}
5494unsafe extern "C" {
5495 pub fn igraph_real_snprintf_precise(
5496 str_: *mut ::std::os::raw::c_char,
5497 size: usize,
5498 val: igraph_real_t,
5499 ) -> ::std::os::raw::c_int;
5500}
5501#[repr(C)]
5502#[derive(Debug, Copy, Clone)]
5503pub struct igraph_rng_type_t {
5504 pub name: *const ::std::os::raw::c_char,
5505 pub bits: u8,
5506 pub init: ::std::option::Option<
5507 unsafe extern "C" fn(state: *mut *mut ::std::os::raw::c_void) -> igraph_error_t,
5508 >,
5509 pub destroy: ::std::option::Option<unsafe extern "C" fn(state: *mut ::std::os::raw::c_void)>,
5510 pub seed: ::std::option::Option<
5511 unsafe extern "C" fn(
5512 state: *mut ::std::os::raw::c_void,
5513 seed: igraph_uint_t,
5514 ) -> igraph_error_t,
5515 >,
5516 pub get: ::std::option::Option<
5517 unsafe extern "C" fn(state: *mut ::std::os::raw::c_void) -> igraph_uint_t,
5518 >,
5519 pub get_int: ::std::option::Option<
5520 unsafe extern "C" fn(
5521 state: *mut ::std::os::raw::c_void,
5522 l: igraph_int_t,
5523 h: igraph_int_t,
5524 ) -> igraph_int_t,
5525 >,
5526 pub get_real: ::std::option::Option<
5527 unsafe extern "C" fn(state: *mut ::std::os::raw::c_void) -> igraph_real_t,
5528 >,
5529 pub get_norm: ::std::option::Option<
5530 unsafe extern "C" fn(state: *mut ::std::os::raw::c_void) -> igraph_real_t,
5531 >,
5532 pub get_geom: ::std::option::Option<
5533 unsafe extern "C" fn(state: *mut ::std::os::raw::c_void, p: igraph_real_t) -> igraph_real_t,
5534 >,
5535 pub get_binom: ::std::option::Option<
5536 unsafe extern "C" fn(
5537 state: *mut ::std::os::raw::c_void,
5538 n: igraph_int_t,
5539 p: igraph_real_t,
5540 ) -> igraph_real_t,
5541 >,
5542 pub get_exp: ::std::option::Option<
5543 unsafe extern "C" fn(
5544 state: *mut ::std::os::raw::c_void,
5545 rate: igraph_real_t,
5546 ) -> igraph_real_t,
5547 >,
5548 pub get_gamma: ::std::option::Option<
5549 unsafe extern "C" fn(
5550 state: *mut ::std::os::raw::c_void,
5551 shape: igraph_real_t,
5552 scale: igraph_real_t,
5553 ) -> igraph_real_t,
5554 >,
5555 pub get_pois: ::std::option::Option<
5556 unsafe extern "C" fn(
5557 state: *mut ::std::os::raw::c_void,
5558 mu: igraph_real_t,
5559 ) -> igraph_real_t,
5560 >,
5561}
5562#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5563const _: () = {
5564 ["Size of igraph_rng_type_t"][::std::mem::size_of::<igraph_rng_type_t>() - 112usize];
5565 ["Alignment of igraph_rng_type_t"][::std::mem::align_of::<igraph_rng_type_t>() - 8usize];
5566 ["Offset of field: igraph_rng_type_t::name"]
5567 [::std::mem::offset_of!(igraph_rng_type_t, name) - 0usize];
5568 ["Offset of field: igraph_rng_type_t::bits"]
5569 [::std::mem::offset_of!(igraph_rng_type_t, bits) - 8usize];
5570 ["Offset of field: igraph_rng_type_t::init"]
5571 [::std::mem::offset_of!(igraph_rng_type_t, init) - 16usize];
5572 ["Offset of field: igraph_rng_type_t::destroy"]
5573 [::std::mem::offset_of!(igraph_rng_type_t, destroy) - 24usize];
5574 ["Offset of field: igraph_rng_type_t::seed"]
5575 [::std::mem::offset_of!(igraph_rng_type_t, seed) - 32usize];
5576 ["Offset of field: igraph_rng_type_t::get"]
5577 [::std::mem::offset_of!(igraph_rng_type_t, get) - 40usize];
5578 ["Offset of field: igraph_rng_type_t::get_int"]
5579 [::std::mem::offset_of!(igraph_rng_type_t, get_int) - 48usize];
5580 ["Offset of field: igraph_rng_type_t::get_real"]
5581 [::std::mem::offset_of!(igraph_rng_type_t, get_real) - 56usize];
5582 ["Offset of field: igraph_rng_type_t::get_norm"]
5583 [::std::mem::offset_of!(igraph_rng_type_t, get_norm) - 64usize];
5584 ["Offset of field: igraph_rng_type_t::get_geom"]
5585 [::std::mem::offset_of!(igraph_rng_type_t, get_geom) - 72usize];
5586 ["Offset of field: igraph_rng_type_t::get_binom"]
5587 [::std::mem::offset_of!(igraph_rng_type_t, get_binom) - 80usize];
5588 ["Offset of field: igraph_rng_type_t::get_exp"]
5589 [::std::mem::offset_of!(igraph_rng_type_t, get_exp) - 88usize];
5590 ["Offset of field: igraph_rng_type_t::get_gamma"]
5591 [::std::mem::offset_of!(igraph_rng_type_t, get_gamma) - 96usize];
5592 ["Offset of field: igraph_rng_type_t::get_pois"]
5593 [::std::mem::offset_of!(igraph_rng_type_t, get_pois) - 104usize];
5594};
5595#[repr(C)]
5596#[derive(Debug, Copy, Clone)]
5597pub struct igraph_rng_t {
5598 pub type_: *const igraph_rng_type_t,
5599 pub state: *mut ::std::os::raw::c_void,
5600 pub is_seeded: igraph_bool_t,
5601}
5602#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5603const _: () = {
5604 ["Size of igraph_rng_t"][::std::mem::size_of::<igraph_rng_t>() - 24usize];
5605 ["Alignment of igraph_rng_t"][::std::mem::align_of::<igraph_rng_t>() - 8usize];
5606 ["Offset of field: igraph_rng_t::type_"][::std::mem::offset_of!(igraph_rng_t, type_) - 0usize];
5607 ["Offset of field: igraph_rng_t::state"][::std::mem::offset_of!(igraph_rng_t, state) - 8usize];
5608 ["Offset of field: igraph_rng_t::is_seeded"]
5609 [::std::mem::offset_of!(igraph_rng_t, is_seeded) - 16usize];
5610};
5611unsafe extern "C" {
5612 pub fn igraph_rng_init(
5613 rng: *mut igraph_rng_t,
5614 type_: *const igraph_rng_type_t,
5615 ) -> igraph_error_t;
5616}
5617unsafe extern "C" {
5618 pub fn igraph_rng_destroy(rng: *mut igraph_rng_t);
5619}
5620unsafe extern "C" {
5621 pub fn igraph_rng_seed(rng: *mut igraph_rng_t, seed: igraph_uint_t) -> igraph_error_t;
5622}
5623unsafe extern "C" {
5624 pub fn igraph_rng_bits(rng: *const igraph_rng_t) -> igraph_int_t;
5625}
5626unsafe extern "C" {
5627 pub fn igraph_rng_max(rng: *const igraph_rng_t) -> igraph_uint_t;
5628}
5629unsafe extern "C" {
5630 pub fn igraph_rng_name(rng: *const igraph_rng_t) -> *const ::std::os::raw::c_char;
5631}
5632unsafe extern "C" {
5633 pub fn igraph_rng_get_bool(rng: *mut igraph_rng_t) -> igraph_bool_t;
5634}
5635unsafe extern "C" {
5636 pub fn igraph_rng_get_integer(
5637 rng: *mut igraph_rng_t,
5638 l: igraph_int_t,
5639 h: igraph_int_t,
5640 ) -> igraph_int_t;
5641}
5642unsafe extern "C" {
5643 pub fn igraph_rng_get_normal(
5644 rng: *mut igraph_rng_t,
5645 m: igraph_real_t,
5646 s: igraph_real_t,
5647 ) -> igraph_real_t;
5648}
5649unsafe extern "C" {
5650 pub fn igraph_rng_get_unif(
5651 rng: *mut igraph_rng_t,
5652 l: igraph_real_t,
5653 h: igraph_real_t,
5654 ) -> igraph_real_t;
5655}
5656unsafe extern "C" {
5657 pub fn igraph_rng_get_unif01(rng: *mut igraph_rng_t) -> igraph_real_t;
5658}
5659unsafe extern "C" {
5660 pub fn igraph_rng_get_geom(rng: *mut igraph_rng_t, p: igraph_real_t) -> igraph_real_t;
5661}
5662unsafe extern "C" {
5663 pub fn igraph_rng_get_binom(
5664 rng: *mut igraph_rng_t,
5665 n: igraph_int_t,
5666 p: igraph_real_t,
5667 ) -> igraph_real_t;
5668}
5669unsafe extern "C" {
5670 pub fn igraph_rng_get_exp(rng: *mut igraph_rng_t, rate: igraph_real_t) -> igraph_real_t;
5671}
5672unsafe extern "C" {
5673 pub fn igraph_rng_get_gamma(
5674 rng: *mut igraph_rng_t,
5675 shape: igraph_real_t,
5676 scale: igraph_real_t,
5677 ) -> igraph_real_t;
5678}
5679unsafe extern "C" {
5680 pub fn igraph_rng_get_pois(rng: *mut igraph_rng_t, rate: igraph_real_t) -> igraph_real_t;
5681}
5682unsafe extern "C" {
5683 pub static igraph_rngtype_glibc2: igraph_rng_type_t;
5684}
5685unsafe extern "C" {
5686 pub static igraph_rngtype_mt19937: igraph_rng_type_t;
5687}
5688unsafe extern "C" {
5689 pub static igraph_rngtype_pcg32: igraph_rng_type_t;
5690}
5691unsafe extern "C" {
5692 pub static igraph_rngtype_pcg64: igraph_rng_type_t;
5693}
5694unsafe extern "C" {
5695 pub fn igraph_rng_default() -> *mut igraph_rng_t;
5696}
5697unsafe extern "C" {
5698 pub fn igraph_rng_set_default(rng: *mut igraph_rng_t) -> *mut igraph_rng_t;
5699}
5700#[doc = " \\typedef igraph_progress_handler_t\n \\brief Type of progress handler functions\n\n This is the type of the igraph progress handler functions.\n There is currently one such predefined function,\n \\ref igraph_progress_handler_stderr(), but the user can\n write and set up more sophisticated ones.\n \\param message A string describing the function or algorithm\n that is reporting the progress. Current igraph functions\n always use the name \\p message argument if reporting from the\n same function.\n \\param percent Numeric, the percentage that was completed by the\n algorithm or function.\n \\param data User-defined data. Current igraph functions that\n report progress pass a null pointer here. Users can\n write their own progress handlers and functions with progress\n reporting, and then pass some meaningfull context here.\n \\return If the return value of the progress handler is not\n \\c IGRAPH_SUCCESS, then \\ref igraph_progress() returns the\n error code from the progress handler intact. The \\ref IGRAPH_PROGRESS()\n macro also frees all allocated memory."]
5701pub type igraph_progress_handler_t = ::std::option::Option<
5702 unsafe extern "C" fn(
5703 message: *const ::std::os::raw::c_char,
5704 percent: igraph_real_t,
5705 data: *mut ::std::os::raw::c_void,
5706 ) -> igraph_error_t,
5707>;
5708unsafe extern "C" {
5709 pub fn igraph_progress_handler_stderr(
5710 message: *const ::std::os::raw::c_char,
5711 percent: igraph_real_t,
5712 data: *mut ::std::os::raw::c_void,
5713 ) -> igraph_error_t;
5714}
5715unsafe extern "C" {
5716 pub fn igraph_set_progress_handler(
5717 new_handler: igraph_progress_handler_t,
5718 ) -> igraph_progress_handler_t;
5719}
5720unsafe extern "C" {
5721 pub fn igraph_progress(
5722 message: *const ::std::os::raw::c_char,
5723 percent: igraph_real_t,
5724 data: *mut ::std::os::raw::c_void,
5725 ) -> igraph_error_t;
5726}
5727unsafe extern "C" {
5728 pub fn igraph_progressf(
5729 message: *const ::std::os::raw::c_char,
5730 percent: igraph_real_t,
5731 data: *mut ::std::os::raw::c_void,
5732 ...
5733 ) -> igraph_error_t;
5734}
5735unsafe extern "C" {
5736 pub fn igraph_setup() -> igraph_error_t;
5737}
5738#[doc = " \\typedef igraph_status_handler_t\n\n The type of the igraph status handler functions\n \\param message The status message.\n \\param data Additional context, with user-defined semantics.\n Existing igraph functions pass a null pointer here.\n \\return Error code. The current calculation will abort if you return anything\n else than \\c IGRAPH_SUCCESS here."]
5739pub type igraph_status_handler_t = ::std::option::Option<
5740 unsafe extern "C" fn(
5741 message: *const ::std::os::raw::c_char,
5742 data: *mut ::std::os::raw::c_void,
5743 ) -> igraph_error_t,
5744>;
5745unsafe extern "C" {
5746 pub fn igraph_status_handler_stderr(
5747 message: *const ::std::os::raw::c_char,
5748 data: *mut ::std::os::raw::c_void,
5749 ) -> igraph_error_t;
5750}
5751unsafe extern "C" {
5752 pub fn igraph_set_status_handler(
5753 new_handler: igraph_status_handler_t,
5754 ) -> igraph_status_handler_t;
5755}
5756unsafe extern "C" {
5757 pub fn igraph_status(
5758 message: *const ::std::os::raw::c_char,
5759 data: *mut ::std::os::raw::c_void,
5760 ) -> igraph_error_t;
5761}
5762unsafe extern "C" {
5763 pub fn igraph_statusf(
5764 message: *const ::std::os::raw::c_char,
5765 data: *mut ::std::os::raw::c_void,
5766 ...
5767 ) -> igraph_error_t;
5768}
5769#[repr(C)]
5770#[derive(Debug, Copy, Clone)]
5771pub struct igraph_complex_t {
5772 pub dat: [igraph_real_t; 2usize],
5773}
5774#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5775const _: () = {
5776 ["Size of igraph_complex_t"][::std::mem::size_of::<igraph_complex_t>() - 16usize];
5777 ["Alignment of igraph_complex_t"][::std::mem::align_of::<igraph_complex_t>() - 8usize];
5778 ["Offset of field: igraph_complex_t::dat"]
5779 [::std::mem::offset_of!(igraph_complex_t, dat) - 0usize];
5780};
5781unsafe extern "C" {
5782 pub fn igraph_complex(x: igraph_real_t, y: igraph_real_t) -> igraph_complex_t;
5783}
5784unsafe extern "C" {
5785 pub fn igraph_complex_polar(r: igraph_real_t, theta: igraph_real_t) -> igraph_complex_t;
5786}
5787unsafe extern "C" {
5788 pub fn igraph_complex_almost_equals(
5789 z1: igraph_complex_t,
5790 z2: igraph_complex_t,
5791 eps: igraph_real_t,
5792 ) -> igraph_bool_t;
5793}
5794unsafe extern "C" {
5795 pub fn igraph_complex_arg(z: igraph_complex_t) -> igraph_real_t;
5796}
5797unsafe extern "C" {
5798 pub fn igraph_complex_abs(z: igraph_complex_t) -> igraph_real_t;
5799}
5800unsafe extern "C" {
5801 pub fn igraph_complex_logabs(z: igraph_complex_t) -> igraph_real_t;
5802}
5803unsafe extern "C" {
5804 pub fn igraph_complex_add(z1: igraph_complex_t, z2: igraph_complex_t) -> igraph_complex_t;
5805}
5806unsafe extern "C" {
5807 pub fn igraph_complex_sub(z1: igraph_complex_t, z2: igraph_complex_t) -> igraph_complex_t;
5808}
5809unsafe extern "C" {
5810 pub fn igraph_complex_mul(z1: igraph_complex_t, z2: igraph_complex_t) -> igraph_complex_t;
5811}
5812unsafe extern "C" {
5813 pub fn igraph_complex_div(z1: igraph_complex_t, z2: igraph_complex_t) -> igraph_complex_t;
5814}
5815unsafe extern "C" {
5816 pub fn igraph_complex_add_real(z: igraph_complex_t, x: igraph_real_t) -> igraph_complex_t;
5817}
5818unsafe extern "C" {
5819 pub fn igraph_complex_add_imag(z: igraph_complex_t, y: igraph_real_t) -> igraph_complex_t;
5820}
5821unsafe extern "C" {
5822 pub fn igraph_complex_sub_real(z: igraph_complex_t, x: igraph_real_t) -> igraph_complex_t;
5823}
5824unsafe extern "C" {
5825 pub fn igraph_complex_sub_imag(z: igraph_complex_t, y: igraph_real_t) -> igraph_complex_t;
5826}
5827unsafe extern "C" {
5828 pub fn igraph_complex_mul_real(z: igraph_complex_t, x: igraph_real_t) -> igraph_complex_t;
5829}
5830unsafe extern "C" {
5831 pub fn igraph_complex_mul_imag(z: igraph_complex_t, y: igraph_real_t) -> igraph_complex_t;
5832}
5833unsafe extern "C" {
5834 pub fn igraph_complex_div_real(z: igraph_complex_t, x: igraph_real_t) -> igraph_complex_t;
5835}
5836unsafe extern "C" {
5837 pub fn igraph_complex_div_imag(z: igraph_complex_t, y: igraph_real_t) -> igraph_complex_t;
5838}
5839unsafe extern "C" {
5840 pub fn igraph_complex_conj(z: igraph_complex_t) -> igraph_complex_t;
5841}
5842unsafe extern "C" {
5843 pub fn igraph_complex_neg(z: igraph_complex_t) -> igraph_complex_t;
5844}
5845unsafe extern "C" {
5846 pub fn igraph_complex_inv(z: igraph_complex_t) -> igraph_complex_t;
5847}
5848unsafe extern "C" {
5849 pub fn igraph_complex_sqrt(z: igraph_complex_t) -> igraph_complex_t;
5850}
5851unsafe extern "C" {
5852 pub fn igraph_complex_sqrt_real(x: igraph_real_t) -> igraph_complex_t;
5853}
5854unsafe extern "C" {
5855 pub fn igraph_complex_exp(z: igraph_complex_t) -> igraph_complex_t;
5856}
5857unsafe extern "C" {
5858 pub fn igraph_complex_pow(z1: igraph_complex_t, z2: igraph_complex_t) -> igraph_complex_t;
5859}
5860unsafe extern "C" {
5861 pub fn igraph_complex_pow_real(z: igraph_complex_t, x: igraph_real_t) -> igraph_complex_t;
5862}
5863unsafe extern "C" {
5864 pub fn igraph_complex_log(z: igraph_complex_t) -> igraph_complex_t;
5865}
5866unsafe extern "C" {
5867 pub fn igraph_complex_log10(z: igraph_complex_t) -> igraph_complex_t;
5868}
5869unsafe extern "C" {
5870 pub fn igraph_complex_log_b(z: igraph_complex_t, b: igraph_complex_t) -> igraph_complex_t;
5871}
5872unsafe extern "C" {
5873 pub fn igraph_complex_sin(z: igraph_complex_t) -> igraph_complex_t;
5874}
5875unsafe extern "C" {
5876 pub fn igraph_complex_cos(z: igraph_complex_t) -> igraph_complex_t;
5877}
5878unsafe extern "C" {
5879 pub fn igraph_complex_tan(z: igraph_complex_t) -> igraph_complex_t;
5880}
5881unsafe extern "C" {
5882 pub fn igraph_complex_sec(z: igraph_complex_t) -> igraph_complex_t;
5883}
5884unsafe extern "C" {
5885 pub fn igraph_complex_csc(z: igraph_complex_t) -> igraph_complex_t;
5886}
5887unsafe extern "C" {
5888 pub fn igraph_complex_cot(z: igraph_complex_t) -> igraph_complex_t;
5889}
5890unsafe extern "C" {
5891 pub fn igraph_complex_printf(val: igraph_complex_t) -> ::std::os::raw::c_int;
5892}
5893unsafe extern "C" {
5894 pub fn igraph_complex_fprintf(file: *mut FILE, val: igraph_complex_t) -> ::std::os::raw::c_int;
5895}
5896unsafe extern "C" {
5897 pub fn igraph_complex_printf_aligned(
5898 width: ::std::os::raw::c_int,
5899 val: igraph_complex_t,
5900 ) -> ::std::os::raw::c_int;
5901}
5902unsafe extern "C" {
5903 pub fn igraph_complex_fprintf_aligned(
5904 file: *mut FILE,
5905 width: ::std::os::raw::c_int,
5906 val: igraph_complex_t,
5907 ) -> ::std::os::raw::c_int;
5908}
5909unsafe extern "C" {
5910 pub fn igraph_complex_snprintf(
5911 str_: *mut ::std::os::raw::c_char,
5912 size: usize,
5913 val: igraph_complex_t,
5914 ) -> ::std::os::raw::c_int;
5915}
5916pub const IGRAPH_UNDIRECTED: _bindgen_ty_1 = 0;
5917pub const IGRAPH_DIRECTED: _bindgen_ty_1 = 1;
5918pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
5919pub const IGRAPH_NO_MULTIPLE: _bindgen_ty_2 = 0;
5920pub const IGRAPH_MULTIPLE: _bindgen_ty_2 = 1;
5921pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
5922pub const IGRAPH_EDGE_UNLABELED: _bindgen_ty_3 = 0;
5923pub const IGRAPH_EDGE_LABELED: _bindgen_ty_3 = 1;
5924pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
5925pub const igraph_loops_t_IGRAPH_NO_LOOPS: igraph_loops_t = 0;
5926pub const igraph_loops_t_IGRAPH_LOOPS_TWICE: igraph_loops_t = 1;
5927pub const igraph_loops_t_IGRAPH_LOOPS_ONCE: igraph_loops_t = 2;
5928pub const igraph_loops_t_IGRAPH_LOOPS: igraph_loops_t = 1;
5929#[doc = " \\typedef igraph_loops_t\n \\brief How to interpret self-loops in undirected graphs?\n\n Controls the interpretation of self-loops in undirected graphs, typically\n in the context of adjacency matrices or degrees.\n\n </para><para>These constants are also used to improve readability in\n boolean contexts, with \\c IGRAPH_NO_LOOPS, equivalent to \\c false,\n signifying that loops should be ignored and \\c IGRAPH_LOOPS, equivalent\n to \\c true, that loops should be considered.\n\n \\enumval IGRAPH_NO_LOOPS Self-loops are ignored.\n \\enumval IGRAPH_LOOPS_TWICE Self-loops are considered, and counted twice\n in undirected graphs. For example, a self-loop contributes two to the\n degree of a vertex and to diagonal entries of adjacency matrices. This\n is the standard interpretation in graph theory, thus \\c IGRAPH_LOOPS\n serves as an alias for this option.\n \\enumval IGRAPH_LOOPS_ONCE Self-loops are considered, and counted only\n once in undirected graphs."]
5930pub type igraph_loops_t = ::std::os::raw::c_uint;
5931pub const igraph_order_t_IGRAPH_ASCENDING: igraph_order_t = 0;
5932pub const igraph_order_t_IGRAPH_DESCENDING: igraph_order_t = 1;
5933pub type igraph_order_t = ::std::os::raw::c_uint;
5934pub const igraph_neimode_t_IGRAPH_OUT: igraph_neimode_t = 1;
5935pub const igraph_neimode_t_IGRAPH_IN: igraph_neimode_t = 2;
5936pub const igraph_neimode_t_IGRAPH_ALL: igraph_neimode_t = 3;
5937#[doc = " \\typedef igraph_neimode_t\n \\brief How to interpret edge directions in directed graphs?\n\n These \"neighbor mode\" constants are typically used to specify the treatment\n of edge directions in directed graphs, or which vertices to consider as\n adjacent to (i.e. neighbor of) a vertex. It is typically ignored in undirected\n graphs.\n\n \\enumval IGRAPH_OUT Follow edge directions in directed graphs, or consider\n out-neighbors of vertices.\n \\enumval IGRAPH_IN Follow edges in the reverse direction in directed graphs,\n or consider in-neighbors of vertices.\n \\enumval IGRAPH_ALL Ignore edge directions in directed graphs, or consider\n all neighbours (both out and in-neighbors) of vertices."]
5938pub type igraph_neimode_t = ::std::os::raw::c_uint;
5939pub const igraph_connectedness_t_IGRAPH_WEAK: igraph_connectedness_t = 1;
5940pub const igraph_connectedness_t_IGRAPH_STRONG: igraph_connectedness_t = 2;
5941pub type igraph_connectedness_t = ::std::os::raw::c_uint;
5942pub const igraph_reciprocity_t_IGRAPH_RECIPROCITY_DEFAULT: igraph_reciprocity_t = 0;
5943pub const igraph_reciprocity_t_IGRAPH_RECIPROCITY_RATIO: igraph_reciprocity_t = 1;
5944pub type igraph_reciprocity_t = ::std::os::raw::c_uint;
5945pub const igraph_adjacency_t_IGRAPH_ADJ_DIRECTED: igraph_adjacency_t = 0;
5946pub const igraph_adjacency_t_IGRAPH_ADJ_UNDIRECTED: igraph_adjacency_t = 1;
5947pub const igraph_adjacency_t_IGRAPH_ADJ_UPPER: igraph_adjacency_t = 2;
5948pub const igraph_adjacency_t_IGRAPH_ADJ_LOWER: igraph_adjacency_t = 3;
5949pub const igraph_adjacency_t_IGRAPH_ADJ_MIN: igraph_adjacency_t = 4;
5950pub const igraph_adjacency_t_IGRAPH_ADJ_PLUS: igraph_adjacency_t = 5;
5951pub const igraph_adjacency_t_IGRAPH_ADJ_MAX: igraph_adjacency_t = 6;
5952pub type igraph_adjacency_t = ::std::os::raw::c_uint;
5953pub const igraph_star_mode_t_IGRAPH_STAR_OUT: igraph_star_mode_t = 0;
5954pub const igraph_star_mode_t_IGRAPH_STAR_IN: igraph_star_mode_t = 1;
5955pub const igraph_star_mode_t_IGRAPH_STAR_UNDIRECTED: igraph_star_mode_t = 2;
5956pub const igraph_star_mode_t_IGRAPH_STAR_MUTUAL: igraph_star_mode_t = 3;
5957pub type igraph_star_mode_t = ::std::os::raw::c_uint;
5958pub const igraph_wheel_mode_t_IGRAPH_WHEEL_OUT: igraph_wheel_mode_t = 0;
5959pub const igraph_wheel_mode_t_IGRAPH_WHEEL_IN: igraph_wheel_mode_t = 1;
5960pub const igraph_wheel_mode_t_IGRAPH_WHEEL_UNDIRECTED: igraph_wheel_mode_t = 2;
5961pub const igraph_wheel_mode_t_IGRAPH_WHEEL_MUTUAL: igraph_wheel_mode_t = 3;
5962pub type igraph_wheel_mode_t = ::std::os::raw::c_uint;
5963pub const igraph_tree_mode_t_IGRAPH_TREE_OUT: igraph_tree_mode_t = 0;
5964pub const igraph_tree_mode_t_IGRAPH_TREE_IN: igraph_tree_mode_t = 1;
5965pub const igraph_tree_mode_t_IGRAPH_TREE_UNDIRECTED: igraph_tree_mode_t = 2;
5966pub type igraph_tree_mode_t = ::std::os::raw::c_uint;
5967pub const igraph_get_adjacency_t_IGRAPH_GET_ADJACENCY_UPPER: igraph_get_adjacency_t = 0;
5968pub const igraph_get_adjacency_t_IGRAPH_GET_ADJACENCY_LOWER: igraph_get_adjacency_t = 1;
5969pub const igraph_get_adjacency_t_IGRAPH_GET_ADJACENCY_BOTH: igraph_get_adjacency_t = 2;
5970pub type igraph_get_adjacency_t = ::std::os::raw::c_uint;
5971pub const igraph_degseq_t_IGRAPH_DEGSEQ_CONFIGURATION: igraph_degseq_t = 0;
5972pub const igraph_degseq_t_IGRAPH_DEGSEQ_VL: igraph_degseq_t = 1;
5973pub const igraph_degseq_t_IGRAPH_DEGSEQ_FAST_HEUR_SIMPLE: igraph_degseq_t = 2;
5974pub const igraph_degseq_t_IGRAPH_DEGSEQ_CONFIGURATION_SIMPLE: igraph_degseq_t = 3;
5975pub const igraph_degseq_t_IGRAPH_DEGSEQ_EDGE_SWITCHING_SIMPLE: igraph_degseq_t = 4;
5976pub type igraph_degseq_t = ::std::os::raw::c_uint;
5977pub const igraph_realize_degseq_t_IGRAPH_REALIZE_DEGSEQ_SMALLEST: igraph_realize_degseq_t = 0;
5978pub const igraph_realize_degseq_t_IGRAPH_REALIZE_DEGSEQ_LARGEST: igraph_realize_degseq_t = 1;
5979pub const igraph_realize_degseq_t_IGRAPH_REALIZE_DEGSEQ_INDEX: igraph_realize_degseq_t = 2;
5980pub type igraph_realize_degseq_t = ::std::os::raw::c_uint;
5981pub const igraph_random_tree_t_IGRAPH_RANDOM_TREE_PRUFER: igraph_random_tree_t = 0;
5982pub const igraph_random_tree_t_IGRAPH_RANDOM_TREE_LERW: igraph_random_tree_t = 1;
5983pub type igraph_random_tree_t = ::std::os::raw::c_uint;
5984pub const igraph_edgeorder_type_t_IGRAPH_EDGEORDER_ID: igraph_edgeorder_type_t = 0;
5985pub const igraph_edgeorder_type_t_IGRAPH_EDGEORDER_FROM: igraph_edgeorder_type_t = 1;
5986pub const igraph_edgeorder_type_t_IGRAPH_EDGEORDER_TO: igraph_edgeorder_type_t = 2;
5987pub type igraph_edgeorder_type_t = ::std::os::raw::c_uint;
5988pub const igraph_to_directed_t_IGRAPH_TO_DIRECTED_ARBITRARY: igraph_to_directed_t = 0;
5989pub const igraph_to_directed_t_IGRAPH_TO_DIRECTED_MUTUAL: igraph_to_directed_t = 1;
5990pub const igraph_to_directed_t_IGRAPH_TO_DIRECTED_RANDOM: igraph_to_directed_t = 2;
5991pub const igraph_to_directed_t_IGRAPH_TO_DIRECTED_ACYCLIC: igraph_to_directed_t = 3;
5992pub type igraph_to_directed_t = ::std::os::raw::c_uint;
5993pub const igraph_to_undirected_t_IGRAPH_TO_UNDIRECTED_EACH: igraph_to_undirected_t = 0;
5994pub const igraph_to_undirected_t_IGRAPH_TO_UNDIRECTED_COLLAPSE: igraph_to_undirected_t = 1;
5995pub const igraph_to_undirected_t_IGRAPH_TO_UNDIRECTED_MUTUAL: igraph_to_undirected_t = 2;
5996pub type igraph_to_undirected_t = ::std::os::raw::c_uint;
5997pub const igraph_vconn_nei_t_IGRAPH_VCONN_NEI_ERROR: igraph_vconn_nei_t = 0;
5998pub const igraph_vconn_nei_t_IGRAPH_VCONN_NEI_NUMBER_OF_NODES: igraph_vconn_nei_t = 1;
5999pub const igraph_vconn_nei_t_IGRAPH_VCONN_NEI_IGNORE: igraph_vconn_nei_t = 2;
6000pub const igraph_vconn_nei_t_IGRAPH_VCONN_NEI_NEGATIVE: igraph_vconn_nei_t = 3;
6001pub type igraph_vconn_nei_t = ::std::os::raw::c_uint;
6002pub const igraph_spincomm_update_t_IGRAPH_SPINCOMM_UPDATE_SIMPLE: igraph_spincomm_update_t = 0;
6003pub const igraph_spincomm_update_t_IGRAPH_SPINCOMM_UPDATE_CONFIG: igraph_spincomm_update_t = 1;
6004pub type igraph_spincomm_update_t = ::std::os::raw::c_uint;
6005pub const igraph_transitivity_mode_t_IGRAPH_TRANSITIVITY_NAN: igraph_transitivity_mode_t = 0;
6006pub const igraph_transitivity_mode_t_IGRAPH_TRANSITIVITY_ZERO: igraph_transitivity_mode_t = 1;
6007pub type igraph_transitivity_mode_t = ::std::os::raw::c_uint;
6008pub const igraph_spinglass_implementation_t_IGRAPH_SPINCOMM_IMP_ORIG:
6009 igraph_spinglass_implementation_t = 0;
6010pub const igraph_spinglass_implementation_t_IGRAPH_SPINCOMM_IMP_NEG:
6011 igraph_spinglass_implementation_t = 1;
6012pub type igraph_spinglass_implementation_t = ::std::os::raw::c_uint;
6013pub const igraph_community_comparison_t_IGRAPH_COMMCMP_VI: igraph_community_comparison_t = 0;
6014pub const igraph_community_comparison_t_IGRAPH_COMMCMP_NMI: igraph_community_comparison_t = 1;
6015pub const igraph_community_comparison_t_IGRAPH_COMMCMP_SPLIT_JOIN: igraph_community_comparison_t =
6016 2;
6017pub const igraph_community_comparison_t_IGRAPH_COMMCMP_RAND: igraph_community_comparison_t = 3;
6018pub const igraph_community_comparison_t_IGRAPH_COMMCMP_ADJUSTED_RAND:
6019 igraph_community_comparison_t = 4;
6020pub type igraph_community_comparison_t = ::std::os::raw::c_uint;
6021pub const igraph_add_weights_t_IGRAPH_ADD_WEIGHTS_NO: igraph_add_weights_t = 0;
6022pub const igraph_add_weights_t_IGRAPH_ADD_WEIGHTS_YES: igraph_add_weights_t = 1;
6023pub const igraph_add_weights_t_IGRAPH_ADD_WEIGHTS_IF_PRESENT: igraph_add_weights_t = 2;
6024pub type igraph_add_weights_t = ::std::os::raw::c_uint;
6025pub const igraph_barabasi_algorithm_t_IGRAPH_BARABASI_BAG: igraph_barabasi_algorithm_t = 0;
6026pub const igraph_barabasi_algorithm_t_IGRAPH_BARABASI_PSUMTREE: igraph_barabasi_algorithm_t = 1;
6027pub const igraph_barabasi_algorithm_t_IGRAPH_BARABASI_PSUMTREE_MULTIPLE:
6028 igraph_barabasi_algorithm_t = 2;
6029pub type igraph_barabasi_algorithm_t = ::std::os::raw::c_uint;
6030pub const igraph_fas_algorithm_t_IGRAPH_FAS_EXACT_IP: igraph_fas_algorithm_t = 0;
6031pub const igraph_fas_algorithm_t_IGRAPH_FAS_APPROX_EADES: igraph_fas_algorithm_t = 1;
6032pub const igraph_fas_algorithm_t_IGRAPH_FAS_EXACT_IP_CG: igraph_fas_algorithm_t = 2;
6033pub const igraph_fas_algorithm_t_IGRAPH_FAS_EXACT_IP_TI: igraph_fas_algorithm_t = 3;
6034pub type igraph_fas_algorithm_t = ::std::os::raw::c_uint;
6035pub const igraph_fvs_algorithm_t_IGRAPH_FVS_EXACT_IP: igraph_fvs_algorithm_t = 0;
6036pub type igraph_fvs_algorithm_t = ::std::os::raw::c_uint;
6037pub const igraph_subgraph_implementation_t_IGRAPH_SUBGRAPH_AUTO: igraph_subgraph_implementation_t =
6038 0;
6039pub const igraph_subgraph_implementation_t_IGRAPH_SUBGRAPH_COPY_AND_DELETE:
6040 igraph_subgraph_implementation_t = 1;
6041pub const igraph_subgraph_implementation_t_IGRAPH_SUBGRAPH_CREATE_FROM_SCRATCH:
6042 igraph_subgraph_implementation_t = 2;
6043pub type igraph_subgraph_implementation_t = ::std::os::raw::c_uint;
6044pub const igraph_layout_grid_t_IGRAPH_LAYOUT_GRID: igraph_layout_grid_t = 0;
6045pub const igraph_layout_grid_t_IGRAPH_LAYOUT_NOGRID: igraph_layout_grid_t = 1;
6046pub const igraph_layout_grid_t_IGRAPH_LAYOUT_AUTOGRID: igraph_layout_grid_t = 2;
6047pub type igraph_layout_grid_t = ::std::os::raw::c_uint;
6048pub const igraph_random_walk_stuck_t_IGRAPH_RANDOM_WALK_STUCK_ERROR: igraph_random_walk_stuck_t = 0;
6049pub const igraph_random_walk_stuck_t_IGRAPH_RANDOM_WALK_STUCK_RETURN: igraph_random_walk_stuck_t =
6050 1;
6051pub type igraph_random_walk_stuck_t = ::std::os::raw::c_uint;
6052pub const igraph_voronoi_tiebreaker_t_IGRAPH_VORONOI_FIRST: igraph_voronoi_tiebreaker_t = 0;
6053pub const igraph_voronoi_tiebreaker_t_IGRAPH_VORONOI_LAST: igraph_voronoi_tiebreaker_t = 1;
6054pub const igraph_voronoi_tiebreaker_t_IGRAPH_VORONOI_RANDOM: igraph_voronoi_tiebreaker_t = 2;
6055pub type igraph_voronoi_tiebreaker_t = ::std::os::raw::c_uint;
6056pub const igraph_chung_lu_t_IGRAPH_CHUNG_LU_ORIGINAL: igraph_chung_lu_t = 0;
6057pub const igraph_chung_lu_t_IGRAPH_CHUNG_LU_MAXENT: igraph_chung_lu_t = 1;
6058pub const igraph_chung_lu_t_IGRAPH_CHUNG_LU_NR: igraph_chung_lu_t = 2;
6059pub type igraph_chung_lu_t = ::std::os::raw::c_uint;
6060pub const igraph_matrix_storage_t_IGRAPH_ROW_MAJOR: igraph_matrix_storage_t = 0;
6061pub const igraph_matrix_storage_t_IGRAPH_COLUMN_MAJOR: igraph_matrix_storage_t = 1;
6062pub type igraph_matrix_storage_t = ::std::os::raw::c_uint;
6063pub const igraph_mst_algorithm_t_IGRAPH_MST_AUTOMATIC: igraph_mst_algorithm_t = 0;
6064pub const igraph_mst_algorithm_t_IGRAPH_MST_UNWEIGHTED: igraph_mst_algorithm_t = 1;
6065pub const igraph_mst_algorithm_t_IGRAPH_MST_PRIM: igraph_mst_algorithm_t = 2;
6066pub const igraph_mst_algorithm_t_IGRAPH_MST_KRUSKAL: igraph_mst_algorithm_t = 3;
6067pub type igraph_mst_algorithm_t = ::std::os::raw::c_uint;
6068pub const igraph_product_t_IGRAPH_PRODUCT_CARTESIAN: igraph_product_t = 0;
6069pub const igraph_product_t_IGRAPH_PRODUCT_LEXICOGRAPHIC: igraph_product_t = 1;
6070pub const igraph_product_t_IGRAPH_PRODUCT_STRONG: igraph_product_t = 2;
6071pub const igraph_product_t_IGRAPH_PRODUCT_TENSOR: igraph_product_t = 3;
6072pub const igraph_product_t_IGRAPH_PRODUCT_MODULAR: igraph_product_t = 4;
6073pub type igraph_product_t = ::std::os::raw::c_uint;
6074pub const igraph_lpa_variant_t_IGRAPH_LPA_DOMINANCE: igraph_lpa_variant_t = 0;
6075pub const igraph_lpa_variant_t_IGRAPH_LPA_RETENTION: igraph_lpa_variant_t = 1;
6076pub const igraph_lpa_variant_t_IGRAPH_LPA_FAST: igraph_lpa_variant_t = 2;
6077#[doc = " \\typedef igraph_lpa_variant_t\n \\brief Label propagation algorithm variants of implementation\n\n Variants to run the label propagation algorithm.\n \\enumval IGRAPH_LPA_DOMINANCE Check for dominance of all nodes after each iteration\n \\enumval IGRAPH_LPA_RETENTION Keep current label if among dominant labels, only check if labels changed\n \\enumval IGRAPH_LPA_FAST Sample from dominant labels, only check neighbors"]
6078pub type igraph_lpa_variant_t = ::std::os::raw::c_uint;
6079#[doc = " Vector, dealing with arrays efficiently.\n \\ingroup types"]
6080#[repr(C)]
6081#[derive(Debug, Copy, Clone)]
6082pub struct igraph_vector_t {
6083 pub stor_begin: *mut igraph_real_t,
6084 pub stor_end: *mut igraph_real_t,
6085 pub end: *mut igraph_real_t,
6086}
6087#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6088const _: () = {
6089 ["Size of igraph_vector_t"][::std::mem::size_of::<igraph_vector_t>() - 24usize];
6090 ["Alignment of igraph_vector_t"][::std::mem::align_of::<igraph_vector_t>() - 8usize];
6091 ["Offset of field: igraph_vector_t::stor_begin"]
6092 [::std::mem::offset_of!(igraph_vector_t, stor_begin) - 0usize];
6093 ["Offset of field: igraph_vector_t::stor_end"]
6094 [::std::mem::offset_of!(igraph_vector_t, stor_end) - 8usize];
6095 ["Offset of field: igraph_vector_t::end"]
6096 [::std::mem::offset_of!(igraph_vector_t, end) - 16usize];
6097};
6098#[doc = " Vector, dealing with arrays efficiently.\n \\ingroup types"]
6099#[repr(C)]
6100#[derive(Debug, Copy, Clone)]
6101pub struct igraph_vector_char_t {
6102 pub stor_begin: *mut ::std::os::raw::c_char,
6103 pub stor_end: *mut ::std::os::raw::c_char,
6104 pub end: *mut ::std::os::raw::c_char,
6105}
6106#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6107const _: () = {
6108 ["Size of igraph_vector_char_t"][::std::mem::size_of::<igraph_vector_char_t>() - 24usize];
6109 ["Alignment of igraph_vector_char_t"][::std::mem::align_of::<igraph_vector_char_t>() - 8usize];
6110 ["Offset of field: igraph_vector_char_t::stor_begin"]
6111 [::std::mem::offset_of!(igraph_vector_char_t, stor_begin) - 0usize];
6112 ["Offset of field: igraph_vector_char_t::stor_end"]
6113 [::std::mem::offset_of!(igraph_vector_char_t, stor_end) - 8usize];
6114 ["Offset of field: igraph_vector_char_t::end"]
6115 [::std::mem::offset_of!(igraph_vector_char_t, end) - 16usize];
6116};
6117#[doc = " Vector, dealing with arrays efficiently.\n \\ingroup types"]
6118#[repr(C)]
6119#[derive(Debug, Copy, Clone)]
6120pub struct igraph_vector_bool_t {
6121 pub stor_begin: *mut igraph_bool_t,
6122 pub stor_end: *mut igraph_bool_t,
6123 pub end: *mut igraph_bool_t,
6124}
6125#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6126const _: () = {
6127 ["Size of igraph_vector_bool_t"][::std::mem::size_of::<igraph_vector_bool_t>() - 24usize];
6128 ["Alignment of igraph_vector_bool_t"][::std::mem::align_of::<igraph_vector_bool_t>() - 8usize];
6129 ["Offset of field: igraph_vector_bool_t::stor_begin"]
6130 [::std::mem::offset_of!(igraph_vector_bool_t, stor_begin) - 0usize];
6131 ["Offset of field: igraph_vector_bool_t::stor_end"]
6132 [::std::mem::offset_of!(igraph_vector_bool_t, stor_end) - 8usize];
6133 ["Offset of field: igraph_vector_bool_t::end"]
6134 [::std::mem::offset_of!(igraph_vector_bool_t, end) - 16usize];
6135};
6136#[doc = " Vector, dealing with arrays efficiently.\n \\ingroup types"]
6137#[repr(C)]
6138#[derive(Debug, Clone)]
6139pub struct igraph_vector_int_t {
6140 pub stor_begin: *mut igraph_int_t,
6141 pub stor_end: *mut igraph_int_t,
6142 pub end: *mut igraph_int_t,
6143}
6144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6145const _: () = {
6146 ["Size of igraph_vector_int_t"][::std::mem::size_of::<igraph_vector_int_t>() - 24usize];
6147 ["Alignment of igraph_vector_int_t"][::std::mem::align_of::<igraph_vector_int_t>() - 8usize];
6148 ["Offset of field: igraph_vector_int_t::stor_begin"]
6149 [::std::mem::offset_of!(igraph_vector_int_t, stor_begin) - 0usize];
6150 ["Offset of field: igraph_vector_int_t::stor_end"]
6151 [::std::mem::offset_of!(igraph_vector_int_t, stor_end) - 8usize];
6152 ["Offset of field: igraph_vector_int_t::end"]
6153 [::std::mem::offset_of!(igraph_vector_int_t, end) - 16usize];
6154};
6155#[doc = " Vector, dealing with arrays efficiently.\n \\ingroup types"]
6156#[repr(C)]
6157#[derive(Debug, Copy, Clone)]
6158pub struct igraph_vector_complex_t {
6159 pub stor_begin: *mut igraph_complex_t,
6160 pub stor_end: *mut igraph_complex_t,
6161 pub end: *mut igraph_complex_t,
6162}
6163#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6164const _: () = {
6165 ["Size of igraph_vector_complex_t"][::std::mem::size_of::<igraph_vector_complex_t>() - 24usize];
6166 ["Alignment of igraph_vector_complex_t"]
6167 [::std::mem::align_of::<igraph_vector_complex_t>() - 8usize];
6168 ["Offset of field: igraph_vector_complex_t::stor_begin"]
6169 [::std::mem::offset_of!(igraph_vector_complex_t, stor_begin) - 0usize];
6170 ["Offset of field: igraph_vector_complex_t::stor_end"]
6171 [::std::mem::offset_of!(igraph_vector_complex_t, stor_end) - 8usize];
6172 ["Offset of field: igraph_vector_complex_t::end"]
6173 [::std::mem::offset_of!(igraph_vector_complex_t, end) - 16usize];
6174};
6175unsafe extern "C" {
6176 pub fn igraph_vector_init(v: *mut igraph_vector_t, size: igraph_int_t) -> igraph_error_t;
6177}
6178unsafe extern "C" {
6179 pub fn igraph_vector_init_array(
6180 v: *mut igraph_vector_t,
6181 data: *const igraph_real_t,
6182 length: igraph_int_t,
6183 ) -> igraph_error_t;
6184}
6185unsafe extern "C" {
6186 pub fn igraph_vector_init_copy(
6187 to: *mut igraph_vector_t,
6188 from: *const igraph_vector_t,
6189 ) -> igraph_error_t;
6190}
6191unsafe extern "C" {
6192 pub fn igraph_vector_init_range(
6193 v: *mut igraph_vector_t,
6194 start: igraph_real_t,
6195 end: igraph_real_t,
6196 ) -> igraph_error_t;
6197}
6198unsafe extern "C" {
6199 pub fn igraph_vector_destroy(v: *mut igraph_vector_t);
6200}
6201unsafe extern "C" {
6202 pub fn igraph_vector_capacity(v: *const igraph_vector_t) -> igraph_int_t;
6203}
6204unsafe extern "C" {
6205 pub fn igraph_vector_get(v: *const igraph_vector_t, pos: igraph_int_t) -> igraph_real_t;
6206}
6207unsafe extern "C" {
6208 pub fn igraph_vector_get_ptr(
6209 v: *const igraph_vector_t,
6210 pos: igraph_int_t,
6211 ) -> *mut igraph_real_t;
6212}
6213unsafe extern "C" {
6214 pub fn igraph_vector_set(v: *mut igraph_vector_t, pos: igraph_int_t, value: igraph_real_t);
6215}
6216unsafe extern "C" {
6217 pub fn igraph_vector_tail(v: *const igraph_vector_t) -> igraph_real_t;
6218}
6219unsafe extern "C" {
6220 pub fn igraph_vector_null(v: *mut igraph_vector_t);
6221}
6222unsafe extern "C" {
6223 pub fn igraph_vector_fill(v: *mut igraph_vector_t, e: igraph_real_t);
6224}
6225unsafe extern "C" {
6226 pub fn igraph_vector_range(
6227 v: *mut igraph_vector_t,
6228 start: igraph_real_t,
6229 end: igraph_real_t,
6230 ) -> igraph_error_t;
6231}
6232unsafe extern "C" {
6233 pub fn igraph_vector_view(data: *const igraph_real_t, length: igraph_int_t) -> igraph_vector_t;
6234}
6235unsafe extern "C" {
6236 pub fn igraph_vector_copy_to(v: *const igraph_vector_t, to: *mut igraph_real_t);
6237}
6238unsafe extern "C" {
6239 pub fn igraph_vector_update(
6240 to: *mut igraph_vector_t,
6241 from: *const igraph_vector_t,
6242 ) -> igraph_error_t;
6243}
6244unsafe extern "C" {
6245 pub fn igraph_vector_append(
6246 to: *mut igraph_vector_t,
6247 from: *const igraph_vector_t,
6248 ) -> igraph_error_t;
6249}
6250unsafe extern "C" {
6251 pub fn igraph_vector_swap(v1: *mut igraph_vector_t, v2: *mut igraph_vector_t);
6252}
6253unsafe extern "C" {
6254 pub fn igraph_vector_swap_elements(v: *mut igraph_vector_t, i: igraph_int_t, j: igraph_int_t);
6255}
6256unsafe extern "C" {
6257 pub fn igraph_vector_reverse(v: *mut igraph_vector_t);
6258}
6259unsafe extern "C" {
6260 pub fn igraph_vector_reverse_section(
6261 v: *mut igraph_vector_t,
6262 from: igraph_int_t,
6263 to: igraph_int_t,
6264 );
6265}
6266unsafe extern "C" {
6267 pub fn igraph_vector_rotate_left(v: *mut igraph_vector_t, n: igraph_int_t);
6268}
6269unsafe extern "C" {
6270 pub fn igraph_vector_permute(
6271 v: *mut igraph_vector_t,
6272 ind: *const igraph_vector_int_t,
6273 ) -> igraph_error_t;
6274}
6275unsafe extern "C" {
6276 pub fn igraph_vector_shuffle(v: *mut igraph_vector_t);
6277}
6278unsafe extern "C" {
6279 pub fn igraph_vector_add_constant(v: *mut igraph_vector_t, plus: igraph_real_t);
6280}
6281unsafe extern "C" {
6282 pub fn igraph_vector_scale(v: *mut igraph_vector_t, by: igraph_real_t);
6283}
6284unsafe extern "C" {
6285 pub fn igraph_vector_add(
6286 v1: *mut igraph_vector_t,
6287 v2: *const igraph_vector_t,
6288 ) -> igraph_error_t;
6289}
6290unsafe extern "C" {
6291 pub fn igraph_vector_sub(
6292 v1: *mut igraph_vector_t,
6293 v2: *const igraph_vector_t,
6294 ) -> igraph_error_t;
6295}
6296unsafe extern "C" {
6297 pub fn igraph_vector_mul(
6298 v1: *mut igraph_vector_t,
6299 v2: *const igraph_vector_t,
6300 ) -> igraph_error_t;
6301}
6302unsafe extern "C" {
6303 pub fn igraph_vector_div(
6304 v1: *mut igraph_vector_t,
6305 v2: *const igraph_vector_t,
6306 ) -> igraph_error_t;
6307}
6308unsafe extern "C" {
6309 pub fn igraph_vector_cumsum(
6310 to: *mut igraph_vector_t,
6311 from: *const igraph_vector_t,
6312 ) -> igraph_error_t;
6313}
6314unsafe extern "C" {
6315 pub fn igraph_vector_abs(v: *mut igraph_vector_t) -> igraph_error_t;
6316}
6317unsafe extern "C" {
6318 pub fn igraph_vector_all_e(
6319 lhs: *const igraph_vector_t,
6320 rhs: *const igraph_vector_t,
6321 ) -> igraph_bool_t;
6322}
6323unsafe extern "C" {
6324 pub fn igraph_vector_all_l(
6325 lhs: *const igraph_vector_t,
6326 rhs: *const igraph_vector_t,
6327 ) -> igraph_bool_t;
6328}
6329unsafe extern "C" {
6330 pub fn igraph_vector_all_g(
6331 lhs: *const igraph_vector_t,
6332 rhs: *const igraph_vector_t,
6333 ) -> igraph_bool_t;
6334}
6335unsafe extern "C" {
6336 pub fn igraph_vector_all_le(
6337 lhs: *const igraph_vector_t,
6338 rhs: *const igraph_vector_t,
6339 ) -> igraph_bool_t;
6340}
6341unsafe extern "C" {
6342 pub fn igraph_vector_all_ge(
6343 lhs: *const igraph_vector_t,
6344 rhs: *const igraph_vector_t,
6345 ) -> igraph_bool_t;
6346}
6347unsafe extern "C" {
6348 pub fn igraph_vector_lex_cmp(
6349 lhs: *const igraph_vector_t,
6350 rhs: *const igraph_vector_t,
6351 ) -> ::std::os::raw::c_int;
6352}
6353unsafe extern "C" {
6354 pub fn igraph_vector_colex_cmp(
6355 lhs: *const igraph_vector_t,
6356 rhs: *const igraph_vector_t,
6357 ) -> ::std::os::raw::c_int;
6358}
6359unsafe extern "C" {
6360 pub fn igraph_vector_lex_cmp_untyped(
6361 lhs: *const ::std::os::raw::c_void,
6362 rhs: *const ::std::os::raw::c_void,
6363 ) -> ::std::os::raw::c_int;
6364}
6365unsafe extern "C" {
6366 pub fn igraph_vector_colex_cmp_untyped(
6367 lhs: *const ::std::os::raw::c_void,
6368 rhs: *const ::std::os::raw::c_void,
6369 ) -> ::std::os::raw::c_int;
6370}
6371unsafe extern "C" {
6372 pub fn igraph_vector_min(v: *const igraph_vector_t) -> igraph_real_t;
6373}
6374unsafe extern "C" {
6375 pub fn igraph_vector_max(v: *const igraph_vector_t) -> igraph_real_t;
6376}
6377unsafe extern "C" {
6378 pub fn igraph_vector_which_min(v: *const igraph_vector_t) -> igraph_int_t;
6379}
6380unsafe extern "C" {
6381 pub fn igraph_vector_which_max(v: *const igraph_vector_t) -> igraph_int_t;
6382}
6383unsafe extern "C" {
6384 pub fn igraph_vector_minmax(
6385 v: *const igraph_vector_t,
6386 min: *mut igraph_real_t,
6387 max: *mut igraph_real_t,
6388 );
6389}
6390unsafe extern "C" {
6391 pub fn igraph_vector_which_minmax(
6392 v: *const igraph_vector_t,
6393 which_min: *mut igraph_int_t,
6394 which_max: *mut igraph_int_t,
6395 );
6396}
6397unsafe extern "C" {
6398 pub fn igraph_vector_empty(v: *const igraph_vector_t) -> igraph_bool_t;
6399}
6400unsafe extern "C" {
6401 pub fn igraph_vector_size(v: *const igraph_vector_t) -> igraph_int_t;
6402}
6403unsafe extern "C" {
6404 pub fn igraph_vector_isnull(v: *const igraph_vector_t) -> igraph_bool_t;
6405}
6406unsafe extern "C" {
6407 pub fn igraph_vector_sum(v: *const igraph_vector_t) -> igraph_real_t;
6408}
6409unsafe extern "C" {
6410 pub fn igraph_vector_sumsq(v: *const igraph_vector_t) -> igraph_real_t;
6411}
6412unsafe extern "C" {
6413 pub fn igraph_vector_prod(v: *const igraph_vector_t) -> igraph_real_t;
6414}
6415unsafe extern "C" {
6416 pub fn igraph_vector_isininterval(
6417 v: *const igraph_vector_t,
6418 low: igraph_real_t,
6419 high: igraph_real_t,
6420 ) -> igraph_bool_t;
6421}
6422unsafe extern "C" {
6423 pub fn igraph_vector_any_smaller(
6424 v: *const igraph_vector_t,
6425 limit: igraph_real_t,
6426 ) -> igraph_bool_t;
6427}
6428unsafe extern "C" {
6429 pub fn igraph_vector_is_equal(
6430 lhs: *const igraph_vector_t,
6431 rhs: *const igraph_vector_t,
6432 ) -> igraph_bool_t;
6433}
6434unsafe extern "C" {
6435 pub fn igraph_vector_maxdifference(
6436 m1: *const igraph_vector_t,
6437 m2: *const igraph_vector_t,
6438 ) -> igraph_real_t;
6439}
6440unsafe extern "C" {
6441 pub fn igraph_vector_contains(v: *const igraph_vector_t, e: igraph_real_t) -> igraph_bool_t;
6442}
6443unsafe extern "C" {
6444 pub fn igraph_vector_search(
6445 v: *const igraph_vector_t,
6446 from: igraph_int_t,
6447 what: igraph_real_t,
6448 pos: *mut igraph_int_t,
6449 ) -> igraph_bool_t;
6450}
6451unsafe extern "C" {
6452 pub fn igraph_vector_binsearch_slice(
6453 v: *const igraph_vector_t,
6454 what: igraph_real_t,
6455 pos: *mut igraph_int_t,
6456 start: igraph_int_t,
6457 end: igraph_int_t,
6458 ) -> igraph_bool_t;
6459}
6460unsafe extern "C" {
6461 pub fn igraph_vector_binsearch(
6462 v: *const igraph_vector_t,
6463 what: igraph_real_t,
6464 pos: *mut igraph_int_t,
6465 ) -> igraph_bool_t;
6466}
6467unsafe extern "C" {
6468 pub fn igraph_vector_contains_sorted(
6469 v: *const igraph_vector_t,
6470 what: igraph_real_t,
6471 ) -> igraph_bool_t;
6472}
6473unsafe extern "C" {
6474 pub fn igraph_vector_clear(v: *mut igraph_vector_t);
6475}
6476unsafe extern "C" {
6477 pub fn igraph_vector_resize(v: *mut igraph_vector_t, new_size: igraph_int_t) -> igraph_error_t;
6478}
6479unsafe extern "C" {
6480 pub fn igraph_vector_resize_min(v: *mut igraph_vector_t);
6481}
6482unsafe extern "C" {
6483 pub fn igraph_vector_reserve(v: *mut igraph_vector_t, capacity: igraph_int_t)
6484 -> igraph_error_t;
6485}
6486unsafe extern "C" {
6487 pub fn igraph_vector_push_back(v: *mut igraph_vector_t, e: igraph_real_t) -> igraph_error_t;
6488}
6489unsafe extern "C" {
6490 pub fn igraph_vector_pop_back(v: *mut igraph_vector_t) -> igraph_real_t;
6491}
6492unsafe extern "C" {
6493 pub fn igraph_vector_insert(
6494 v: *mut igraph_vector_t,
6495 pos: igraph_int_t,
6496 value: igraph_real_t,
6497 ) -> igraph_error_t;
6498}
6499unsafe extern "C" {
6500 pub fn igraph_vector_remove(v: *mut igraph_vector_t, elem: igraph_int_t);
6501}
6502unsafe extern "C" {
6503 pub fn igraph_vector_remove_fast(v: *mut igraph_vector_t, elem: igraph_int_t);
6504}
6505unsafe extern "C" {
6506 pub fn igraph_vector_remove_section(
6507 v: *mut igraph_vector_t,
6508 from: igraph_int_t,
6509 to: igraph_int_t,
6510 );
6511}
6512unsafe extern "C" {
6513 pub fn igraph_vector_sort(v: *mut igraph_vector_t);
6514}
6515unsafe extern "C" {
6516 pub fn igraph_vector_reverse_sort(v: *mut igraph_vector_t);
6517}
6518unsafe extern "C" {
6519 pub fn igraph_vector_sort_ind(
6520 v: *const igraph_vector_t,
6521 inds: *mut igraph_vector_int_t,
6522 order: igraph_order_t,
6523 ) -> igraph_error_t;
6524}
6525unsafe extern "C" {
6526 pub fn igraph_vector_print(v: *const igraph_vector_t) -> igraph_error_t;
6527}
6528unsafe extern "C" {
6529 pub fn igraph_vector_fprint(v: *const igraph_vector_t, file: *mut FILE) -> igraph_error_t;
6530}
6531unsafe extern "C" {
6532 pub fn igraph_vector_printf(
6533 v: *const igraph_vector_t,
6534 format: *const ::std::os::raw::c_char,
6535 ) -> igraph_error_t;
6536}
6537unsafe extern "C" {
6538 pub fn igraph_vector_init_real(
6539 v: *mut igraph_vector_t,
6540 no: ::std::os::raw::c_int,
6541 ...
6542 ) -> igraph_error_t;
6543}
6544unsafe extern "C" {
6545 pub fn igraph_vector_init_int(
6546 v: *mut igraph_vector_t,
6547 no: ::std::os::raw::c_int,
6548 ...
6549 ) -> igraph_error_t;
6550}
6551unsafe extern "C" {
6552 pub fn igraph_vector_init_real_end(
6553 v: *mut igraph_vector_t,
6554 endmark: f64,
6555 ...
6556 ) -> igraph_error_t;
6557}
6558unsafe extern "C" {
6559 pub fn igraph_vector_init_int_end(
6560 v: *mut igraph_vector_t,
6561 endmark: ::std::os::raw::c_int,
6562 ...
6563 ) -> igraph_error_t;
6564}
6565unsafe extern "C" {
6566 pub fn igraph_vector_move_interval(
6567 v: *mut igraph_vector_t,
6568 begin: igraph_int_t,
6569 end: igraph_int_t,
6570 to: igraph_int_t,
6571 ) -> igraph_error_t;
6572}
6573unsafe extern "C" {
6574 pub fn igraph_vector_filter_smaller(
6575 v: *mut igraph_vector_t,
6576 elem: igraph_real_t,
6577 ) -> igraph_error_t;
6578}
6579unsafe extern "C" {
6580 pub fn igraph_vector_get_interval(
6581 v: *const igraph_vector_t,
6582 res: *mut igraph_vector_t,
6583 from: igraph_int_t,
6584 to: igraph_int_t,
6585 ) -> igraph_error_t;
6586}
6587unsafe extern "C" {
6588 pub fn igraph_vector_difference_sorted(
6589 v1: *const igraph_vector_t,
6590 v2: *const igraph_vector_t,
6591 result: *mut igraph_vector_t,
6592 ) -> igraph_error_t;
6593}
6594unsafe extern "C" {
6595 pub fn igraph_vector_difference_and_intersection_sorted(
6596 v1: *const igraph_vector_t,
6597 v2: *const igraph_vector_t,
6598 vdiff12: *mut igraph_vector_t,
6599 vdiff21: *mut igraph_vector_t,
6600 vinter: *mut igraph_vector_t,
6601 ) -> igraph_error_t;
6602}
6603unsafe extern "C" {
6604 pub fn igraph_vector_intersect_sorted(
6605 v1: *const igraph_vector_t,
6606 v2: *const igraph_vector_t,
6607 result: *mut igraph_vector_t,
6608 ) -> igraph_error_t;
6609}
6610unsafe extern "C" {
6611 pub fn igraph_vector_intersection_size_sorted(
6612 v1: *const igraph_vector_t,
6613 v2: *const igraph_vector_t,
6614 ) -> igraph_int_t;
6615}
6616unsafe extern "C" {
6617 pub fn igraph_vector_index(
6618 v: *const igraph_vector_t,
6619 newv: *mut igraph_vector_t,
6620 idx: *const igraph_vector_int_t,
6621 ) -> igraph_error_t;
6622}
6623unsafe extern "C" {
6624 pub fn igraph_vector_index_in_place(
6625 v: *mut igraph_vector_t,
6626 idx: *const igraph_vector_int_t,
6627 ) -> igraph_error_t;
6628}
6629unsafe extern "C" {
6630 pub fn igraph_vector_char_init(
6631 v: *mut igraph_vector_char_t,
6632 size: igraph_int_t,
6633 ) -> igraph_error_t;
6634}
6635unsafe extern "C" {
6636 pub fn igraph_vector_char_init_array(
6637 v: *mut igraph_vector_char_t,
6638 data: *const ::std::os::raw::c_char,
6639 length: igraph_int_t,
6640 ) -> igraph_error_t;
6641}
6642unsafe extern "C" {
6643 pub fn igraph_vector_char_init_copy(
6644 to: *mut igraph_vector_char_t,
6645 from: *const igraph_vector_char_t,
6646 ) -> igraph_error_t;
6647}
6648unsafe extern "C" {
6649 pub fn igraph_vector_char_init_range(
6650 v: *mut igraph_vector_char_t,
6651 start: ::std::os::raw::c_char,
6652 end: ::std::os::raw::c_char,
6653 ) -> igraph_error_t;
6654}
6655unsafe extern "C" {
6656 pub fn igraph_vector_char_destroy(v: *mut igraph_vector_char_t);
6657}
6658unsafe extern "C" {
6659 pub fn igraph_vector_char_capacity(v: *const igraph_vector_char_t) -> igraph_int_t;
6660}
6661unsafe extern "C" {
6662 pub fn igraph_vector_char_get(
6663 v: *const igraph_vector_char_t,
6664 pos: igraph_int_t,
6665 ) -> ::std::os::raw::c_char;
6666}
6667unsafe extern "C" {
6668 pub fn igraph_vector_char_get_ptr(
6669 v: *const igraph_vector_char_t,
6670 pos: igraph_int_t,
6671 ) -> *mut ::std::os::raw::c_char;
6672}
6673unsafe extern "C" {
6674 pub fn igraph_vector_char_set(
6675 v: *mut igraph_vector_char_t,
6676 pos: igraph_int_t,
6677 value: ::std::os::raw::c_char,
6678 );
6679}
6680unsafe extern "C" {
6681 pub fn igraph_vector_char_tail(v: *const igraph_vector_char_t) -> ::std::os::raw::c_char;
6682}
6683unsafe extern "C" {
6684 pub fn igraph_vector_char_null(v: *mut igraph_vector_char_t);
6685}
6686unsafe extern "C" {
6687 pub fn igraph_vector_char_fill(v: *mut igraph_vector_char_t, e: ::std::os::raw::c_char);
6688}
6689unsafe extern "C" {
6690 pub fn igraph_vector_char_range(
6691 v: *mut igraph_vector_char_t,
6692 start: ::std::os::raw::c_char,
6693 end: ::std::os::raw::c_char,
6694 ) -> igraph_error_t;
6695}
6696unsafe extern "C" {
6697 pub fn igraph_vector_char_view(
6698 data: *const ::std::os::raw::c_char,
6699 length: igraph_int_t,
6700 ) -> igraph_vector_char_t;
6701}
6702unsafe extern "C" {
6703 pub fn igraph_vector_char_copy_to(
6704 v: *const igraph_vector_char_t,
6705 to: *mut ::std::os::raw::c_char,
6706 );
6707}
6708unsafe extern "C" {
6709 pub fn igraph_vector_char_update(
6710 to: *mut igraph_vector_char_t,
6711 from: *const igraph_vector_char_t,
6712 ) -> igraph_error_t;
6713}
6714unsafe extern "C" {
6715 pub fn igraph_vector_char_append(
6716 to: *mut igraph_vector_char_t,
6717 from: *const igraph_vector_char_t,
6718 ) -> igraph_error_t;
6719}
6720unsafe extern "C" {
6721 pub fn igraph_vector_char_swap(v1: *mut igraph_vector_char_t, v2: *mut igraph_vector_char_t);
6722}
6723unsafe extern "C" {
6724 pub fn igraph_vector_char_swap_elements(
6725 v: *mut igraph_vector_char_t,
6726 i: igraph_int_t,
6727 j: igraph_int_t,
6728 );
6729}
6730unsafe extern "C" {
6731 pub fn igraph_vector_char_reverse(v: *mut igraph_vector_char_t);
6732}
6733unsafe extern "C" {
6734 pub fn igraph_vector_char_reverse_section(
6735 v: *mut igraph_vector_char_t,
6736 from: igraph_int_t,
6737 to: igraph_int_t,
6738 );
6739}
6740unsafe extern "C" {
6741 pub fn igraph_vector_char_rotate_left(v: *mut igraph_vector_char_t, n: igraph_int_t);
6742}
6743unsafe extern "C" {
6744 pub fn igraph_vector_char_permute(
6745 v: *mut igraph_vector_char_t,
6746 ind: *const igraph_vector_int_t,
6747 ) -> igraph_error_t;
6748}
6749unsafe extern "C" {
6750 pub fn igraph_vector_char_shuffle(v: *mut igraph_vector_char_t);
6751}
6752unsafe extern "C" {
6753 pub fn igraph_vector_char_add_constant(
6754 v: *mut igraph_vector_char_t,
6755 plus: ::std::os::raw::c_char,
6756 );
6757}
6758unsafe extern "C" {
6759 pub fn igraph_vector_char_scale(v: *mut igraph_vector_char_t, by: ::std::os::raw::c_char);
6760}
6761unsafe extern "C" {
6762 pub fn igraph_vector_char_add(
6763 v1: *mut igraph_vector_char_t,
6764 v2: *const igraph_vector_char_t,
6765 ) -> igraph_error_t;
6766}
6767unsafe extern "C" {
6768 pub fn igraph_vector_char_sub(
6769 v1: *mut igraph_vector_char_t,
6770 v2: *const igraph_vector_char_t,
6771 ) -> igraph_error_t;
6772}
6773unsafe extern "C" {
6774 pub fn igraph_vector_char_mul(
6775 v1: *mut igraph_vector_char_t,
6776 v2: *const igraph_vector_char_t,
6777 ) -> igraph_error_t;
6778}
6779unsafe extern "C" {
6780 pub fn igraph_vector_char_div(
6781 v1: *mut igraph_vector_char_t,
6782 v2: *const igraph_vector_char_t,
6783 ) -> igraph_error_t;
6784}
6785unsafe extern "C" {
6786 pub fn igraph_vector_char_cumsum(
6787 to: *mut igraph_vector_char_t,
6788 from: *const igraph_vector_char_t,
6789 ) -> igraph_error_t;
6790}
6791unsafe extern "C" {
6792 pub fn igraph_vector_char_abs(v: *mut igraph_vector_char_t) -> igraph_error_t;
6793}
6794unsafe extern "C" {
6795 pub fn igraph_vector_char_all_e(
6796 lhs: *const igraph_vector_char_t,
6797 rhs: *const igraph_vector_char_t,
6798 ) -> igraph_bool_t;
6799}
6800unsafe extern "C" {
6801 pub fn igraph_vector_char_all_l(
6802 lhs: *const igraph_vector_char_t,
6803 rhs: *const igraph_vector_char_t,
6804 ) -> igraph_bool_t;
6805}
6806unsafe extern "C" {
6807 pub fn igraph_vector_char_all_g(
6808 lhs: *const igraph_vector_char_t,
6809 rhs: *const igraph_vector_char_t,
6810 ) -> igraph_bool_t;
6811}
6812unsafe extern "C" {
6813 pub fn igraph_vector_char_all_le(
6814 lhs: *const igraph_vector_char_t,
6815 rhs: *const igraph_vector_char_t,
6816 ) -> igraph_bool_t;
6817}
6818unsafe extern "C" {
6819 pub fn igraph_vector_char_all_ge(
6820 lhs: *const igraph_vector_char_t,
6821 rhs: *const igraph_vector_char_t,
6822 ) -> igraph_bool_t;
6823}
6824unsafe extern "C" {
6825 pub fn igraph_vector_char_lex_cmp(
6826 lhs: *const igraph_vector_char_t,
6827 rhs: *const igraph_vector_char_t,
6828 ) -> ::std::os::raw::c_int;
6829}
6830unsafe extern "C" {
6831 pub fn igraph_vector_char_colex_cmp(
6832 lhs: *const igraph_vector_char_t,
6833 rhs: *const igraph_vector_char_t,
6834 ) -> ::std::os::raw::c_int;
6835}
6836unsafe extern "C" {
6837 pub fn igraph_vector_char_lex_cmp_untyped(
6838 lhs: *const ::std::os::raw::c_void,
6839 rhs: *const ::std::os::raw::c_void,
6840 ) -> ::std::os::raw::c_int;
6841}
6842unsafe extern "C" {
6843 pub fn igraph_vector_char_colex_cmp_untyped(
6844 lhs: *const ::std::os::raw::c_void,
6845 rhs: *const ::std::os::raw::c_void,
6846 ) -> ::std::os::raw::c_int;
6847}
6848unsafe extern "C" {
6849 pub fn igraph_vector_char_min(v: *const igraph_vector_char_t) -> ::std::os::raw::c_char;
6850}
6851unsafe extern "C" {
6852 pub fn igraph_vector_char_max(v: *const igraph_vector_char_t) -> ::std::os::raw::c_char;
6853}
6854unsafe extern "C" {
6855 pub fn igraph_vector_char_which_min(v: *const igraph_vector_char_t) -> igraph_int_t;
6856}
6857unsafe extern "C" {
6858 pub fn igraph_vector_char_which_max(v: *const igraph_vector_char_t) -> igraph_int_t;
6859}
6860unsafe extern "C" {
6861 pub fn igraph_vector_char_minmax(
6862 v: *const igraph_vector_char_t,
6863 min: *mut ::std::os::raw::c_char,
6864 max: *mut ::std::os::raw::c_char,
6865 );
6866}
6867unsafe extern "C" {
6868 pub fn igraph_vector_char_which_minmax(
6869 v: *const igraph_vector_char_t,
6870 which_min: *mut igraph_int_t,
6871 which_max: *mut igraph_int_t,
6872 );
6873}
6874unsafe extern "C" {
6875 pub fn igraph_vector_char_empty(v: *const igraph_vector_char_t) -> igraph_bool_t;
6876}
6877unsafe extern "C" {
6878 pub fn igraph_vector_char_size(v: *const igraph_vector_char_t) -> igraph_int_t;
6879}
6880unsafe extern "C" {
6881 pub fn igraph_vector_char_isnull(v: *const igraph_vector_char_t) -> igraph_bool_t;
6882}
6883unsafe extern "C" {
6884 pub fn igraph_vector_char_sum(v: *const igraph_vector_char_t) -> ::std::os::raw::c_char;
6885}
6886unsafe extern "C" {
6887 pub fn igraph_vector_char_sumsq(v: *const igraph_vector_char_t) -> igraph_real_t;
6888}
6889unsafe extern "C" {
6890 pub fn igraph_vector_char_prod(v: *const igraph_vector_char_t) -> ::std::os::raw::c_char;
6891}
6892unsafe extern "C" {
6893 pub fn igraph_vector_char_isininterval(
6894 v: *const igraph_vector_char_t,
6895 low: ::std::os::raw::c_char,
6896 high: ::std::os::raw::c_char,
6897 ) -> igraph_bool_t;
6898}
6899unsafe extern "C" {
6900 pub fn igraph_vector_char_any_smaller(
6901 v: *const igraph_vector_char_t,
6902 limit: ::std::os::raw::c_char,
6903 ) -> igraph_bool_t;
6904}
6905unsafe extern "C" {
6906 pub fn igraph_vector_char_is_equal(
6907 lhs: *const igraph_vector_char_t,
6908 rhs: *const igraph_vector_char_t,
6909 ) -> igraph_bool_t;
6910}
6911unsafe extern "C" {
6912 pub fn igraph_vector_char_maxdifference(
6913 m1: *const igraph_vector_char_t,
6914 m2: *const igraph_vector_char_t,
6915 ) -> igraph_real_t;
6916}
6917unsafe extern "C" {
6918 pub fn igraph_vector_char_contains(
6919 v: *const igraph_vector_char_t,
6920 e: ::std::os::raw::c_char,
6921 ) -> igraph_bool_t;
6922}
6923unsafe extern "C" {
6924 pub fn igraph_vector_char_search(
6925 v: *const igraph_vector_char_t,
6926 from: igraph_int_t,
6927 what: ::std::os::raw::c_char,
6928 pos: *mut igraph_int_t,
6929 ) -> igraph_bool_t;
6930}
6931unsafe extern "C" {
6932 pub fn igraph_vector_char_binsearch_slice(
6933 v: *const igraph_vector_char_t,
6934 what: ::std::os::raw::c_char,
6935 pos: *mut igraph_int_t,
6936 start: igraph_int_t,
6937 end: igraph_int_t,
6938 ) -> igraph_bool_t;
6939}
6940unsafe extern "C" {
6941 pub fn igraph_vector_char_binsearch(
6942 v: *const igraph_vector_char_t,
6943 what: ::std::os::raw::c_char,
6944 pos: *mut igraph_int_t,
6945 ) -> igraph_bool_t;
6946}
6947unsafe extern "C" {
6948 pub fn igraph_vector_char_contains_sorted(
6949 v: *const igraph_vector_char_t,
6950 what: ::std::os::raw::c_char,
6951 ) -> igraph_bool_t;
6952}
6953unsafe extern "C" {
6954 pub fn igraph_vector_char_clear(v: *mut igraph_vector_char_t);
6955}
6956unsafe extern "C" {
6957 pub fn igraph_vector_char_resize(
6958 v: *mut igraph_vector_char_t,
6959 new_size: igraph_int_t,
6960 ) -> igraph_error_t;
6961}
6962unsafe extern "C" {
6963 pub fn igraph_vector_char_resize_min(v: *mut igraph_vector_char_t);
6964}
6965unsafe extern "C" {
6966 pub fn igraph_vector_char_reserve(
6967 v: *mut igraph_vector_char_t,
6968 capacity: igraph_int_t,
6969 ) -> igraph_error_t;
6970}
6971unsafe extern "C" {
6972 pub fn igraph_vector_char_push_back(
6973 v: *mut igraph_vector_char_t,
6974 e: ::std::os::raw::c_char,
6975 ) -> igraph_error_t;
6976}
6977unsafe extern "C" {
6978 pub fn igraph_vector_char_pop_back(v: *mut igraph_vector_char_t) -> ::std::os::raw::c_char;
6979}
6980unsafe extern "C" {
6981 pub fn igraph_vector_char_insert(
6982 v: *mut igraph_vector_char_t,
6983 pos: igraph_int_t,
6984 value: ::std::os::raw::c_char,
6985 ) -> igraph_error_t;
6986}
6987unsafe extern "C" {
6988 pub fn igraph_vector_char_remove(v: *mut igraph_vector_char_t, elem: igraph_int_t);
6989}
6990unsafe extern "C" {
6991 pub fn igraph_vector_char_remove_fast(v: *mut igraph_vector_char_t, elem: igraph_int_t);
6992}
6993unsafe extern "C" {
6994 pub fn igraph_vector_char_remove_section(
6995 v: *mut igraph_vector_char_t,
6996 from: igraph_int_t,
6997 to: igraph_int_t,
6998 );
6999}
7000unsafe extern "C" {
7001 pub fn igraph_vector_char_sort(v: *mut igraph_vector_char_t);
7002}
7003unsafe extern "C" {
7004 pub fn igraph_vector_char_reverse_sort(v: *mut igraph_vector_char_t);
7005}
7006unsafe extern "C" {
7007 pub fn igraph_vector_char_sort_ind(
7008 v: *const igraph_vector_char_t,
7009 inds: *mut igraph_vector_int_t,
7010 order: igraph_order_t,
7011 ) -> igraph_error_t;
7012}
7013unsafe extern "C" {
7014 pub fn igraph_vector_char_print(v: *const igraph_vector_char_t) -> igraph_error_t;
7015}
7016unsafe extern "C" {
7017 pub fn igraph_vector_char_fprint(
7018 v: *const igraph_vector_char_t,
7019 file: *mut FILE,
7020 ) -> igraph_error_t;
7021}
7022unsafe extern "C" {
7023 pub fn igraph_vector_char_printf(
7024 v: *const igraph_vector_char_t,
7025 format: *const ::std::os::raw::c_char,
7026 ) -> igraph_error_t;
7027}
7028unsafe extern "C" {
7029 pub fn igraph_vector_char_init_real(
7030 v: *mut igraph_vector_char_t,
7031 no: ::std::os::raw::c_int,
7032 ...
7033 ) -> igraph_error_t;
7034}
7035unsafe extern "C" {
7036 pub fn igraph_vector_char_init_int(
7037 v: *mut igraph_vector_char_t,
7038 no: ::std::os::raw::c_int,
7039 ...
7040 ) -> igraph_error_t;
7041}
7042unsafe extern "C" {
7043 pub fn igraph_vector_char_init_real_end(
7044 v: *mut igraph_vector_char_t,
7045 endmark: f64,
7046 ...
7047 ) -> igraph_error_t;
7048}
7049unsafe extern "C" {
7050 pub fn igraph_vector_char_init_int_end(
7051 v: *mut igraph_vector_char_t,
7052 endmark: ::std::os::raw::c_int,
7053 ...
7054 ) -> igraph_error_t;
7055}
7056unsafe extern "C" {
7057 pub fn igraph_vector_char_move_interval(
7058 v: *mut igraph_vector_char_t,
7059 begin: igraph_int_t,
7060 end: igraph_int_t,
7061 to: igraph_int_t,
7062 ) -> igraph_error_t;
7063}
7064unsafe extern "C" {
7065 pub fn igraph_vector_char_filter_smaller(
7066 v: *mut igraph_vector_char_t,
7067 elem: ::std::os::raw::c_char,
7068 ) -> igraph_error_t;
7069}
7070unsafe extern "C" {
7071 pub fn igraph_vector_char_get_interval(
7072 v: *const igraph_vector_char_t,
7073 res: *mut igraph_vector_char_t,
7074 from: igraph_int_t,
7075 to: igraph_int_t,
7076 ) -> igraph_error_t;
7077}
7078unsafe extern "C" {
7079 pub fn igraph_vector_char_difference_sorted(
7080 v1: *const igraph_vector_char_t,
7081 v2: *const igraph_vector_char_t,
7082 result: *mut igraph_vector_char_t,
7083 ) -> igraph_error_t;
7084}
7085unsafe extern "C" {
7086 pub fn igraph_vector_char_difference_and_intersection_sorted(
7087 v1: *const igraph_vector_char_t,
7088 v2: *const igraph_vector_char_t,
7089 vdiff12: *mut igraph_vector_char_t,
7090 vdiff21: *mut igraph_vector_char_t,
7091 vinter: *mut igraph_vector_char_t,
7092 ) -> igraph_error_t;
7093}
7094unsafe extern "C" {
7095 pub fn igraph_vector_char_intersect_sorted(
7096 v1: *const igraph_vector_char_t,
7097 v2: *const igraph_vector_char_t,
7098 result: *mut igraph_vector_char_t,
7099 ) -> igraph_error_t;
7100}
7101unsafe extern "C" {
7102 pub fn igraph_vector_char_intersection_size_sorted(
7103 v1: *const igraph_vector_char_t,
7104 v2: *const igraph_vector_char_t,
7105 ) -> igraph_int_t;
7106}
7107unsafe extern "C" {
7108 pub fn igraph_vector_char_index(
7109 v: *const igraph_vector_char_t,
7110 newv: *mut igraph_vector_char_t,
7111 idx: *const igraph_vector_int_t,
7112 ) -> igraph_error_t;
7113}
7114unsafe extern "C" {
7115 pub fn igraph_vector_char_index_in_place(
7116 v: *mut igraph_vector_char_t,
7117 idx: *const igraph_vector_int_t,
7118 ) -> igraph_error_t;
7119}
7120unsafe extern "C" {
7121 pub fn igraph_vector_bool_init(
7122 v: *mut igraph_vector_bool_t,
7123 size: igraph_int_t,
7124 ) -> igraph_error_t;
7125}
7126unsafe extern "C" {
7127 pub fn igraph_vector_bool_init_array(
7128 v: *mut igraph_vector_bool_t,
7129 data: *const igraph_bool_t,
7130 length: igraph_int_t,
7131 ) -> igraph_error_t;
7132}
7133unsafe extern "C" {
7134 pub fn igraph_vector_bool_init_copy(
7135 to: *mut igraph_vector_bool_t,
7136 from: *const igraph_vector_bool_t,
7137 ) -> igraph_error_t;
7138}
7139unsafe extern "C" {
7140 pub fn igraph_vector_bool_destroy(v: *mut igraph_vector_bool_t);
7141}
7142unsafe extern "C" {
7143 pub fn igraph_vector_bool_capacity(v: *const igraph_vector_bool_t) -> igraph_int_t;
7144}
7145unsafe extern "C" {
7146 pub fn igraph_vector_bool_get(
7147 v: *const igraph_vector_bool_t,
7148 pos: igraph_int_t,
7149 ) -> igraph_bool_t;
7150}
7151unsafe extern "C" {
7152 pub fn igraph_vector_bool_get_ptr(
7153 v: *const igraph_vector_bool_t,
7154 pos: igraph_int_t,
7155 ) -> *mut igraph_bool_t;
7156}
7157unsafe extern "C" {
7158 pub fn igraph_vector_bool_set(
7159 v: *mut igraph_vector_bool_t,
7160 pos: igraph_int_t,
7161 value: igraph_bool_t,
7162 );
7163}
7164unsafe extern "C" {
7165 pub fn igraph_vector_bool_tail(v: *const igraph_vector_bool_t) -> igraph_bool_t;
7166}
7167unsafe extern "C" {
7168 pub fn igraph_vector_bool_null(v: *mut igraph_vector_bool_t);
7169}
7170unsafe extern "C" {
7171 pub fn igraph_vector_bool_fill(v: *mut igraph_vector_bool_t, e: igraph_bool_t);
7172}
7173unsafe extern "C" {
7174 pub fn igraph_vector_bool_view(
7175 data: *const igraph_bool_t,
7176 length: igraph_int_t,
7177 ) -> igraph_vector_bool_t;
7178}
7179unsafe extern "C" {
7180 pub fn igraph_vector_bool_copy_to(v: *const igraph_vector_bool_t, to: *mut igraph_bool_t);
7181}
7182unsafe extern "C" {
7183 pub fn igraph_vector_bool_update(
7184 to: *mut igraph_vector_bool_t,
7185 from: *const igraph_vector_bool_t,
7186 ) -> igraph_error_t;
7187}
7188unsafe extern "C" {
7189 pub fn igraph_vector_bool_append(
7190 to: *mut igraph_vector_bool_t,
7191 from: *const igraph_vector_bool_t,
7192 ) -> igraph_error_t;
7193}
7194unsafe extern "C" {
7195 pub fn igraph_vector_bool_swap(v1: *mut igraph_vector_bool_t, v2: *mut igraph_vector_bool_t);
7196}
7197unsafe extern "C" {
7198 pub fn igraph_vector_bool_swap_elements(
7199 v: *mut igraph_vector_bool_t,
7200 i: igraph_int_t,
7201 j: igraph_int_t,
7202 );
7203}
7204unsafe extern "C" {
7205 pub fn igraph_vector_bool_reverse(v: *mut igraph_vector_bool_t);
7206}
7207unsafe extern "C" {
7208 pub fn igraph_vector_bool_reverse_section(
7209 v: *mut igraph_vector_bool_t,
7210 from: igraph_int_t,
7211 to: igraph_int_t,
7212 );
7213}
7214unsafe extern "C" {
7215 pub fn igraph_vector_bool_rotate_left(v: *mut igraph_vector_bool_t, n: igraph_int_t);
7216}
7217unsafe extern "C" {
7218 pub fn igraph_vector_bool_permute(
7219 v: *mut igraph_vector_bool_t,
7220 ind: *const igraph_vector_int_t,
7221 ) -> igraph_error_t;
7222}
7223unsafe extern "C" {
7224 pub fn igraph_vector_bool_shuffle(v: *mut igraph_vector_bool_t);
7225}
7226unsafe extern "C" {
7227 pub fn igraph_vector_bool_add_constant(v: *mut igraph_vector_bool_t, plus: igraph_bool_t);
7228}
7229unsafe extern "C" {
7230 pub fn igraph_vector_bool_scale(v: *mut igraph_vector_bool_t, by: igraph_bool_t);
7231}
7232unsafe extern "C" {
7233 pub fn igraph_vector_bool_add(
7234 v1: *mut igraph_vector_bool_t,
7235 v2: *const igraph_vector_bool_t,
7236 ) -> igraph_error_t;
7237}
7238unsafe extern "C" {
7239 pub fn igraph_vector_bool_sub(
7240 v1: *mut igraph_vector_bool_t,
7241 v2: *const igraph_vector_bool_t,
7242 ) -> igraph_error_t;
7243}
7244unsafe extern "C" {
7245 pub fn igraph_vector_bool_mul(
7246 v1: *mut igraph_vector_bool_t,
7247 v2: *const igraph_vector_bool_t,
7248 ) -> igraph_error_t;
7249}
7250unsafe extern "C" {
7251 pub fn igraph_vector_bool_div(
7252 v1: *mut igraph_vector_bool_t,
7253 v2: *const igraph_vector_bool_t,
7254 ) -> igraph_error_t;
7255}
7256unsafe extern "C" {
7257 pub fn igraph_vector_bool_cumsum(
7258 to: *mut igraph_vector_bool_t,
7259 from: *const igraph_vector_bool_t,
7260 ) -> igraph_error_t;
7261}
7262unsafe extern "C" {
7263 pub fn igraph_vector_bool_all_e(
7264 lhs: *const igraph_vector_bool_t,
7265 rhs: *const igraph_vector_bool_t,
7266 ) -> igraph_bool_t;
7267}
7268unsafe extern "C" {
7269 pub fn igraph_vector_bool_empty(v: *const igraph_vector_bool_t) -> igraph_bool_t;
7270}
7271unsafe extern "C" {
7272 pub fn igraph_vector_bool_size(v: *const igraph_vector_bool_t) -> igraph_int_t;
7273}
7274unsafe extern "C" {
7275 pub fn igraph_vector_bool_isnull(v: *const igraph_vector_bool_t) -> igraph_bool_t;
7276}
7277unsafe extern "C" {
7278 pub fn igraph_vector_bool_sum(v: *const igraph_vector_bool_t) -> igraph_bool_t;
7279}
7280unsafe extern "C" {
7281 pub fn igraph_vector_bool_sumsq(v: *const igraph_vector_bool_t) -> igraph_real_t;
7282}
7283unsafe extern "C" {
7284 pub fn igraph_vector_bool_prod(v: *const igraph_vector_bool_t) -> igraph_bool_t;
7285}
7286unsafe extern "C" {
7287 pub fn igraph_vector_bool_is_equal(
7288 lhs: *const igraph_vector_bool_t,
7289 rhs: *const igraph_vector_bool_t,
7290 ) -> igraph_bool_t;
7291}
7292unsafe extern "C" {
7293 pub fn igraph_vector_bool_contains(
7294 v: *const igraph_vector_bool_t,
7295 e: igraph_bool_t,
7296 ) -> igraph_bool_t;
7297}
7298unsafe extern "C" {
7299 pub fn igraph_vector_bool_search(
7300 v: *const igraph_vector_bool_t,
7301 from: igraph_int_t,
7302 what: igraph_bool_t,
7303 pos: *mut igraph_int_t,
7304 ) -> igraph_bool_t;
7305}
7306unsafe extern "C" {
7307 pub fn igraph_vector_bool_clear(v: *mut igraph_vector_bool_t);
7308}
7309unsafe extern "C" {
7310 pub fn igraph_vector_bool_resize(
7311 v: *mut igraph_vector_bool_t,
7312 new_size: igraph_int_t,
7313 ) -> igraph_error_t;
7314}
7315unsafe extern "C" {
7316 pub fn igraph_vector_bool_resize_min(v: *mut igraph_vector_bool_t);
7317}
7318unsafe extern "C" {
7319 pub fn igraph_vector_bool_reserve(
7320 v: *mut igraph_vector_bool_t,
7321 capacity: igraph_int_t,
7322 ) -> igraph_error_t;
7323}
7324unsafe extern "C" {
7325 pub fn igraph_vector_bool_push_back(
7326 v: *mut igraph_vector_bool_t,
7327 e: igraph_bool_t,
7328 ) -> igraph_error_t;
7329}
7330unsafe extern "C" {
7331 pub fn igraph_vector_bool_pop_back(v: *mut igraph_vector_bool_t) -> igraph_bool_t;
7332}
7333unsafe extern "C" {
7334 pub fn igraph_vector_bool_insert(
7335 v: *mut igraph_vector_bool_t,
7336 pos: igraph_int_t,
7337 value: igraph_bool_t,
7338 ) -> igraph_error_t;
7339}
7340unsafe extern "C" {
7341 pub fn igraph_vector_bool_remove(v: *mut igraph_vector_bool_t, elem: igraph_int_t);
7342}
7343unsafe extern "C" {
7344 pub fn igraph_vector_bool_remove_fast(v: *mut igraph_vector_bool_t, elem: igraph_int_t);
7345}
7346unsafe extern "C" {
7347 pub fn igraph_vector_bool_remove_section(
7348 v: *mut igraph_vector_bool_t,
7349 from: igraph_int_t,
7350 to: igraph_int_t,
7351 );
7352}
7353unsafe extern "C" {
7354 pub fn igraph_vector_bool_print(v: *const igraph_vector_bool_t) -> igraph_error_t;
7355}
7356unsafe extern "C" {
7357 pub fn igraph_vector_bool_fprint(
7358 v: *const igraph_vector_bool_t,
7359 file: *mut FILE,
7360 ) -> igraph_error_t;
7361}
7362unsafe extern "C" {
7363 pub fn igraph_vector_bool_printf(
7364 v: *const igraph_vector_bool_t,
7365 format: *const ::std::os::raw::c_char,
7366 ) -> igraph_error_t;
7367}
7368unsafe extern "C" {
7369 pub fn igraph_vector_bool_init_real(
7370 v: *mut igraph_vector_bool_t,
7371 no: ::std::os::raw::c_int,
7372 ...
7373 ) -> igraph_error_t;
7374}
7375unsafe extern "C" {
7376 pub fn igraph_vector_bool_init_int(
7377 v: *mut igraph_vector_bool_t,
7378 no: ::std::os::raw::c_int,
7379 ...
7380 ) -> igraph_error_t;
7381}
7382unsafe extern "C" {
7383 pub fn igraph_vector_bool_init_real_end(
7384 v: *mut igraph_vector_bool_t,
7385 endmark: f64,
7386 ...
7387 ) -> igraph_error_t;
7388}
7389unsafe extern "C" {
7390 pub fn igraph_vector_bool_init_int_end(
7391 v: *mut igraph_vector_bool_t,
7392 endmark: ::std::os::raw::c_int,
7393 ...
7394 ) -> igraph_error_t;
7395}
7396unsafe extern "C" {
7397 pub fn igraph_vector_bool_move_interval(
7398 v: *mut igraph_vector_bool_t,
7399 begin: igraph_int_t,
7400 end: igraph_int_t,
7401 to: igraph_int_t,
7402 ) -> igraph_error_t;
7403}
7404unsafe extern "C" {
7405 pub fn igraph_vector_bool_get_interval(
7406 v: *const igraph_vector_bool_t,
7407 res: *mut igraph_vector_bool_t,
7408 from: igraph_int_t,
7409 to: igraph_int_t,
7410 ) -> igraph_error_t;
7411}
7412unsafe extern "C" {
7413 pub fn igraph_vector_bool_index(
7414 v: *const igraph_vector_bool_t,
7415 newv: *mut igraph_vector_bool_t,
7416 idx: *const igraph_vector_int_t,
7417 ) -> igraph_error_t;
7418}
7419unsafe extern "C" {
7420 pub fn igraph_vector_bool_index_in_place(
7421 v: *mut igraph_vector_bool_t,
7422 idx: *const igraph_vector_int_t,
7423 ) -> igraph_error_t;
7424}
7425unsafe extern "C" {
7426 pub fn igraph_vector_int_init(
7427 v: *mut igraph_vector_int_t,
7428 size: igraph_int_t,
7429 ) -> igraph_error_t;
7430}
7431unsafe extern "C" {
7432 pub fn igraph_vector_int_init_array(
7433 v: *mut igraph_vector_int_t,
7434 data: *const igraph_int_t,
7435 length: igraph_int_t,
7436 ) -> igraph_error_t;
7437}
7438unsafe extern "C" {
7439 pub fn igraph_vector_int_init_copy(
7440 to: *mut igraph_vector_int_t,
7441 from: *const igraph_vector_int_t,
7442 ) -> igraph_error_t;
7443}
7444unsafe extern "C" {
7445 pub fn igraph_vector_int_init_range(
7446 v: *mut igraph_vector_int_t,
7447 start: igraph_int_t,
7448 end: igraph_int_t,
7449 ) -> igraph_error_t;
7450}
7451unsafe extern "C" {
7452 pub fn igraph_vector_int_destroy(v: *mut igraph_vector_int_t);
7453}
7454unsafe extern "C" {
7455 pub fn igraph_vector_int_capacity(v: *const igraph_vector_int_t) -> igraph_int_t;
7456}
7457unsafe extern "C" {
7458 pub fn igraph_vector_int_get(v: *const igraph_vector_int_t, pos: igraph_int_t) -> igraph_int_t;
7459}
7460unsafe extern "C" {
7461 pub fn igraph_vector_int_get_ptr(
7462 v: *const igraph_vector_int_t,
7463 pos: igraph_int_t,
7464 ) -> *mut igraph_int_t;
7465}
7466unsafe extern "C" {
7467 pub fn igraph_vector_int_set(
7468 v: *mut igraph_vector_int_t,
7469 pos: igraph_int_t,
7470 value: igraph_int_t,
7471 );
7472}
7473unsafe extern "C" {
7474 pub fn igraph_vector_int_tail(v: *const igraph_vector_int_t) -> igraph_int_t;
7475}
7476unsafe extern "C" {
7477 pub fn igraph_vector_int_null(v: *mut igraph_vector_int_t);
7478}
7479unsafe extern "C" {
7480 pub fn igraph_vector_int_fill(v: *mut igraph_vector_int_t, e: igraph_int_t);
7481}
7482unsafe extern "C" {
7483 pub fn igraph_vector_int_range(
7484 v: *mut igraph_vector_int_t,
7485 start: igraph_int_t,
7486 end: igraph_int_t,
7487 ) -> igraph_error_t;
7488}
7489unsafe extern "C" {
7490 pub fn igraph_vector_int_view(
7491 data: *const igraph_int_t,
7492 length: igraph_int_t,
7493 ) -> igraph_vector_int_t;
7494}
7495unsafe extern "C" {
7496 pub fn igraph_vector_int_copy_to(v: *const igraph_vector_int_t, to: *mut igraph_int_t);
7497}
7498unsafe extern "C" {
7499 pub fn igraph_vector_int_update(
7500 to: *mut igraph_vector_int_t,
7501 from: *const igraph_vector_int_t,
7502 ) -> igraph_error_t;
7503}
7504unsafe extern "C" {
7505 pub fn igraph_vector_int_append(
7506 to: *mut igraph_vector_int_t,
7507 from: *const igraph_vector_int_t,
7508 ) -> igraph_error_t;
7509}
7510unsafe extern "C" {
7511 pub fn igraph_vector_int_swap(v1: *mut igraph_vector_int_t, v2: *mut igraph_vector_int_t);
7512}
7513unsafe extern "C" {
7514 pub fn igraph_vector_int_swap_elements(
7515 v: *mut igraph_vector_int_t,
7516 i: igraph_int_t,
7517 j: igraph_int_t,
7518 );
7519}
7520unsafe extern "C" {
7521 pub fn igraph_vector_int_reverse(v: *mut igraph_vector_int_t);
7522}
7523unsafe extern "C" {
7524 pub fn igraph_vector_int_reverse_section(
7525 v: *mut igraph_vector_int_t,
7526 from: igraph_int_t,
7527 to: igraph_int_t,
7528 );
7529}
7530unsafe extern "C" {
7531 pub fn igraph_vector_int_rotate_left(v: *mut igraph_vector_int_t, n: igraph_int_t);
7532}
7533unsafe extern "C" {
7534 pub fn igraph_vector_int_permute(
7535 v: *mut igraph_vector_int_t,
7536 ind: *const igraph_vector_int_t,
7537 ) -> igraph_error_t;
7538}
7539unsafe extern "C" {
7540 pub fn igraph_vector_int_shuffle(v: *mut igraph_vector_int_t);
7541}
7542unsafe extern "C" {
7543 pub fn igraph_vector_int_add_constant(v: *mut igraph_vector_int_t, plus: igraph_int_t);
7544}
7545unsafe extern "C" {
7546 pub fn igraph_vector_int_scale(v: *mut igraph_vector_int_t, by: igraph_int_t);
7547}
7548unsafe extern "C" {
7549 pub fn igraph_vector_int_add(
7550 v1: *mut igraph_vector_int_t,
7551 v2: *const igraph_vector_int_t,
7552 ) -> igraph_error_t;
7553}
7554unsafe extern "C" {
7555 pub fn igraph_vector_int_sub(
7556 v1: *mut igraph_vector_int_t,
7557 v2: *const igraph_vector_int_t,
7558 ) -> igraph_error_t;
7559}
7560unsafe extern "C" {
7561 pub fn igraph_vector_int_mul(
7562 v1: *mut igraph_vector_int_t,
7563 v2: *const igraph_vector_int_t,
7564 ) -> igraph_error_t;
7565}
7566unsafe extern "C" {
7567 pub fn igraph_vector_int_div(
7568 v1: *mut igraph_vector_int_t,
7569 v2: *const igraph_vector_int_t,
7570 ) -> igraph_error_t;
7571}
7572unsafe extern "C" {
7573 pub fn igraph_vector_int_cumsum(
7574 to: *mut igraph_vector_int_t,
7575 from: *const igraph_vector_int_t,
7576 ) -> igraph_error_t;
7577}
7578unsafe extern "C" {
7579 pub fn igraph_vector_int_abs(v: *mut igraph_vector_int_t) -> igraph_error_t;
7580}
7581unsafe extern "C" {
7582 pub fn igraph_vector_int_all_e(
7583 lhs: *const igraph_vector_int_t,
7584 rhs: *const igraph_vector_int_t,
7585 ) -> igraph_bool_t;
7586}
7587unsafe extern "C" {
7588 pub fn igraph_vector_int_all_l(
7589 lhs: *const igraph_vector_int_t,
7590 rhs: *const igraph_vector_int_t,
7591 ) -> igraph_bool_t;
7592}
7593unsafe extern "C" {
7594 pub fn igraph_vector_int_all_g(
7595 lhs: *const igraph_vector_int_t,
7596 rhs: *const igraph_vector_int_t,
7597 ) -> igraph_bool_t;
7598}
7599unsafe extern "C" {
7600 pub fn igraph_vector_int_all_le(
7601 lhs: *const igraph_vector_int_t,
7602 rhs: *const igraph_vector_int_t,
7603 ) -> igraph_bool_t;
7604}
7605unsafe extern "C" {
7606 pub fn igraph_vector_int_all_ge(
7607 lhs: *const igraph_vector_int_t,
7608 rhs: *const igraph_vector_int_t,
7609 ) -> igraph_bool_t;
7610}
7611unsafe extern "C" {
7612 pub fn igraph_vector_int_lex_cmp(
7613 lhs: *const igraph_vector_int_t,
7614 rhs: *const igraph_vector_int_t,
7615 ) -> ::std::os::raw::c_int;
7616}
7617unsafe extern "C" {
7618 pub fn igraph_vector_int_colex_cmp(
7619 lhs: *const igraph_vector_int_t,
7620 rhs: *const igraph_vector_int_t,
7621 ) -> ::std::os::raw::c_int;
7622}
7623unsafe extern "C" {
7624 pub fn igraph_vector_int_lex_cmp_untyped(
7625 lhs: *const ::std::os::raw::c_void,
7626 rhs: *const ::std::os::raw::c_void,
7627 ) -> ::std::os::raw::c_int;
7628}
7629unsafe extern "C" {
7630 pub fn igraph_vector_int_colex_cmp_untyped(
7631 lhs: *const ::std::os::raw::c_void,
7632 rhs: *const ::std::os::raw::c_void,
7633 ) -> ::std::os::raw::c_int;
7634}
7635unsafe extern "C" {
7636 pub fn igraph_vector_int_min(v: *const igraph_vector_int_t) -> igraph_int_t;
7637}
7638unsafe extern "C" {
7639 pub fn igraph_vector_int_max(v: *const igraph_vector_int_t) -> igraph_int_t;
7640}
7641unsafe extern "C" {
7642 pub fn igraph_vector_int_which_min(v: *const igraph_vector_int_t) -> igraph_int_t;
7643}
7644unsafe extern "C" {
7645 pub fn igraph_vector_int_which_max(v: *const igraph_vector_int_t) -> igraph_int_t;
7646}
7647unsafe extern "C" {
7648 pub fn igraph_vector_int_minmax(
7649 v: *const igraph_vector_int_t,
7650 min: *mut igraph_int_t,
7651 max: *mut igraph_int_t,
7652 );
7653}
7654unsafe extern "C" {
7655 pub fn igraph_vector_int_which_minmax(
7656 v: *const igraph_vector_int_t,
7657 which_min: *mut igraph_int_t,
7658 which_max: *mut igraph_int_t,
7659 );
7660}
7661unsafe extern "C" {
7662 pub fn igraph_vector_int_empty(v: *const igraph_vector_int_t) -> igraph_bool_t;
7663}
7664unsafe extern "C" {
7665 pub fn igraph_vector_int_size(v: *const igraph_vector_int_t) -> igraph_int_t;
7666}
7667unsafe extern "C" {
7668 pub fn igraph_vector_int_isnull(v: *const igraph_vector_int_t) -> igraph_bool_t;
7669}
7670unsafe extern "C" {
7671 pub fn igraph_vector_int_sum(v: *const igraph_vector_int_t) -> igraph_int_t;
7672}
7673unsafe extern "C" {
7674 pub fn igraph_vector_int_sumsq(v: *const igraph_vector_int_t) -> igraph_real_t;
7675}
7676unsafe extern "C" {
7677 pub fn igraph_vector_int_prod(v: *const igraph_vector_int_t) -> igraph_int_t;
7678}
7679unsafe extern "C" {
7680 pub fn igraph_vector_int_isininterval(
7681 v: *const igraph_vector_int_t,
7682 low: igraph_int_t,
7683 high: igraph_int_t,
7684 ) -> igraph_bool_t;
7685}
7686unsafe extern "C" {
7687 pub fn igraph_vector_int_any_smaller(
7688 v: *const igraph_vector_int_t,
7689 limit: igraph_int_t,
7690 ) -> igraph_bool_t;
7691}
7692unsafe extern "C" {
7693 pub fn igraph_vector_int_is_equal(
7694 lhs: *const igraph_vector_int_t,
7695 rhs: *const igraph_vector_int_t,
7696 ) -> igraph_bool_t;
7697}
7698unsafe extern "C" {
7699 pub fn igraph_vector_int_maxdifference(
7700 m1: *const igraph_vector_int_t,
7701 m2: *const igraph_vector_int_t,
7702 ) -> igraph_real_t;
7703}
7704unsafe extern "C" {
7705 pub fn igraph_vector_int_contains(
7706 v: *const igraph_vector_int_t,
7707 e: igraph_int_t,
7708 ) -> igraph_bool_t;
7709}
7710unsafe extern "C" {
7711 pub fn igraph_vector_int_search(
7712 v: *const igraph_vector_int_t,
7713 from: igraph_int_t,
7714 what: igraph_int_t,
7715 pos: *mut igraph_int_t,
7716 ) -> igraph_bool_t;
7717}
7718unsafe extern "C" {
7719 pub fn igraph_vector_int_binsearch_slice(
7720 v: *const igraph_vector_int_t,
7721 what: igraph_int_t,
7722 pos: *mut igraph_int_t,
7723 start: igraph_int_t,
7724 end: igraph_int_t,
7725 ) -> igraph_bool_t;
7726}
7727unsafe extern "C" {
7728 pub fn igraph_vector_int_binsearch(
7729 v: *const igraph_vector_int_t,
7730 what: igraph_int_t,
7731 pos: *mut igraph_int_t,
7732 ) -> igraph_bool_t;
7733}
7734unsafe extern "C" {
7735 pub fn igraph_vector_int_contains_sorted(
7736 v: *const igraph_vector_int_t,
7737 what: igraph_int_t,
7738 ) -> igraph_bool_t;
7739}
7740unsafe extern "C" {
7741 pub fn igraph_vector_int_clear(v: *mut igraph_vector_int_t);
7742}
7743unsafe extern "C" {
7744 pub fn igraph_vector_int_resize(
7745 v: *mut igraph_vector_int_t,
7746 new_size: igraph_int_t,
7747 ) -> igraph_error_t;
7748}
7749unsafe extern "C" {
7750 pub fn igraph_vector_int_resize_min(v: *mut igraph_vector_int_t);
7751}
7752unsafe extern "C" {
7753 pub fn igraph_vector_int_reserve(
7754 v: *mut igraph_vector_int_t,
7755 capacity: igraph_int_t,
7756 ) -> igraph_error_t;
7757}
7758unsafe extern "C" {
7759 pub fn igraph_vector_int_push_back(
7760 v: *mut igraph_vector_int_t,
7761 e: igraph_int_t,
7762 ) -> igraph_error_t;
7763}
7764unsafe extern "C" {
7765 pub fn igraph_vector_int_pop_back(v: *mut igraph_vector_int_t) -> igraph_int_t;
7766}
7767unsafe extern "C" {
7768 pub fn igraph_vector_int_insert(
7769 v: *mut igraph_vector_int_t,
7770 pos: igraph_int_t,
7771 value: igraph_int_t,
7772 ) -> igraph_error_t;
7773}
7774unsafe extern "C" {
7775 pub fn igraph_vector_int_remove(v: *mut igraph_vector_int_t, elem: igraph_int_t);
7776}
7777unsafe extern "C" {
7778 pub fn igraph_vector_int_remove_fast(v: *mut igraph_vector_int_t, elem: igraph_int_t);
7779}
7780unsafe extern "C" {
7781 pub fn igraph_vector_int_remove_section(
7782 v: *mut igraph_vector_int_t,
7783 from: igraph_int_t,
7784 to: igraph_int_t,
7785 );
7786}
7787unsafe extern "C" {
7788 pub fn igraph_vector_int_sort(v: *mut igraph_vector_int_t);
7789}
7790unsafe extern "C" {
7791 pub fn igraph_vector_int_reverse_sort(v: *mut igraph_vector_int_t);
7792}
7793unsafe extern "C" {
7794 pub fn igraph_vector_int_sort_ind(
7795 v: *const igraph_vector_int_t,
7796 inds: *mut igraph_vector_int_t,
7797 order: igraph_order_t,
7798 ) -> igraph_error_t;
7799}
7800unsafe extern "C" {
7801 pub fn igraph_vector_int_print(v: *const igraph_vector_int_t) -> igraph_error_t;
7802}
7803unsafe extern "C" {
7804 pub fn igraph_vector_int_fprint(
7805 v: *const igraph_vector_int_t,
7806 file: *mut FILE,
7807 ) -> igraph_error_t;
7808}
7809unsafe extern "C" {
7810 pub fn igraph_vector_int_printf(
7811 v: *const igraph_vector_int_t,
7812 format: *const ::std::os::raw::c_char,
7813 ) -> igraph_error_t;
7814}
7815unsafe extern "C" {
7816 pub fn igraph_vector_int_init_real(
7817 v: *mut igraph_vector_int_t,
7818 no: ::std::os::raw::c_int,
7819 ...
7820 ) -> igraph_error_t;
7821}
7822unsafe extern "C" {
7823 pub fn igraph_vector_int_init_int(
7824 v: *mut igraph_vector_int_t,
7825 no: ::std::os::raw::c_int,
7826 ...
7827 ) -> igraph_error_t;
7828}
7829unsafe extern "C" {
7830 pub fn igraph_vector_int_init_real_end(
7831 v: *mut igraph_vector_int_t,
7832 endmark: f64,
7833 ...
7834 ) -> igraph_error_t;
7835}
7836unsafe extern "C" {
7837 pub fn igraph_vector_int_init_int_end(
7838 v: *mut igraph_vector_int_t,
7839 endmark: ::std::os::raw::c_int,
7840 ...
7841 ) -> igraph_error_t;
7842}
7843unsafe extern "C" {
7844 pub fn igraph_vector_int_move_interval(
7845 v: *mut igraph_vector_int_t,
7846 begin: igraph_int_t,
7847 end: igraph_int_t,
7848 to: igraph_int_t,
7849 ) -> igraph_error_t;
7850}
7851unsafe extern "C" {
7852 pub fn igraph_vector_int_filter_smaller(
7853 v: *mut igraph_vector_int_t,
7854 elem: igraph_int_t,
7855 ) -> igraph_error_t;
7856}
7857unsafe extern "C" {
7858 pub fn igraph_vector_int_get_interval(
7859 v: *const igraph_vector_int_t,
7860 res: *mut igraph_vector_int_t,
7861 from: igraph_int_t,
7862 to: igraph_int_t,
7863 ) -> igraph_error_t;
7864}
7865unsafe extern "C" {
7866 pub fn igraph_vector_int_difference_sorted(
7867 v1: *const igraph_vector_int_t,
7868 v2: *const igraph_vector_int_t,
7869 result: *mut igraph_vector_int_t,
7870 ) -> igraph_error_t;
7871}
7872unsafe extern "C" {
7873 pub fn igraph_vector_int_difference_and_intersection_sorted(
7874 v1: *const igraph_vector_int_t,
7875 v2: *const igraph_vector_int_t,
7876 vdiff12: *mut igraph_vector_int_t,
7877 vdiff21: *mut igraph_vector_int_t,
7878 vinter: *mut igraph_vector_int_t,
7879 ) -> igraph_error_t;
7880}
7881unsafe extern "C" {
7882 pub fn igraph_vector_int_intersect_sorted(
7883 v1: *const igraph_vector_int_t,
7884 v2: *const igraph_vector_int_t,
7885 result: *mut igraph_vector_int_t,
7886 ) -> igraph_error_t;
7887}
7888unsafe extern "C" {
7889 pub fn igraph_vector_int_intersection_size_sorted(
7890 v1: *const igraph_vector_int_t,
7891 v2: *const igraph_vector_int_t,
7892 ) -> igraph_int_t;
7893}
7894unsafe extern "C" {
7895 pub fn igraph_vector_int_index(
7896 v: *const igraph_vector_int_t,
7897 newv: *mut igraph_vector_int_t,
7898 idx: *const igraph_vector_int_t,
7899 ) -> igraph_error_t;
7900}
7901unsafe extern "C" {
7902 pub fn igraph_vector_int_index_in_place(
7903 v: *mut igraph_vector_int_t,
7904 idx: *const igraph_vector_int_t,
7905 ) -> igraph_error_t;
7906}
7907unsafe extern "C" {
7908 pub fn igraph_vector_complex_init(
7909 v: *mut igraph_vector_complex_t,
7910 size: igraph_int_t,
7911 ) -> igraph_error_t;
7912}
7913unsafe extern "C" {
7914 pub fn igraph_vector_complex_init_array(
7915 v: *mut igraph_vector_complex_t,
7916 data: *const igraph_complex_t,
7917 length: igraph_int_t,
7918 ) -> igraph_error_t;
7919}
7920unsafe extern "C" {
7921 pub fn igraph_vector_complex_init_copy(
7922 to: *mut igraph_vector_complex_t,
7923 from: *const igraph_vector_complex_t,
7924 ) -> igraph_error_t;
7925}
7926unsafe extern "C" {
7927 pub fn igraph_vector_complex_destroy(v: *mut igraph_vector_complex_t);
7928}
7929unsafe extern "C" {
7930 pub fn igraph_vector_complex_capacity(v: *const igraph_vector_complex_t) -> igraph_int_t;
7931}
7932unsafe extern "C" {
7933 pub fn igraph_vector_complex_get(
7934 v: *const igraph_vector_complex_t,
7935 pos: igraph_int_t,
7936 ) -> igraph_complex_t;
7937}
7938unsafe extern "C" {
7939 pub fn igraph_vector_complex_get_ptr(
7940 v: *const igraph_vector_complex_t,
7941 pos: igraph_int_t,
7942 ) -> *mut igraph_complex_t;
7943}
7944unsafe extern "C" {
7945 pub fn igraph_vector_complex_set(
7946 v: *mut igraph_vector_complex_t,
7947 pos: igraph_int_t,
7948 value: igraph_complex_t,
7949 );
7950}
7951unsafe extern "C" {
7952 pub fn igraph_vector_complex_tail(v: *const igraph_vector_complex_t) -> igraph_complex_t;
7953}
7954unsafe extern "C" {
7955 pub fn igraph_vector_complex_null(v: *mut igraph_vector_complex_t);
7956}
7957unsafe extern "C" {
7958 pub fn igraph_vector_complex_fill(v: *mut igraph_vector_complex_t, e: igraph_complex_t);
7959}
7960unsafe extern "C" {
7961 pub fn igraph_vector_complex_view(
7962 data: *const igraph_complex_t,
7963 length: igraph_int_t,
7964 ) -> igraph_vector_complex_t;
7965}
7966unsafe extern "C" {
7967 pub fn igraph_vector_complex_copy_to(
7968 v: *const igraph_vector_complex_t,
7969 to: *mut igraph_complex_t,
7970 );
7971}
7972unsafe extern "C" {
7973 pub fn igraph_vector_complex_update(
7974 to: *mut igraph_vector_complex_t,
7975 from: *const igraph_vector_complex_t,
7976 ) -> igraph_error_t;
7977}
7978unsafe extern "C" {
7979 pub fn igraph_vector_complex_append(
7980 to: *mut igraph_vector_complex_t,
7981 from: *const igraph_vector_complex_t,
7982 ) -> igraph_error_t;
7983}
7984unsafe extern "C" {
7985 pub fn igraph_vector_complex_swap(
7986 v1: *mut igraph_vector_complex_t,
7987 v2: *mut igraph_vector_complex_t,
7988 );
7989}
7990unsafe extern "C" {
7991 pub fn igraph_vector_complex_swap_elements(
7992 v: *mut igraph_vector_complex_t,
7993 i: igraph_int_t,
7994 j: igraph_int_t,
7995 );
7996}
7997unsafe extern "C" {
7998 pub fn igraph_vector_complex_reverse(v: *mut igraph_vector_complex_t);
7999}
8000unsafe extern "C" {
8001 pub fn igraph_vector_complex_reverse_section(
8002 v: *mut igraph_vector_complex_t,
8003 from: igraph_int_t,
8004 to: igraph_int_t,
8005 );
8006}
8007unsafe extern "C" {
8008 pub fn igraph_vector_complex_rotate_left(v: *mut igraph_vector_complex_t, n: igraph_int_t);
8009}
8010unsafe extern "C" {
8011 pub fn igraph_vector_complex_permute(
8012 v: *mut igraph_vector_complex_t,
8013 ind: *const igraph_vector_int_t,
8014 ) -> igraph_error_t;
8015}
8016unsafe extern "C" {
8017 pub fn igraph_vector_complex_shuffle(v: *mut igraph_vector_complex_t);
8018}
8019unsafe extern "C" {
8020 pub fn igraph_vector_complex_add_constant(
8021 v: *mut igraph_vector_complex_t,
8022 plus: igraph_complex_t,
8023 );
8024}
8025unsafe extern "C" {
8026 pub fn igraph_vector_complex_scale(v: *mut igraph_vector_complex_t, by: igraph_complex_t);
8027}
8028unsafe extern "C" {
8029 pub fn igraph_vector_complex_add(
8030 v1: *mut igraph_vector_complex_t,
8031 v2: *const igraph_vector_complex_t,
8032 ) -> igraph_error_t;
8033}
8034unsafe extern "C" {
8035 pub fn igraph_vector_complex_sub(
8036 v1: *mut igraph_vector_complex_t,
8037 v2: *const igraph_vector_complex_t,
8038 ) -> igraph_error_t;
8039}
8040unsafe extern "C" {
8041 pub fn igraph_vector_complex_mul(
8042 v1: *mut igraph_vector_complex_t,
8043 v2: *const igraph_vector_complex_t,
8044 ) -> igraph_error_t;
8045}
8046unsafe extern "C" {
8047 pub fn igraph_vector_complex_div(
8048 v1: *mut igraph_vector_complex_t,
8049 v2: *const igraph_vector_complex_t,
8050 ) -> igraph_error_t;
8051}
8052unsafe extern "C" {
8053 pub fn igraph_vector_complex_cumsum(
8054 to: *mut igraph_vector_complex_t,
8055 from: *const igraph_vector_complex_t,
8056 ) -> igraph_error_t;
8057}
8058unsafe extern "C" {
8059 pub fn igraph_vector_complex_all_e(
8060 lhs: *const igraph_vector_complex_t,
8061 rhs: *const igraph_vector_complex_t,
8062 ) -> igraph_bool_t;
8063}
8064unsafe extern "C" {
8065 pub fn igraph_vector_complex_empty(v: *const igraph_vector_complex_t) -> igraph_bool_t;
8066}
8067unsafe extern "C" {
8068 pub fn igraph_vector_complex_size(v: *const igraph_vector_complex_t) -> igraph_int_t;
8069}
8070unsafe extern "C" {
8071 pub fn igraph_vector_complex_isnull(v: *const igraph_vector_complex_t) -> igraph_bool_t;
8072}
8073unsafe extern "C" {
8074 pub fn igraph_vector_complex_sum(v: *const igraph_vector_complex_t) -> igraph_complex_t;
8075}
8076unsafe extern "C" {
8077 pub fn igraph_vector_complex_sumsq(v: *const igraph_vector_complex_t) -> igraph_real_t;
8078}
8079unsafe extern "C" {
8080 pub fn igraph_vector_complex_prod(v: *const igraph_vector_complex_t) -> igraph_complex_t;
8081}
8082unsafe extern "C" {
8083 pub fn igraph_vector_complex_is_equal(
8084 lhs: *const igraph_vector_complex_t,
8085 rhs: *const igraph_vector_complex_t,
8086 ) -> igraph_bool_t;
8087}
8088unsafe extern "C" {
8089 pub fn igraph_vector_complex_contains(
8090 v: *const igraph_vector_complex_t,
8091 e: igraph_complex_t,
8092 ) -> igraph_bool_t;
8093}
8094unsafe extern "C" {
8095 pub fn igraph_vector_complex_search(
8096 v: *const igraph_vector_complex_t,
8097 from: igraph_int_t,
8098 what: igraph_complex_t,
8099 pos: *mut igraph_int_t,
8100 ) -> igraph_bool_t;
8101}
8102unsafe extern "C" {
8103 pub fn igraph_vector_complex_clear(v: *mut igraph_vector_complex_t);
8104}
8105unsafe extern "C" {
8106 pub fn igraph_vector_complex_resize(
8107 v: *mut igraph_vector_complex_t,
8108 new_size: igraph_int_t,
8109 ) -> igraph_error_t;
8110}
8111unsafe extern "C" {
8112 pub fn igraph_vector_complex_resize_min(v: *mut igraph_vector_complex_t);
8113}
8114unsafe extern "C" {
8115 pub fn igraph_vector_complex_reserve(
8116 v: *mut igraph_vector_complex_t,
8117 capacity: igraph_int_t,
8118 ) -> igraph_error_t;
8119}
8120unsafe extern "C" {
8121 pub fn igraph_vector_complex_push_back(
8122 v: *mut igraph_vector_complex_t,
8123 e: igraph_complex_t,
8124 ) -> igraph_error_t;
8125}
8126unsafe extern "C" {
8127 pub fn igraph_vector_complex_pop_back(v: *mut igraph_vector_complex_t) -> igraph_complex_t;
8128}
8129unsafe extern "C" {
8130 pub fn igraph_vector_complex_insert(
8131 v: *mut igraph_vector_complex_t,
8132 pos: igraph_int_t,
8133 value: igraph_complex_t,
8134 ) -> igraph_error_t;
8135}
8136unsafe extern "C" {
8137 pub fn igraph_vector_complex_remove(v: *mut igraph_vector_complex_t, elem: igraph_int_t);
8138}
8139unsafe extern "C" {
8140 pub fn igraph_vector_complex_remove_fast(v: *mut igraph_vector_complex_t, elem: igraph_int_t);
8141}
8142unsafe extern "C" {
8143 pub fn igraph_vector_complex_remove_section(
8144 v: *mut igraph_vector_complex_t,
8145 from: igraph_int_t,
8146 to: igraph_int_t,
8147 );
8148}
8149unsafe extern "C" {
8150 pub fn igraph_vector_complex_print(v: *const igraph_vector_complex_t) -> igraph_error_t;
8151}
8152unsafe extern "C" {
8153 pub fn igraph_vector_complex_fprint(
8154 v: *const igraph_vector_complex_t,
8155 file: *mut FILE,
8156 ) -> igraph_error_t;
8157}
8158unsafe extern "C" {
8159 pub fn igraph_vector_complex_real(
8160 v: *const igraph_vector_complex_t,
8161 real: *mut igraph_vector_t,
8162 ) -> igraph_error_t;
8163}
8164unsafe extern "C" {
8165 pub fn igraph_vector_complex_imag(
8166 v: *const igraph_vector_complex_t,
8167 imag: *mut igraph_vector_t,
8168 ) -> igraph_error_t;
8169}
8170unsafe extern "C" {
8171 pub fn igraph_vector_complex_realimag(
8172 v: *const igraph_vector_complex_t,
8173 real: *mut igraph_vector_t,
8174 imag: *mut igraph_vector_t,
8175 ) -> igraph_error_t;
8176}
8177unsafe extern "C" {
8178 pub fn igraph_vector_complex_create(
8179 v: *mut igraph_vector_complex_t,
8180 real: *const igraph_vector_t,
8181 imag: *const igraph_vector_t,
8182 ) -> igraph_error_t;
8183}
8184unsafe extern "C" {
8185 pub fn igraph_vector_complex_create_polar(
8186 v: *mut igraph_vector_complex_t,
8187 r: *const igraph_vector_t,
8188 theta: *const igraph_vector_t,
8189 ) -> igraph_error_t;
8190}
8191unsafe extern "C" {
8192 pub fn igraph_vector_complex_all_almost_e(
8193 lhs: *const igraph_vector_complex_t,
8194 rhs: *const igraph_vector_complex_t,
8195 eps: igraph_real_t,
8196 ) -> igraph_bool_t;
8197}
8198unsafe extern "C" {
8199 pub fn igraph_vector_complex_init_real(
8200 v: *mut igraph_vector_complex_t,
8201 no: ::std::os::raw::c_int,
8202 ...
8203 ) -> igraph_error_t;
8204}
8205unsafe extern "C" {
8206 pub fn igraph_vector_complex_init_int(
8207 v: *mut igraph_vector_complex_t,
8208 no: ::std::os::raw::c_int,
8209 ...
8210 ) -> igraph_error_t;
8211}
8212unsafe extern "C" {
8213 pub fn igraph_vector_complex_init_real_end(
8214 v: *mut igraph_vector_complex_t,
8215 endmark: f64,
8216 ...
8217 ) -> igraph_error_t;
8218}
8219unsafe extern "C" {
8220 pub fn igraph_vector_complex_init_int_end(
8221 v: *mut igraph_vector_complex_t,
8222 endmark: ::std::os::raw::c_int,
8223 ...
8224 ) -> igraph_error_t;
8225}
8226unsafe extern "C" {
8227 pub fn igraph_vector_complex_move_interval(
8228 v: *mut igraph_vector_complex_t,
8229 begin: igraph_int_t,
8230 end: igraph_int_t,
8231 to: igraph_int_t,
8232 ) -> igraph_error_t;
8233}
8234unsafe extern "C" {
8235 pub fn igraph_vector_complex_get_interval(
8236 v: *const igraph_vector_complex_t,
8237 res: *mut igraph_vector_complex_t,
8238 from: igraph_int_t,
8239 to: igraph_int_t,
8240 ) -> igraph_error_t;
8241}
8242unsafe extern "C" {
8243 pub fn igraph_vector_complex_index(
8244 v: *const igraph_vector_complex_t,
8245 newv: *mut igraph_vector_complex_t,
8246 idx: *const igraph_vector_int_t,
8247 ) -> igraph_error_t;
8248}
8249unsafe extern "C" {
8250 pub fn igraph_vector_complex_index_in_place(
8251 v: *mut igraph_vector_complex_t,
8252 idx: *const igraph_vector_int_t,
8253 ) -> igraph_error_t;
8254}
8255unsafe extern "C" {
8256 pub fn igraph_vector_floor(
8257 from: *const igraph_vector_t,
8258 to: *mut igraph_vector_int_t,
8259 ) -> igraph_error_t;
8260}
8261unsafe extern "C" {
8262 pub fn igraph_vector_round(
8263 from: *const igraph_vector_t,
8264 to: *mut igraph_vector_int_t,
8265 ) -> igraph_error_t;
8266}
8267unsafe extern "C" {
8268 pub fn igraph_vector_all_almost_e(
8269 lhs: *const igraph_vector_t,
8270 rhs: *const igraph_vector_t,
8271 eps: igraph_real_t,
8272 ) -> igraph_bool_t;
8273}
8274unsafe extern "C" {
8275 pub fn igraph_vector_zapsmall(v: *mut igraph_vector_t, tol: igraph_real_t) -> igraph_error_t;
8276}
8277unsafe extern "C" {
8278 pub fn igraph_vector_complex_zapsmall(
8279 v: *mut igraph_vector_complex_t,
8280 tol: igraph_real_t,
8281 ) -> igraph_error_t;
8282}
8283unsafe extern "C" {
8284 pub fn igraph_vector_is_nan(
8285 v: *const igraph_vector_t,
8286 is_nan: *mut igraph_vector_bool_t,
8287 ) -> igraph_error_t;
8288}
8289unsafe extern "C" {
8290 pub fn igraph_vector_is_any_nan(v: *const igraph_vector_t) -> igraph_bool_t;
8291}
8292unsafe extern "C" {
8293 pub fn igraph_vector_is_all_finite(v: *const igraph_vector_t) -> igraph_bool_t;
8294}
8295unsafe extern "C" {
8296 pub fn igraph_vector_int_pair_order(
8297 v: *const igraph_vector_int_t,
8298 v2: *const igraph_vector_int_t,
8299 res: *mut igraph_vector_int_t,
8300 maxval: igraph_int_t,
8301 ) -> igraph_error_t;
8302}
8303unsafe extern "C" {
8304 pub fn igraph_i_vector_int_order(
8305 v: *const igraph_vector_int_t,
8306 res: *mut igraph_vector_int_t,
8307 maxval: igraph_int_t,
8308 ) -> igraph_error_t;
8309}
8310unsafe extern "C" {
8311 pub fn igraph_i_vector_int_rank(
8312 v: *const igraph_vector_int_t,
8313 res: *mut igraph_vector_int_t,
8314 maxval: igraph_int_t,
8315 ) -> igraph_error_t;
8316}
8317#[repr(C)]
8318#[derive(Debug, Copy, Clone)]
8319pub struct igraph_matrix_t {
8320 pub data: igraph_vector_t,
8321 pub nrow: igraph_int_t,
8322 pub ncol: igraph_int_t,
8323}
8324#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8325const _: () = {
8326 ["Size of igraph_matrix_t"][::std::mem::size_of::<igraph_matrix_t>() - 40usize];
8327 ["Alignment of igraph_matrix_t"][::std::mem::align_of::<igraph_matrix_t>() - 8usize];
8328 ["Offset of field: igraph_matrix_t::data"]
8329 [::std::mem::offset_of!(igraph_matrix_t, data) - 0usize];
8330 ["Offset of field: igraph_matrix_t::nrow"]
8331 [::std::mem::offset_of!(igraph_matrix_t, nrow) - 24usize];
8332 ["Offset of field: igraph_matrix_t::ncol"]
8333 [::std::mem::offset_of!(igraph_matrix_t, ncol) - 32usize];
8334};
8335unsafe extern "C" {
8336 pub fn igraph_matrix_init(
8337 m: *mut igraph_matrix_t,
8338 nrow: igraph_int_t,
8339 ncol: igraph_int_t,
8340 ) -> igraph_error_t;
8341}
8342unsafe extern "C" {
8343 pub fn igraph_matrix_init_array(
8344 m: *mut igraph_matrix_t,
8345 data: *const igraph_real_t,
8346 nrow: igraph_int_t,
8347 ncol: igraph_int_t,
8348 storage: igraph_matrix_storage_t,
8349 ) -> igraph_error_t;
8350}
8351unsafe extern "C" {
8352 pub fn igraph_matrix_init_copy(
8353 to: *mut igraph_matrix_t,
8354 from: *const igraph_matrix_t,
8355 ) -> igraph_error_t;
8356}
8357unsafe extern "C" {
8358 pub fn igraph_matrix_destroy(m: *mut igraph_matrix_t);
8359}
8360unsafe extern "C" {
8361 pub fn igraph_matrix_capacity(m: *const igraph_matrix_t) -> igraph_int_t;
8362}
8363unsafe extern "C" {
8364 pub fn igraph_matrix_get(
8365 m: *const igraph_matrix_t,
8366 row: igraph_int_t,
8367 col: igraph_int_t,
8368 ) -> igraph_real_t;
8369}
8370unsafe extern "C" {
8371 pub fn igraph_matrix_get_ptr(
8372 m: *const igraph_matrix_t,
8373 row: igraph_int_t,
8374 col: igraph_int_t,
8375 ) -> *mut igraph_real_t;
8376}
8377unsafe extern "C" {
8378 pub fn igraph_matrix_set(
8379 m: *mut igraph_matrix_t,
8380 row: igraph_int_t,
8381 col: igraph_int_t,
8382 value: igraph_real_t,
8383 );
8384}
8385unsafe extern "C" {
8386 pub fn igraph_matrix_null(m: *mut igraph_matrix_t);
8387}
8388unsafe extern "C" {
8389 pub fn igraph_matrix_fill(m: *mut igraph_matrix_t, e: igraph_real_t);
8390}
8391unsafe extern "C" {
8392 pub fn igraph_matrix_view(
8393 data: *const igraph_real_t,
8394 nrow: igraph_int_t,
8395 ncol: igraph_int_t,
8396 ) -> igraph_matrix_t;
8397}
8398unsafe extern "C" {
8399 pub fn igraph_matrix_view_from_vector(
8400 v: *const igraph_vector_t,
8401 ncol: igraph_int_t,
8402 ) -> igraph_matrix_t;
8403}
8404unsafe extern "C" {
8405 pub fn igraph_matrix_copy_to(
8406 m: *const igraph_matrix_t,
8407 to: *mut igraph_real_t,
8408 storage: igraph_matrix_storage_t,
8409 );
8410}
8411unsafe extern "C" {
8412 pub fn igraph_matrix_update(
8413 to: *mut igraph_matrix_t,
8414 from: *const igraph_matrix_t,
8415 ) -> igraph_error_t;
8416}
8417unsafe extern "C" {
8418 pub fn igraph_matrix_rbind(
8419 to: *mut igraph_matrix_t,
8420 from: *const igraph_matrix_t,
8421 ) -> igraph_error_t;
8422}
8423unsafe extern "C" {
8424 pub fn igraph_matrix_cbind(
8425 to: *mut igraph_matrix_t,
8426 from: *const igraph_matrix_t,
8427 ) -> igraph_error_t;
8428}
8429unsafe extern "C" {
8430 pub fn igraph_matrix_swap(m1: *mut igraph_matrix_t, m2: *mut igraph_matrix_t);
8431}
8432unsafe extern "C" {
8433 pub fn igraph_matrix_get_row(
8434 m: *const igraph_matrix_t,
8435 res: *mut igraph_vector_t,
8436 index: igraph_int_t,
8437 ) -> igraph_error_t;
8438}
8439unsafe extern "C" {
8440 pub fn igraph_matrix_get_col(
8441 m: *const igraph_matrix_t,
8442 res: *mut igraph_vector_t,
8443 index: igraph_int_t,
8444 ) -> igraph_error_t;
8445}
8446unsafe extern "C" {
8447 pub fn igraph_matrix_set_row(
8448 m: *mut igraph_matrix_t,
8449 v: *const igraph_vector_t,
8450 index: igraph_int_t,
8451 ) -> igraph_error_t;
8452}
8453unsafe extern "C" {
8454 pub fn igraph_matrix_set_col(
8455 m: *mut igraph_matrix_t,
8456 v: *const igraph_vector_t,
8457 index: igraph_int_t,
8458 ) -> igraph_error_t;
8459}
8460unsafe extern "C" {
8461 pub fn igraph_matrix_select_rows(
8462 m: *const igraph_matrix_t,
8463 res: *mut igraph_matrix_t,
8464 rows: *const igraph_vector_int_t,
8465 ) -> igraph_error_t;
8466}
8467unsafe extern "C" {
8468 pub fn igraph_matrix_select_cols(
8469 m: *const igraph_matrix_t,
8470 res: *mut igraph_matrix_t,
8471 cols: *const igraph_vector_int_t,
8472 ) -> igraph_error_t;
8473}
8474unsafe extern "C" {
8475 pub fn igraph_matrix_select_rows_cols(
8476 m: *const igraph_matrix_t,
8477 res: *mut igraph_matrix_t,
8478 rows: *const igraph_vector_int_t,
8479 cols: *const igraph_vector_int_t,
8480 ) -> igraph_error_t;
8481}
8482unsafe extern "C" {
8483 pub fn igraph_matrix_swap_rows(
8484 m: *mut igraph_matrix_t,
8485 i: igraph_int_t,
8486 j: igraph_int_t,
8487 ) -> igraph_error_t;
8488}
8489unsafe extern "C" {
8490 pub fn igraph_matrix_swap_cols(
8491 m: *mut igraph_matrix_t,
8492 i: igraph_int_t,
8493 j: igraph_int_t,
8494 ) -> igraph_error_t;
8495}
8496unsafe extern "C" {
8497 pub fn igraph_matrix_swap_rowcol(
8498 m: *mut igraph_matrix_t,
8499 i: igraph_int_t,
8500 j: igraph_int_t,
8501 ) -> igraph_error_t;
8502}
8503unsafe extern "C" {
8504 pub fn igraph_matrix_transpose(m: *mut igraph_matrix_t) -> igraph_error_t;
8505}
8506unsafe extern "C" {
8507 pub fn igraph_matrix_add(
8508 m1: *mut igraph_matrix_t,
8509 m2: *const igraph_matrix_t,
8510 ) -> igraph_error_t;
8511}
8512unsafe extern "C" {
8513 pub fn igraph_matrix_sub(
8514 m1: *mut igraph_matrix_t,
8515 m2: *const igraph_matrix_t,
8516 ) -> igraph_error_t;
8517}
8518unsafe extern "C" {
8519 pub fn igraph_matrix_mul_elements(
8520 m1: *mut igraph_matrix_t,
8521 m2: *const igraph_matrix_t,
8522 ) -> igraph_error_t;
8523}
8524unsafe extern "C" {
8525 pub fn igraph_matrix_div_elements(
8526 m1: *mut igraph_matrix_t,
8527 m2: *const igraph_matrix_t,
8528 ) -> igraph_error_t;
8529}
8530unsafe extern "C" {
8531 pub fn igraph_matrix_scale(m: *mut igraph_matrix_t, by: igraph_real_t);
8532}
8533unsafe extern "C" {
8534 pub fn igraph_matrix_add_constant(m: *mut igraph_matrix_t, plus: igraph_real_t);
8535}
8536unsafe extern "C" {
8537 pub fn igraph_matrix_min(m: *const igraph_matrix_t) -> igraph_real_t;
8538}
8539unsafe extern "C" {
8540 pub fn igraph_matrix_max(m: *const igraph_matrix_t) -> igraph_real_t;
8541}
8542unsafe extern "C" {
8543 pub fn igraph_matrix_which_min(
8544 m: *const igraph_matrix_t,
8545 i: *mut igraph_int_t,
8546 j: *mut igraph_int_t,
8547 );
8548}
8549unsafe extern "C" {
8550 pub fn igraph_matrix_which_max(
8551 m: *const igraph_matrix_t,
8552 i: *mut igraph_int_t,
8553 j: *mut igraph_int_t,
8554 );
8555}
8556unsafe extern "C" {
8557 pub fn igraph_matrix_minmax(
8558 m: *const igraph_matrix_t,
8559 min: *mut igraph_real_t,
8560 max: *mut igraph_real_t,
8561 );
8562}
8563unsafe extern "C" {
8564 pub fn igraph_matrix_which_minmax(
8565 m: *const igraph_matrix_t,
8566 imin: *mut igraph_int_t,
8567 jmin: *mut igraph_int_t,
8568 imax: *mut igraph_int_t,
8569 jmax: *mut igraph_int_t,
8570 );
8571}
8572unsafe extern "C" {
8573 pub fn igraph_matrix_all_e(
8574 lhs: *const igraph_matrix_t,
8575 rhs: *const igraph_matrix_t,
8576 ) -> igraph_bool_t;
8577}
8578unsafe extern "C" {
8579 pub fn igraph_matrix_all_l(
8580 lhs: *const igraph_matrix_t,
8581 rhs: *const igraph_matrix_t,
8582 ) -> igraph_bool_t;
8583}
8584unsafe extern "C" {
8585 pub fn igraph_matrix_all_g(
8586 lhs: *const igraph_matrix_t,
8587 rhs: *const igraph_matrix_t,
8588 ) -> igraph_bool_t;
8589}
8590unsafe extern "C" {
8591 pub fn igraph_matrix_all_le(
8592 lhs: *const igraph_matrix_t,
8593 rhs: *const igraph_matrix_t,
8594 ) -> igraph_bool_t;
8595}
8596unsafe extern "C" {
8597 pub fn igraph_matrix_all_ge(
8598 lhs: *const igraph_matrix_t,
8599 rhs: *const igraph_matrix_t,
8600 ) -> igraph_bool_t;
8601}
8602unsafe extern "C" {
8603 pub fn igraph_matrix_isnull(m: *const igraph_matrix_t) -> igraph_bool_t;
8604}
8605unsafe extern "C" {
8606 pub fn igraph_matrix_empty(m: *const igraph_matrix_t) -> igraph_bool_t;
8607}
8608unsafe extern "C" {
8609 pub fn igraph_matrix_size(m: *const igraph_matrix_t) -> igraph_int_t;
8610}
8611unsafe extern "C" {
8612 pub fn igraph_matrix_nrow(m: *const igraph_matrix_t) -> igraph_int_t;
8613}
8614unsafe extern "C" {
8615 pub fn igraph_matrix_ncol(m: *const igraph_matrix_t) -> igraph_int_t;
8616}
8617unsafe extern "C" {
8618 pub fn igraph_matrix_is_symmetric(m: *const igraph_matrix_t) -> igraph_bool_t;
8619}
8620unsafe extern "C" {
8621 pub fn igraph_matrix_sum(m: *const igraph_matrix_t) -> igraph_real_t;
8622}
8623unsafe extern "C" {
8624 pub fn igraph_matrix_prod(m: *const igraph_matrix_t) -> igraph_real_t;
8625}
8626unsafe extern "C" {
8627 pub fn igraph_matrix_rowsum(
8628 m: *const igraph_matrix_t,
8629 res: *mut igraph_vector_t,
8630 ) -> igraph_error_t;
8631}
8632unsafe extern "C" {
8633 pub fn igraph_matrix_colsum(
8634 m: *const igraph_matrix_t,
8635 res: *mut igraph_vector_t,
8636 ) -> igraph_error_t;
8637}
8638unsafe extern "C" {
8639 pub fn igraph_matrix_is_equal(
8640 m1: *const igraph_matrix_t,
8641 m2: *const igraph_matrix_t,
8642 ) -> igraph_bool_t;
8643}
8644unsafe extern "C" {
8645 pub fn igraph_matrix_maxdifference(
8646 m1: *const igraph_matrix_t,
8647 m2: *const igraph_matrix_t,
8648 ) -> igraph_real_t;
8649}
8650unsafe extern "C" {
8651 pub fn igraph_matrix_contains(m: *const igraph_matrix_t, e: igraph_real_t) -> igraph_bool_t;
8652}
8653unsafe extern "C" {
8654 pub fn igraph_matrix_search(
8655 m: *const igraph_matrix_t,
8656 from: igraph_int_t,
8657 what: igraph_real_t,
8658 pos: *mut igraph_int_t,
8659 row: *mut igraph_int_t,
8660 col: *mut igraph_int_t,
8661 ) -> igraph_bool_t;
8662}
8663unsafe extern "C" {
8664 pub fn igraph_matrix_resize(
8665 m: *mut igraph_matrix_t,
8666 nrow: igraph_int_t,
8667 ncol: igraph_int_t,
8668 ) -> igraph_error_t;
8669}
8670unsafe extern "C" {
8671 pub fn igraph_matrix_resize_min(m: *mut igraph_matrix_t);
8672}
8673unsafe extern "C" {
8674 pub fn igraph_matrix_add_cols(m: *mut igraph_matrix_t, n: igraph_int_t) -> igraph_error_t;
8675}
8676unsafe extern "C" {
8677 pub fn igraph_matrix_add_rows(m: *mut igraph_matrix_t, n: igraph_int_t) -> igraph_error_t;
8678}
8679unsafe extern "C" {
8680 pub fn igraph_matrix_remove_col(m: *mut igraph_matrix_t, col: igraph_int_t) -> igraph_error_t;
8681}
8682unsafe extern "C" {
8683 pub fn igraph_matrix_remove_row(m: *mut igraph_matrix_t, row: igraph_int_t) -> igraph_error_t;
8684}
8685unsafe extern "C" {
8686 pub fn igraph_matrix_print(m: *const igraph_matrix_t) -> igraph_error_t;
8687}
8688unsafe extern "C" {
8689 pub fn igraph_matrix_fprint(m: *const igraph_matrix_t, file: *mut FILE) -> igraph_error_t;
8690}
8691unsafe extern "C" {
8692 pub fn igraph_matrix_printf(
8693 m: *const igraph_matrix_t,
8694 format: *const ::std::os::raw::c_char,
8695 ) -> igraph_error_t;
8696}
8697unsafe extern "C" {
8698 pub fn igraph_matrix_permdelete_rows(
8699 m: *mut igraph_matrix_t,
8700 index: *mut igraph_int_t,
8701 nremove: igraph_int_t,
8702 ) -> igraph_error_t;
8703}
8704#[repr(C)]
8705#[derive(Debug, Clone)]
8706pub struct igraph_matrix_int_t {
8707 pub data: igraph_vector_int_t,
8708 pub nrow: igraph_int_t,
8709 pub ncol: igraph_int_t,
8710}
8711#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8712const _: () = {
8713 ["Size of igraph_matrix_int_t"][::std::mem::size_of::<igraph_matrix_int_t>() - 40usize];
8714 ["Alignment of igraph_matrix_int_t"][::std::mem::align_of::<igraph_matrix_int_t>() - 8usize];
8715 ["Offset of field: igraph_matrix_int_t::data"]
8716 [::std::mem::offset_of!(igraph_matrix_int_t, data) - 0usize];
8717 ["Offset of field: igraph_matrix_int_t::nrow"]
8718 [::std::mem::offset_of!(igraph_matrix_int_t, nrow) - 24usize];
8719 ["Offset of field: igraph_matrix_int_t::ncol"]
8720 [::std::mem::offset_of!(igraph_matrix_int_t, ncol) - 32usize];
8721};
8722unsafe extern "C" {
8723 pub fn igraph_matrix_int_init(
8724 m: *mut igraph_matrix_int_t,
8725 nrow: igraph_int_t,
8726 ncol: igraph_int_t,
8727 ) -> igraph_error_t;
8728}
8729unsafe extern "C" {
8730 pub fn igraph_matrix_int_init_array(
8731 m: *mut igraph_matrix_int_t,
8732 data: *const igraph_int_t,
8733 nrow: igraph_int_t,
8734 ncol: igraph_int_t,
8735 storage: igraph_matrix_storage_t,
8736 ) -> igraph_error_t;
8737}
8738unsafe extern "C" {
8739 pub fn igraph_matrix_int_init_copy(
8740 to: *mut igraph_matrix_int_t,
8741 from: *const igraph_matrix_int_t,
8742 ) -> igraph_error_t;
8743}
8744unsafe extern "C" {
8745 pub fn igraph_matrix_int_destroy(m: *mut igraph_matrix_int_t);
8746}
8747unsafe extern "C" {
8748 pub fn igraph_matrix_int_capacity(m: *const igraph_matrix_int_t) -> igraph_int_t;
8749}
8750unsafe extern "C" {
8751 pub fn igraph_matrix_int_get(
8752 m: *const igraph_matrix_int_t,
8753 row: igraph_int_t,
8754 col: igraph_int_t,
8755 ) -> igraph_int_t;
8756}
8757unsafe extern "C" {
8758 pub fn igraph_matrix_int_get_ptr(
8759 m: *const igraph_matrix_int_t,
8760 row: igraph_int_t,
8761 col: igraph_int_t,
8762 ) -> *mut igraph_int_t;
8763}
8764unsafe extern "C" {
8765 pub fn igraph_matrix_int_set(
8766 m: *mut igraph_matrix_int_t,
8767 row: igraph_int_t,
8768 col: igraph_int_t,
8769 value: igraph_int_t,
8770 );
8771}
8772unsafe extern "C" {
8773 pub fn igraph_matrix_int_null(m: *mut igraph_matrix_int_t);
8774}
8775unsafe extern "C" {
8776 pub fn igraph_matrix_int_fill(m: *mut igraph_matrix_int_t, e: igraph_int_t);
8777}
8778unsafe extern "C" {
8779 pub fn igraph_matrix_int_view(
8780 data: *const igraph_int_t,
8781 nrow: igraph_int_t,
8782 ncol: igraph_int_t,
8783 ) -> igraph_matrix_int_t;
8784}
8785unsafe extern "C" {
8786 pub fn igraph_matrix_int_view_from_vector(
8787 v: *const igraph_vector_int_t,
8788 ncol: igraph_int_t,
8789 ) -> igraph_matrix_int_t;
8790}
8791unsafe extern "C" {
8792 pub fn igraph_matrix_int_copy_to(
8793 m: *const igraph_matrix_int_t,
8794 to: *mut igraph_int_t,
8795 storage: igraph_matrix_storage_t,
8796 );
8797}
8798unsafe extern "C" {
8799 pub fn igraph_matrix_int_update(
8800 to: *mut igraph_matrix_int_t,
8801 from: *const igraph_matrix_int_t,
8802 ) -> igraph_error_t;
8803}
8804unsafe extern "C" {
8805 pub fn igraph_matrix_int_rbind(
8806 to: *mut igraph_matrix_int_t,
8807 from: *const igraph_matrix_int_t,
8808 ) -> igraph_error_t;
8809}
8810unsafe extern "C" {
8811 pub fn igraph_matrix_int_cbind(
8812 to: *mut igraph_matrix_int_t,
8813 from: *const igraph_matrix_int_t,
8814 ) -> igraph_error_t;
8815}
8816unsafe extern "C" {
8817 pub fn igraph_matrix_int_swap(m1: *mut igraph_matrix_int_t, m2: *mut igraph_matrix_int_t);
8818}
8819unsafe extern "C" {
8820 pub fn igraph_matrix_int_get_row(
8821 m: *const igraph_matrix_int_t,
8822 res: *mut igraph_vector_int_t,
8823 index: igraph_int_t,
8824 ) -> igraph_error_t;
8825}
8826unsafe extern "C" {
8827 pub fn igraph_matrix_int_get_col(
8828 m: *const igraph_matrix_int_t,
8829 res: *mut igraph_vector_int_t,
8830 index: igraph_int_t,
8831 ) -> igraph_error_t;
8832}
8833unsafe extern "C" {
8834 pub fn igraph_matrix_int_set_row(
8835 m: *mut igraph_matrix_int_t,
8836 v: *const igraph_vector_int_t,
8837 index: igraph_int_t,
8838 ) -> igraph_error_t;
8839}
8840unsafe extern "C" {
8841 pub fn igraph_matrix_int_set_col(
8842 m: *mut igraph_matrix_int_t,
8843 v: *const igraph_vector_int_t,
8844 index: igraph_int_t,
8845 ) -> igraph_error_t;
8846}
8847unsafe extern "C" {
8848 pub fn igraph_matrix_int_select_rows(
8849 m: *const igraph_matrix_int_t,
8850 res: *mut igraph_matrix_int_t,
8851 rows: *const igraph_vector_int_t,
8852 ) -> igraph_error_t;
8853}
8854unsafe extern "C" {
8855 pub fn igraph_matrix_int_select_cols(
8856 m: *const igraph_matrix_int_t,
8857 res: *mut igraph_matrix_int_t,
8858 cols: *const igraph_vector_int_t,
8859 ) -> igraph_error_t;
8860}
8861unsafe extern "C" {
8862 pub fn igraph_matrix_int_select_rows_cols(
8863 m: *const igraph_matrix_int_t,
8864 res: *mut igraph_matrix_int_t,
8865 rows: *const igraph_vector_int_t,
8866 cols: *const igraph_vector_int_t,
8867 ) -> igraph_error_t;
8868}
8869unsafe extern "C" {
8870 pub fn igraph_matrix_int_swap_rows(
8871 m: *mut igraph_matrix_int_t,
8872 i: igraph_int_t,
8873 j: igraph_int_t,
8874 ) -> igraph_error_t;
8875}
8876unsafe extern "C" {
8877 pub fn igraph_matrix_int_swap_cols(
8878 m: *mut igraph_matrix_int_t,
8879 i: igraph_int_t,
8880 j: igraph_int_t,
8881 ) -> igraph_error_t;
8882}
8883unsafe extern "C" {
8884 pub fn igraph_matrix_int_swap_rowcol(
8885 m: *mut igraph_matrix_int_t,
8886 i: igraph_int_t,
8887 j: igraph_int_t,
8888 ) -> igraph_error_t;
8889}
8890unsafe extern "C" {
8891 pub fn igraph_matrix_int_transpose(m: *mut igraph_matrix_int_t) -> igraph_error_t;
8892}
8893unsafe extern "C" {
8894 pub fn igraph_matrix_int_add(
8895 m1: *mut igraph_matrix_int_t,
8896 m2: *const igraph_matrix_int_t,
8897 ) -> igraph_error_t;
8898}
8899unsafe extern "C" {
8900 pub fn igraph_matrix_int_sub(
8901 m1: *mut igraph_matrix_int_t,
8902 m2: *const igraph_matrix_int_t,
8903 ) -> igraph_error_t;
8904}
8905unsafe extern "C" {
8906 pub fn igraph_matrix_int_mul_elements(
8907 m1: *mut igraph_matrix_int_t,
8908 m2: *const igraph_matrix_int_t,
8909 ) -> igraph_error_t;
8910}
8911unsafe extern "C" {
8912 pub fn igraph_matrix_int_div_elements(
8913 m1: *mut igraph_matrix_int_t,
8914 m2: *const igraph_matrix_int_t,
8915 ) -> igraph_error_t;
8916}
8917unsafe extern "C" {
8918 pub fn igraph_matrix_int_scale(m: *mut igraph_matrix_int_t, by: igraph_int_t);
8919}
8920unsafe extern "C" {
8921 pub fn igraph_matrix_int_add_constant(m: *mut igraph_matrix_int_t, plus: igraph_int_t);
8922}
8923unsafe extern "C" {
8924 pub fn igraph_matrix_int_min(m: *const igraph_matrix_int_t) -> igraph_real_t;
8925}
8926unsafe extern "C" {
8927 pub fn igraph_matrix_int_max(m: *const igraph_matrix_int_t) -> igraph_real_t;
8928}
8929unsafe extern "C" {
8930 pub fn igraph_matrix_int_which_min(
8931 m: *const igraph_matrix_int_t,
8932 i: *mut igraph_int_t,
8933 j: *mut igraph_int_t,
8934 );
8935}
8936unsafe extern "C" {
8937 pub fn igraph_matrix_int_which_max(
8938 m: *const igraph_matrix_int_t,
8939 i: *mut igraph_int_t,
8940 j: *mut igraph_int_t,
8941 );
8942}
8943unsafe extern "C" {
8944 pub fn igraph_matrix_int_minmax(
8945 m: *const igraph_matrix_int_t,
8946 min: *mut igraph_int_t,
8947 max: *mut igraph_int_t,
8948 );
8949}
8950unsafe extern "C" {
8951 pub fn igraph_matrix_int_which_minmax(
8952 m: *const igraph_matrix_int_t,
8953 imin: *mut igraph_int_t,
8954 jmin: *mut igraph_int_t,
8955 imax: *mut igraph_int_t,
8956 jmax: *mut igraph_int_t,
8957 );
8958}
8959unsafe extern "C" {
8960 pub fn igraph_matrix_int_all_e(
8961 lhs: *const igraph_matrix_int_t,
8962 rhs: *const igraph_matrix_int_t,
8963 ) -> igraph_bool_t;
8964}
8965unsafe extern "C" {
8966 pub fn igraph_matrix_int_all_l(
8967 lhs: *const igraph_matrix_int_t,
8968 rhs: *const igraph_matrix_int_t,
8969 ) -> igraph_bool_t;
8970}
8971unsafe extern "C" {
8972 pub fn igraph_matrix_int_all_g(
8973 lhs: *const igraph_matrix_int_t,
8974 rhs: *const igraph_matrix_int_t,
8975 ) -> igraph_bool_t;
8976}
8977unsafe extern "C" {
8978 pub fn igraph_matrix_int_all_le(
8979 lhs: *const igraph_matrix_int_t,
8980 rhs: *const igraph_matrix_int_t,
8981 ) -> igraph_bool_t;
8982}
8983unsafe extern "C" {
8984 pub fn igraph_matrix_int_all_ge(
8985 lhs: *const igraph_matrix_int_t,
8986 rhs: *const igraph_matrix_int_t,
8987 ) -> igraph_bool_t;
8988}
8989unsafe extern "C" {
8990 pub fn igraph_matrix_int_isnull(m: *const igraph_matrix_int_t) -> igraph_bool_t;
8991}
8992unsafe extern "C" {
8993 pub fn igraph_matrix_int_empty(m: *const igraph_matrix_int_t) -> igraph_bool_t;
8994}
8995unsafe extern "C" {
8996 pub fn igraph_matrix_int_size(m: *const igraph_matrix_int_t) -> igraph_int_t;
8997}
8998unsafe extern "C" {
8999 pub fn igraph_matrix_int_nrow(m: *const igraph_matrix_int_t) -> igraph_int_t;
9000}
9001unsafe extern "C" {
9002 pub fn igraph_matrix_int_ncol(m: *const igraph_matrix_int_t) -> igraph_int_t;
9003}
9004unsafe extern "C" {
9005 pub fn igraph_matrix_int_is_symmetric(m: *const igraph_matrix_int_t) -> igraph_bool_t;
9006}
9007unsafe extern "C" {
9008 pub fn igraph_matrix_int_sum(m: *const igraph_matrix_int_t) -> igraph_int_t;
9009}
9010unsafe extern "C" {
9011 pub fn igraph_matrix_int_prod(m: *const igraph_matrix_int_t) -> igraph_int_t;
9012}
9013unsafe extern "C" {
9014 pub fn igraph_matrix_int_rowsum(
9015 m: *const igraph_matrix_int_t,
9016 res: *mut igraph_vector_int_t,
9017 ) -> igraph_error_t;
9018}
9019unsafe extern "C" {
9020 pub fn igraph_matrix_int_colsum(
9021 m: *const igraph_matrix_int_t,
9022 res: *mut igraph_vector_int_t,
9023 ) -> igraph_error_t;
9024}
9025unsafe extern "C" {
9026 pub fn igraph_matrix_int_is_equal(
9027 m1: *const igraph_matrix_int_t,
9028 m2: *const igraph_matrix_int_t,
9029 ) -> igraph_bool_t;
9030}
9031unsafe extern "C" {
9032 pub fn igraph_matrix_int_maxdifference(
9033 m1: *const igraph_matrix_int_t,
9034 m2: *const igraph_matrix_int_t,
9035 ) -> igraph_real_t;
9036}
9037unsafe extern "C" {
9038 pub fn igraph_matrix_int_contains(
9039 m: *const igraph_matrix_int_t,
9040 e: igraph_int_t,
9041 ) -> igraph_bool_t;
9042}
9043unsafe extern "C" {
9044 pub fn igraph_matrix_int_search(
9045 m: *const igraph_matrix_int_t,
9046 from: igraph_int_t,
9047 what: igraph_int_t,
9048 pos: *mut igraph_int_t,
9049 row: *mut igraph_int_t,
9050 col: *mut igraph_int_t,
9051 ) -> igraph_bool_t;
9052}
9053unsafe extern "C" {
9054 pub fn igraph_matrix_int_resize(
9055 m: *mut igraph_matrix_int_t,
9056 nrow: igraph_int_t,
9057 ncol: igraph_int_t,
9058 ) -> igraph_error_t;
9059}
9060unsafe extern "C" {
9061 pub fn igraph_matrix_int_resize_min(m: *mut igraph_matrix_int_t);
9062}
9063unsafe extern "C" {
9064 pub fn igraph_matrix_int_add_cols(
9065 m: *mut igraph_matrix_int_t,
9066 n: igraph_int_t,
9067 ) -> igraph_error_t;
9068}
9069unsafe extern "C" {
9070 pub fn igraph_matrix_int_add_rows(
9071 m: *mut igraph_matrix_int_t,
9072 n: igraph_int_t,
9073 ) -> igraph_error_t;
9074}
9075unsafe extern "C" {
9076 pub fn igraph_matrix_int_remove_col(
9077 m: *mut igraph_matrix_int_t,
9078 col: igraph_int_t,
9079 ) -> igraph_error_t;
9080}
9081unsafe extern "C" {
9082 pub fn igraph_matrix_int_remove_row(
9083 m: *mut igraph_matrix_int_t,
9084 row: igraph_int_t,
9085 ) -> igraph_error_t;
9086}
9087unsafe extern "C" {
9088 pub fn igraph_matrix_int_print(m: *const igraph_matrix_int_t) -> igraph_error_t;
9089}
9090unsafe extern "C" {
9091 pub fn igraph_matrix_int_fprint(
9092 m: *const igraph_matrix_int_t,
9093 file: *mut FILE,
9094 ) -> igraph_error_t;
9095}
9096unsafe extern "C" {
9097 pub fn igraph_matrix_int_printf(
9098 m: *const igraph_matrix_int_t,
9099 format: *const ::std::os::raw::c_char,
9100 ) -> igraph_error_t;
9101}
9102unsafe extern "C" {
9103 pub fn igraph_matrix_int_permdelete_rows(
9104 m: *mut igraph_matrix_int_t,
9105 index: *mut igraph_int_t,
9106 nremove: igraph_int_t,
9107 ) -> igraph_error_t;
9108}
9109#[repr(C)]
9110#[derive(Debug, Copy, Clone)]
9111pub struct igraph_matrix_char_t {
9112 pub data: igraph_vector_char_t,
9113 pub nrow: igraph_int_t,
9114 pub ncol: igraph_int_t,
9115}
9116#[allow(clippy::unnecessary_operation, clippy::identity_op)]
9117const _: () = {
9118 ["Size of igraph_matrix_char_t"][::std::mem::size_of::<igraph_matrix_char_t>() - 40usize];
9119 ["Alignment of igraph_matrix_char_t"][::std::mem::align_of::<igraph_matrix_char_t>() - 8usize];
9120 ["Offset of field: igraph_matrix_char_t::data"]
9121 [::std::mem::offset_of!(igraph_matrix_char_t, data) - 0usize];
9122 ["Offset of field: igraph_matrix_char_t::nrow"]
9123 [::std::mem::offset_of!(igraph_matrix_char_t, nrow) - 24usize];
9124 ["Offset of field: igraph_matrix_char_t::ncol"]
9125 [::std::mem::offset_of!(igraph_matrix_char_t, ncol) - 32usize];
9126};
9127unsafe extern "C" {
9128 pub fn igraph_matrix_char_init(
9129 m: *mut igraph_matrix_char_t,
9130 nrow: igraph_int_t,
9131 ncol: igraph_int_t,
9132 ) -> igraph_error_t;
9133}
9134unsafe extern "C" {
9135 pub fn igraph_matrix_char_init_array(
9136 m: *mut igraph_matrix_char_t,
9137 data: *const ::std::os::raw::c_char,
9138 nrow: igraph_int_t,
9139 ncol: igraph_int_t,
9140 storage: igraph_matrix_storage_t,
9141 ) -> igraph_error_t;
9142}
9143unsafe extern "C" {
9144 pub fn igraph_matrix_char_init_copy(
9145 to: *mut igraph_matrix_char_t,
9146 from: *const igraph_matrix_char_t,
9147 ) -> igraph_error_t;
9148}
9149unsafe extern "C" {
9150 pub fn igraph_matrix_char_destroy(m: *mut igraph_matrix_char_t);
9151}
9152unsafe extern "C" {
9153 pub fn igraph_matrix_char_capacity(m: *const igraph_matrix_char_t) -> igraph_int_t;
9154}
9155unsafe extern "C" {
9156 pub fn igraph_matrix_char_get(
9157 m: *const igraph_matrix_char_t,
9158 row: igraph_int_t,
9159 col: igraph_int_t,
9160 ) -> ::std::os::raw::c_char;
9161}
9162unsafe extern "C" {
9163 pub fn igraph_matrix_char_get_ptr(
9164 m: *const igraph_matrix_char_t,
9165 row: igraph_int_t,
9166 col: igraph_int_t,
9167 ) -> *mut ::std::os::raw::c_char;
9168}
9169unsafe extern "C" {
9170 pub fn igraph_matrix_char_set(
9171 m: *mut igraph_matrix_char_t,
9172 row: igraph_int_t,
9173 col: igraph_int_t,
9174 value: ::std::os::raw::c_char,
9175 );
9176}
9177unsafe extern "C" {
9178 pub fn igraph_matrix_char_null(m: *mut igraph_matrix_char_t);
9179}
9180unsafe extern "C" {
9181 pub fn igraph_matrix_char_fill(m: *mut igraph_matrix_char_t, e: ::std::os::raw::c_char);
9182}
9183unsafe extern "C" {
9184 pub fn igraph_matrix_char_view(
9185 data: *const ::std::os::raw::c_char,
9186 nrow: igraph_int_t,
9187 ncol: igraph_int_t,
9188 ) -> igraph_matrix_char_t;
9189}
9190unsafe extern "C" {
9191 pub fn igraph_matrix_char_view_from_vector(
9192 v: *const igraph_vector_char_t,
9193 ncol: igraph_int_t,
9194 ) -> igraph_matrix_char_t;
9195}
9196unsafe extern "C" {
9197 pub fn igraph_matrix_char_copy_to(
9198 m: *const igraph_matrix_char_t,
9199 to: *mut ::std::os::raw::c_char,
9200 storage: igraph_matrix_storage_t,
9201 );
9202}
9203unsafe extern "C" {
9204 pub fn igraph_matrix_char_update(
9205 to: *mut igraph_matrix_char_t,
9206 from: *const igraph_matrix_char_t,
9207 ) -> igraph_error_t;
9208}
9209unsafe extern "C" {
9210 pub fn igraph_matrix_char_rbind(
9211 to: *mut igraph_matrix_char_t,
9212 from: *const igraph_matrix_char_t,
9213 ) -> igraph_error_t;
9214}
9215unsafe extern "C" {
9216 pub fn igraph_matrix_char_cbind(
9217 to: *mut igraph_matrix_char_t,
9218 from: *const igraph_matrix_char_t,
9219 ) -> igraph_error_t;
9220}
9221unsafe extern "C" {
9222 pub fn igraph_matrix_char_swap(m1: *mut igraph_matrix_char_t, m2: *mut igraph_matrix_char_t);
9223}
9224unsafe extern "C" {
9225 pub fn igraph_matrix_char_get_row(
9226 m: *const igraph_matrix_char_t,
9227 res: *mut igraph_vector_char_t,
9228 index: igraph_int_t,
9229 ) -> igraph_error_t;
9230}
9231unsafe extern "C" {
9232 pub fn igraph_matrix_char_get_col(
9233 m: *const igraph_matrix_char_t,
9234 res: *mut igraph_vector_char_t,
9235 index: igraph_int_t,
9236 ) -> igraph_error_t;
9237}
9238unsafe extern "C" {
9239 pub fn igraph_matrix_char_set_row(
9240 m: *mut igraph_matrix_char_t,
9241 v: *const igraph_vector_char_t,
9242 index: igraph_int_t,
9243 ) -> igraph_error_t;
9244}
9245unsafe extern "C" {
9246 pub fn igraph_matrix_char_set_col(
9247 m: *mut igraph_matrix_char_t,
9248 v: *const igraph_vector_char_t,
9249 index: igraph_int_t,
9250 ) -> igraph_error_t;
9251}
9252unsafe extern "C" {
9253 pub fn igraph_matrix_char_select_rows(
9254 m: *const igraph_matrix_char_t,
9255 res: *mut igraph_matrix_char_t,
9256 rows: *const igraph_vector_int_t,
9257 ) -> igraph_error_t;
9258}
9259unsafe extern "C" {
9260 pub fn igraph_matrix_char_select_cols(
9261 m: *const igraph_matrix_char_t,
9262 res: *mut igraph_matrix_char_t,
9263 cols: *const igraph_vector_int_t,
9264 ) -> igraph_error_t;
9265}
9266unsafe extern "C" {
9267 pub fn igraph_matrix_char_select_rows_cols(
9268 m: *const igraph_matrix_char_t,
9269 res: *mut igraph_matrix_char_t,
9270 rows: *const igraph_vector_int_t,
9271 cols: *const igraph_vector_int_t,
9272 ) -> igraph_error_t;
9273}
9274unsafe extern "C" {
9275 pub fn igraph_matrix_char_swap_rows(
9276 m: *mut igraph_matrix_char_t,
9277 i: igraph_int_t,
9278 j: igraph_int_t,
9279 ) -> igraph_error_t;
9280}
9281unsafe extern "C" {
9282 pub fn igraph_matrix_char_swap_cols(
9283 m: *mut igraph_matrix_char_t,
9284 i: igraph_int_t,
9285 j: igraph_int_t,
9286 ) -> igraph_error_t;
9287}
9288unsafe extern "C" {
9289 pub fn igraph_matrix_char_swap_rowcol(
9290 m: *mut igraph_matrix_char_t,
9291 i: igraph_int_t,
9292 j: igraph_int_t,
9293 ) -> igraph_error_t;
9294}
9295unsafe extern "C" {
9296 pub fn igraph_matrix_char_transpose(m: *mut igraph_matrix_char_t) -> igraph_error_t;
9297}
9298unsafe extern "C" {
9299 pub fn igraph_matrix_char_add(
9300 m1: *mut igraph_matrix_char_t,
9301 m2: *const igraph_matrix_char_t,
9302 ) -> igraph_error_t;
9303}
9304unsafe extern "C" {
9305 pub fn igraph_matrix_char_sub(
9306 m1: *mut igraph_matrix_char_t,
9307 m2: *const igraph_matrix_char_t,
9308 ) -> igraph_error_t;
9309}
9310unsafe extern "C" {
9311 pub fn igraph_matrix_char_mul_elements(
9312 m1: *mut igraph_matrix_char_t,
9313 m2: *const igraph_matrix_char_t,
9314 ) -> igraph_error_t;
9315}
9316unsafe extern "C" {
9317 pub fn igraph_matrix_char_div_elements(
9318 m1: *mut igraph_matrix_char_t,
9319 m2: *const igraph_matrix_char_t,
9320 ) -> igraph_error_t;
9321}
9322unsafe extern "C" {
9323 pub fn igraph_matrix_char_scale(m: *mut igraph_matrix_char_t, by: ::std::os::raw::c_char);
9324}
9325unsafe extern "C" {
9326 pub fn igraph_matrix_char_add_constant(
9327 m: *mut igraph_matrix_char_t,
9328 plus: ::std::os::raw::c_char,
9329 );
9330}
9331unsafe extern "C" {
9332 pub fn igraph_matrix_char_min(m: *const igraph_matrix_char_t) -> igraph_real_t;
9333}
9334unsafe extern "C" {
9335 pub fn igraph_matrix_char_max(m: *const igraph_matrix_char_t) -> igraph_real_t;
9336}
9337unsafe extern "C" {
9338 pub fn igraph_matrix_char_which_min(
9339 m: *const igraph_matrix_char_t,
9340 i: *mut igraph_int_t,
9341 j: *mut igraph_int_t,
9342 );
9343}
9344unsafe extern "C" {
9345 pub fn igraph_matrix_char_which_max(
9346 m: *const igraph_matrix_char_t,
9347 i: *mut igraph_int_t,
9348 j: *mut igraph_int_t,
9349 );
9350}
9351unsafe extern "C" {
9352 pub fn igraph_matrix_char_minmax(
9353 m: *const igraph_matrix_char_t,
9354 min: *mut ::std::os::raw::c_char,
9355 max: *mut ::std::os::raw::c_char,
9356 );
9357}
9358unsafe extern "C" {
9359 pub fn igraph_matrix_char_which_minmax(
9360 m: *const igraph_matrix_char_t,
9361 imin: *mut igraph_int_t,
9362 jmin: *mut igraph_int_t,
9363 imax: *mut igraph_int_t,
9364 jmax: *mut igraph_int_t,
9365 );
9366}
9367unsafe extern "C" {
9368 pub fn igraph_matrix_char_all_e(
9369 lhs: *const igraph_matrix_char_t,
9370 rhs: *const igraph_matrix_char_t,
9371 ) -> igraph_bool_t;
9372}
9373unsafe extern "C" {
9374 pub fn igraph_matrix_char_all_l(
9375 lhs: *const igraph_matrix_char_t,
9376 rhs: *const igraph_matrix_char_t,
9377 ) -> igraph_bool_t;
9378}
9379unsafe extern "C" {
9380 pub fn igraph_matrix_char_all_g(
9381 lhs: *const igraph_matrix_char_t,
9382 rhs: *const igraph_matrix_char_t,
9383 ) -> igraph_bool_t;
9384}
9385unsafe extern "C" {
9386 pub fn igraph_matrix_char_all_le(
9387 lhs: *const igraph_matrix_char_t,
9388 rhs: *const igraph_matrix_char_t,
9389 ) -> igraph_bool_t;
9390}
9391unsafe extern "C" {
9392 pub fn igraph_matrix_char_all_ge(
9393 lhs: *const igraph_matrix_char_t,
9394 rhs: *const igraph_matrix_char_t,
9395 ) -> igraph_bool_t;
9396}
9397unsafe extern "C" {
9398 pub fn igraph_matrix_char_isnull(m: *const igraph_matrix_char_t) -> igraph_bool_t;
9399}
9400unsafe extern "C" {
9401 pub fn igraph_matrix_char_empty(m: *const igraph_matrix_char_t) -> igraph_bool_t;
9402}
9403unsafe extern "C" {
9404 pub fn igraph_matrix_char_size(m: *const igraph_matrix_char_t) -> igraph_int_t;
9405}
9406unsafe extern "C" {
9407 pub fn igraph_matrix_char_nrow(m: *const igraph_matrix_char_t) -> igraph_int_t;
9408}
9409unsafe extern "C" {
9410 pub fn igraph_matrix_char_ncol(m: *const igraph_matrix_char_t) -> igraph_int_t;
9411}
9412unsafe extern "C" {
9413 pub fn igraph_matrix_char_is_symmetric(m: *const igraph_matrix_char_t) -> igraph_bool_t;
9414}
9415unsafe extern "C" {
9416 pub fn igraph_matrix_char_sum(m: *const igraph_matrix_char_t) -> ::std::os::raw::c_char;
9417}
9418unsafe extern "C" {
9419 pub fn igraph_matrix_char_prod(m: *const igraph_matrix_char_t) -> ::std::os::raw::c_char;
9420}
9421unsafe extern "C" {
9422 pub fn igraph_matrix_char_rowsum(
9423 m: *const igraph_matrix_char_t,
9424 res: *mut igraph_vector_char_t,
9425 ) -> igraph_error_t;
9426}
9427unsafe extern "C" {
9428 pub fn igraph_matrix_char_colsum(
9429 m: *const igraph_matrix_char_t,
9430 res: *mut igraph_vector_char_t,
9431 ) -> igraph_error_t;
9432}
9433unsafe extern "C" {
9434 pub fn igraph_matrix_char_is_equal(
9435 m1: *const igraph_matrix_char_t,
9436 m2: *const igraph_matrix_char_t,
9437 ) -> igraph_bool_t;
9438}
9439unsafe extern "C" {
9440 pub fn igraph_matrix_char_maxdifference(
9441 m1: *const igraph_matrix_char_t,
9442 m2: *const igraph_matrix_char_t,
9443 ) -> igraph_real_t;
9444}
9445unsafe extern "C" {
9446 pub fn igraph_matrix_char_contains(
9447 m: *const igraph_matrix_char_t,
9448 e: ::std::os::raw::c_char,
9449 ) -> igraph_bool_t;
9450}
9451unsafe extern "C" {
9452 pub fn igraph_matrix_char_search(
9453 m: *const igraph_matrix_char_t,
9454 from: igraph_int_t,
9455 what: ::std::os::raw::c_char,
9456 pos: *mut igraph_int_t,
9457 row: *mut igraph_int_t,
9458 col: *mut igraph_int_t,
9459 ) -> igraph_bool_t;
9460}
9461unsafe extern "C" {
9462 pub fn igraph_matrix_char_resize(
9463 m: *mut igraph_matrix_char_t,
9464 nrow: igraph_int_t,
9465 ncol: igraph_int_t,
9466 ) -> igraph_error_t;
9467}
9468unsafe extern "C" {
9469 pub fn igraph_matrix_char_resize_min(m: *mut igraph_matrix_char_t);
9470}
9471unsafe extern "C" {
9472 pub fn igraph_matrix_char_add_cols(
9473 m: *mut igraph_matrix_char_t,
9474 n: igraph_int_t,
9475 ) -> igraph_error_t;
9476}
9477unsafe extern "C" {
9478 pub fn igraph_matrix_char_add_rows(
9479 m: *mut igraph_matrix_char_t,
9480 n: igraph_int_t,
9481 ) -> igraph_error_t;
9482}
9483unsafe extern "C" {
9484 pub fn igraph_matrix_char_remove_col(
9485 m: *mut igraph_matrix_char_t,
9486 col: igraph_int_t,
9487 ) -> igraph_error_t;
9488}
9489unsafe extern "C" {
9490 pub fn igraph_matrix_char_remove_row(
9491 m: *mut igraph_matrix_char_t,
9492 row: igraph_int_t,
9493 ) -> igraph_error_t;
9494}
9495unsafe extern "C" {
9496 pub fn igraph_matrix_char_print(m: *const igraph_matrix_char_t) -> igraph_error_t;
9497}
9498unsafe extern "C" {
9499 pub fn igraph_matrix_char_fprint(
9500 m: *const igraph_matrix_char_t,
9501 file: *mut FILE,
9502 ) -> igraph_error_t;
9503}
9504unsafe extern "C" {
9505 pub fn igraph_matrix_char_printf(
9506 m: *const igraph_matrix_char_t,
9507 format: *const ::std::os::raw::c_char,
9508 ) -> igraph_error_t;
9509}
9510unsafe extern "C" {
9511 pub fn igraph_matrix_char_permdelete_rows(
9512 m: *mut igraph_matrix_char_t,
9513 index: *mut igraph_int_t,
9514 nremove: igraph_int_t,
9515 ) -> igraph_error_t;
9516}
9517#[repr(C)]
9518#[derive(Debug, Copy, Clone)]
9519pub struct igraph_matrix_bool_t {
9520 pub data: igraph_vector_bool_t,
9521 pub nrow: igraph_int_t,
9522 pub ncol: igraph_int_t,
9523}
9524#[allow(clippy::unnecessary_operation, clippy::identity_op)]
9525const _: () = {
9526 ["Size of igraph_matrix_bool_t"][::std::mem::size_of::<igraph_matrix_bool_t>() - 40usize];
9527 ["Alignment of igraph_matrix_bool_t"][::std::mem::align_of::<igraph_matrix_bool_t>() - 8usize];
9528 ["Offset of field: igraph_matrix_bool_t::data"]
9529 [::std::mem::offset_of!(igraph_matrix_bool_t, data) - 0usize];
9530 ["Offset of field: igraph_matrix_bool_t::nrow"]
9531 [::std::mem::offset_of!(igraph_matrix_bool_t, nrow) - 24usize];
9532 ["Offset of field: igraph_matrix_bool_t::ncol"]
9533 [::std::mem::offset_of!(igraph_matrix_bool_t, ncol) - 32usize];
9534};
9535unsafe extern "C" {
9536 pub fn igraph_matrix_bool_init(
9537 m: *mut igraph_matrix_bool_t,
9538 nrow: igraph_int_t,
9539 ncol: igraph_int_t,
9540 ) -> igraph_error_t;
9541}
9542unsafe extern "C" {
9543 pub fn igraph_matrix_bool_init_array(
9544 m: *mut igraph_matrix_bool_t,
9545 data: *const igraph_bool_t,
9546 nrow: igraph_int_t,
9547 ncol: igraph_int_t,
9548 storage: igraph_matrix_storage_t,
9549 ) -> igraph_error_t;
9550}
9551unsafe extern "C" {
9552 pub fn igraph_matrix_bool_init_copy(
9553 to: *mut igraph_matrix_bool_t,
9554 from: *const igraph_matrix_bool_t,
9555 ) -> igraph_error_t;
9556}
9557unsafe extern "C" {
9558 pub fn igraph_matrix_bool_destroy(m: *mut igraph_matrix_bool_t);
9559}
9560unsafe extern "C" {
9561 pub fn igraph_matrix_bool_capacity(m: *const igraph_matrix_bool_t) -> igraph_int_t;
9562}
9563unsafe extern "C" {
9564 pub fn igraph_matrix_bool_get(
9565 m: *const igraph_matrix_bool_t,
9566 row: igraph_int_t,
9567 col: igraph_int_t,
9568 ) -> igraph_bool_t;
9569}
9570unsafe extern "C" {
9571 pub fn igraph_matrix_bool_get_ptr(
9572 m: *const igraph_matrix_bool_t,
9573 row: igraph_int_t,
9574 col: igraph_int_t,
9575 ) -> *mut igraph_bool_t;
9576}
9577unsafe extern "C" {
9578 pub fn igraph_matrix_bool_set(
9579 m: *mut igraph_matrix_bool_t,
9580 row: igraph_int_t,
9581 col: igraph_int_t,
9582 value: igraph_bool_t,
9583 );
9584}
9585unsafe extern "C" {
9586 pub fn igraph_matrix_bool_null(m: *mut igraph_matrix_bool_t);
9587}
9588unsafe extern "C" {
9589 pub fn igraph_matrix_bool_fill(m: *mut igraph_matrix_bool_t, e: igraph_bool_t);
9590}
9591unsafe extern "C" {
9592 pub fn igraph_matrix_bool_view(
9593 data: *const igraph_bool_t,
9594 nrow: igraph_int_t,
9595 ncol: igraph_int_t,
9596 ) -> igraph_matrix_bool_t;
9597}
9598unsafe extern "C" {
9599 pub fn igraph_matrix_bool_view_from_vector(
9600 v: *const igraph_vector_bool_t,
9601 ncol: igraph_int_t,
9602 ) -> igraph_matrix_bool_t;
9603}
9604unsafe extern "C" {
9605 pub fn igraph_matrix_bool_copy_to(
9606 m: *const igraph_matrix_bool_t,
9607 to: *mut igraph_bool_t,
9608 storage: igraph_matrix_storage_t,
9609 );
9610}
9611unsafe extern "C" {
9612 pub fn igraph_matrix_bool_update(
9613 to: *mut igraph_matrix_bool_t,
9614 from: *const igraph_matrix_bool_t,
9615 ) -> igraph_error_t;
9616}
9617unsafe extern "C" {
9618 pub fn igraph_matrix_bool_rbind(
9619 to: *mut igraph_matrix_bool_t,
9620 from: *const igraph_matrix_bool_t,
9621 ) -> igraph_error_t;
9622}
9623unsafe extern "C" {
9624 pub fn igraph_matrix_bool_cbind(
9625 to: *mut igraph_matrix_bool_t,
9626 from: *const igraph_matrix_bool_t,
9627 ) -> igraph_error_t;
9628}
9629unsafe extern "C" {
9630 pub fn igraph_matrix_bool_swap(m1: *mut igraph_matrix_bool_t, m2: *mut igraph_matrix_bool_t);
9631}
9632unsafe extern "C" {
9633 pub fn igraph_matrix_bool_get_row(
9634 m: *const igraph_matrix_bool_t,
9635 res: *mut igraph_vector_bool_t,
9636 index: igraph_int_t,
9637 ) -> igraph_error_t;
9638}
9639unsafe extern "C" {
9640 pub fn igraph_matrix_bool_get_col(
9641 m: *const igraph_matrix_bool_t,
9642 res: *mut igraph_vector_bool_t,
9643 index: igraph_int_t,
9644 ) -> igraph_error_t;
9645}
9646unsafe extern "C" {
9647 pub fn igraph_matrix_bool_set_row(
9648 m: *mut igraph_matrix_bool_t,
9649 v: *const igraph_vector_bool_t,
9650 index: igraph_int_t,
9651 ) -> igraph_error_t;
9652}
9653unsafe extern "C" {
9654 pub fn igraph_matrix_bool_set_col(
9655 m: *mut igraph_matrix_bool_t,
9656 v: *const igraph_vector_bool_t,
9657 index: igraph_int_t,
9658 ) -> igraph_error_t;
9659}
9660unsafe extern "C" {
9661 pub fn igraph_matrix_bool_select_rows(
9662 m: *const igraph_matrix_bool_t,
9663 res: *mut igraph_matrix_bool_t,
9664 rows: *const igraph_vector_int_t,
9665 ) -> igraph_error_t;
9666}
9667unsafe extern "C" {
9668 pub fn igraph_matrix_bool_select_cols(
9669 m: *const igraph_matrix_bool_t,
9670 res: *mut igraph_matrix_bool_t,
9671 cols: *const igraph_vector_int_t,
9672 ) -> igraph_error_t;
9673}
9674unsafe extern "C" {
9675 pub fn igraph_matrix_bool_select_rows_cols(
9676 m: *const igraph_matrix_bool_t,
9677 res: *mut igraph_matrix_bool_t,
9678 rows: *const igraph_vector_int_t,
9679 cols: *const igraph_vector_int_t,
9680 ) -> igraph_error_t;
9681}
9682unsafe extern "C" {
9683 pub fn igraph_matrix_bool_swap_rows(
9684 m: *mut igraph_matrix_bool_t,
9685 i: igraph_int_t,
9686 j: igraph_int_t,
9687 ) -> igraph_error_t;
9688}
9689unsafe extern "C" {
9690 pub fn igraph_matrix_bool_swap_cols(
9691 m: *mut igraph_matrix_bool_t,
9692 i: igraph_int_t,
9693 j: igraph_int_t,
9694 ) -> igraph_error_t;
9695}
9696unsafe extern "C" {
9697 pub fn igraph_matrix_bool_swap_rowcol(
9698 m: *mut igraph_matrix_bool_t,
9699 i: igraph_int_t,
9700 j: igraph_int_t,
9701 ) -> igraph_error_t;
9702}
9703unsafe extern "C" {
9704 pub fn igraph_matrix_bool_transpose(m: *mut igraph_matrix_bool_t) -> igraph_error_t;
9705}
9706unsafe extern "C" {
9707 pub fn igraph_matrix_bool_add(
9708 m1: *mut igraph_matrix_bool_t,
9709 m2: *const igraph_matrix_bool_t,
9710 ) -> igraph_error_t;
9711}
9712unsafe extern "C" {
9713 pub fn igraph_matrix_bool_sub(
9714 m1: *mut igraph_matrix_bool_t,
9715 m2: *const igraph_matrix_bool_t,
9716 ) -> igraph_error_t;
9717}
9718unsafe extern "C" {
9719 pub fn igraph_matrix_bool_mul_elements(
9720 m1: *mut igraph_matrix_bool_t,
9721 m2: *const igraph_matrix_bool_t,
9722 ) -> igraph_error_t;
9723}
9724unsafe extern "C" {
9725 pub fn igraph_matrix_bool_div_elements(
9726 m1: *mut igraph_matrix_bool_t,
9727 m2: *const igraph_matrix_bool_t,
9728 ) -> igraph_error_t;
9729}
9730unsafe extern "C" {
9731 pub fn igraph_matrix_bool_scale(m: *mut igraph_matrix_bool_t, by: igraph_bool_t);
9732}
9733unsafe extern "C" {
9734 pub fn igraph_matrix_bool_add_constant(m: *mut igraph_matrix_bool_t, plus: igraph_bool_t);
9735}
9736unsafe extern "C" {
9737 pub fn igraph_matrix_bool_all_e(
9738 lhs: *const igraph_matrix_bool_t,
9739 rhs: *const igraph_matrix_bool_t,
9740 ) -> igraph_bool_t;
9741}
9742unsafe extern "C" {
9743 pub fn igraph_matrix_bool_isnull(m: *const igraph_matrix_bool_t) -> igraph_bool_t;
9744}
9745unsafe extern "C" {
9746 pub fn igraph_matrix_bool_empty(m: *const igraph_matrix_bool_t) -> igraph_bool_t;
9747}
9748unsafe extern "C" {
9749 pub fn igraph_matrix_bool_size(m: *const igraph_matrix_bool_t) -> igraph_int_t;
9750}
9751unsafe extern "C" {
9752 pub fn igraph_matrix_bool_nrow(m: *const igraph_matrix_bool_t) -> igraph_int_t;
9753}
9754unsafe extern "C" {
9755 pub fn igraph_matrix_bool_ncol(m: *const igraph_matrix_bool_t) -> igraph_int_t;
9756}
9757unsafe extern "C" {
9758 pub fn igraph_matrix_bool_is_symmetric(m: *const igraph_matrix_bool_t) -> igraph_bool_t;
9759}
9760unsafe extern "C" {
9761 pub fn igraph_matrix_bool_sum(m: *const igraph_matrix_bool_t) -> igraph_bool_t;
9762}
9763unsafe extern "C" {
9764 pub fn igraph_matrix_bool_prod(m: *const igraph_matrix_bool_t) -> igraph_bool_t;
9765}
9766unsafe extern "C" {
9767 pub fn igraph_matrix_bool_rowsum(
9768 m: *const igraph_matrix_bool_t,
9769 res: *mut igraph_vector_bool_t,
9770 ) -> igraph_error_t;
9771}
9772unsafe extern "C" {
9773 pub fn igraph_matrix_bool_colsum(
9774 m: *const igraph_matrix_bool_t,
9775 res: *mut igraph_vector_bool_t,
9776 ) -> igraph_error_t;
9777}
9778unsafe extern "C" {
9779 pub fn igraph_matrix_bool_is_equal(
9780 m1: *const igraph_matrix_bool_t,
9781 m2: *const igraph_matrix_bool_t,
9782 ) -> igraph_bool_t;
9783}
9784unsafe extern "C" {
9785 pub fn igraph_matrix_bool_contains(
9786 m: *const igraph_matrix_bool_t,
9787 e: igraph_bool_t,
9788 ) -> igraph_bool_t;
9789}
9790unsafe extern "C" {
9791 pub fn igraph_matrix_bool_search(
9792 m: *const igraph_matrix_bool_t,
9793 from: igraph_int_t,
9794 what: igraph_bool_t,
9795 pos: *mut igraph_int_t,
9796 row: *mut igraph_int_t,
9797 col: *mut igraph_int_t,
9798 ) -> igraph_bool_t;
9799}
9800unsafe extern "C" {
9801 pub fn igraph_matrix_bool_resize(
9802 m: *mut igraph_matrix_bool_t,
9803 nrow: igraph_int_t,
9804 ncol: igraph_int_t,
9805 ) -> igraph_error_t;
9806}
9807unsafe extern "C" {
9808 pub fn igraph_matrix_bool_resize_min(m: *mut igraph_matrix_bool_t);
9809}
9810unsafe extern "C" {
9811 pub fn igraph_matrix_bool_add_cols(
9812 m: *mut igraph_matrix_bool_t,
9813 n: igraph_int_t,
9814 ) -> igraph_error_t;
9815}
9816unsafe extern "C" {
9817 pub fn igraph_matrix_bool_add_rows(
9818 m: *mut igraph_matrix_bool_t,
9819 n: igraph_int_t,
9820 ) -> igraph_error_t;
9821}
9822unsafe extern "C" {
9823 pub fn igraph_matrix_bool_remove_col(
9824 m: *mut igraph_matrix_bool_t,
9825 col: igraph_int_t,
9826 ) -> igraph_error_t;
9827}
9828unsafe extern "C" {
9829 pub fn igraph_matrix_bool_remove_row(
9830 m: *mut igraph_matrix_bool_t,
9831 row: igraph_int_t,
9832 ) -> igraph_error_t;
9833}
9834unsafe extern "C" {
9835 pub fn igraph_matrix_bool_print(m: *const igraph_matrix_bool_t) -> igraph_error_t;
9836}
9837unsafe extern "C" {
9838 pub fn igraph_matrix_bool_fprint(
9839 m: *const igraph_matrix_bool_t,
9840 file: *mut FILE,
9841 ) -> igraph_error_t;
9842}
9843unsafe extern "C" {
9844 pub fn igraph_matrix_bool_printf(
9845 m: *const igraph_matrix_bool_t,
9846 format: *const ::std::os::raw::c_char,
9847 ) -> igraph_error_t;
9848}
9849unsafe extern "C" {
9850 pub fn igraph_matrix_bool_permdelete_rows(
9851 m: *mut igraph_matrix_bool_t,
9852 index: *mut igraph_int_t,
9853 nremove: igraph_int_t,
9854 ) -> igraph_error_t;
9855}
9856#[repr(C)]
9857#[derive(Debug, Copy, Clone)]
9858pub struct igraph_matrix_complex_t {
9859 pub data: igraph_vector_complex_t,
9860 pub nrow: igraph_int_t,
9861 pub ncol: igraph_int_t,
9862}
9863#[allow(clippy::unnecessary_operation, clippy::identity_op)]
9864const _: () = {
9865 ["Size of igraph_matrix_complex_t"][::std::mem::size_of::<igraph_matrix_complex_t>() - 40usize];
9866 ["Alignment of igraph_matrix_complex_t"]
9867 [::std::mem::align_of::<igraph_matrix_complex_t>() - 8usize];
9868 ["Offset of field: igraph_matrix_complex_t::data"]
9869 [::std::mem::offset_of!(igraph_matrix_complex_t, data) - 0usize];
9870 ["Offset of field: igraph_matrix_complex_t::nrow"]
9871 [::std::mem::offset_of!(igraph_matrix_complex_t, nrow) - 24usize];
9872 ["Offset of field: igraph_matrix_complex_t::ncol"]
9873 [::std::mem::offset_of!(igraph_matrix_complex_t, ncol) - 32usize];
9874};
9875unsafe extern "C" {
9876 pub fn igraph_matrix_complex_init(
9877 m: *mut igraph_matrix_complex_t,
9878 nrow: igraph_int_t,
9879 ncol: igraph_int_t,
9880 ) -> igraph_error_t;
9881}
9882unsafe extern "C" {
9883 pub fn igraph_matrix_complex_init_array(
9884 m: *mut igraph_matrix_complex_t,
9885 data: *const igraph_complex_t,
9886 nrow: igraph_int_t,
9887 ncol: igraph_int_t,
9888 storage: igraph_matrix_storage_t,
9889 ) -> igraph_error_t;
9890}
9891unsafe extern "C" {
9892 pub fn igraph_matrix_complex_init_copy(
9893 to: *mut igraph_matrix_complex_t,
9894 from: *const igraph_matrix_complex_t,
9895 ) -> igraph_error_t;
9896}
9897unsafe extern "C" {
9898 pub fn igraph_matrix_complex_destroy(m: *mut igraph_matrix_complex_t);
9899}
9900unsafe extern "C" {
9901 pub fn igraph_matrix_complex_capacity(m: *const igraph_matrix_complex_t) -> igraph_int_t;
9902}
9903unsafe extern "C" {
9904 pub fn igraph_matrix_complex_get(
9905 m: *const igraph_matrix_complex_t,
9906 row: igraph_int_t,
9907 col: igraph_int_t,
9908 ) -> igraph_complex_t;
9909}
9910unsafe extern "C" {
9911 pub fn igraph_matrix_complex_get_ptr(
9912 m: *const igraph_matrix_complex_t,
9913 row: igraph_int_t,
9914 col: igraph_int_t,
9915 ) -> *mut igraph_complex_t;
9916}
9917unsafe extern "C" {
9918 pub fn igraph_matrix_complex_set(
9919 m: *mut igraph_matrix_complex_t,
9920 row: igraph_int_t,
9921 col: igraph_int_t,
9922 value: igraph_complex_t,
9923 );
9924}
9925unsafe extern "C" {
9926 pub fn igraph_matrix_complex_null(m: *mut igraph_matrix_complex_t);
9927}
9928unsafe extern "C" {
9929 pub fn igraph_matrix_complex_fill(m: *mut igraph_matrix_complex_t, e: igraph_complex_t);
9930}
9931unsafe extern "C" {
9932 pub fn igraph_matrix_complex_view(
9933 data: *const igraph_complex_t,
9934 nrow: igraph_int_t,
9935 ncol: igraph_int_t,
9936 ) -> igraph_matrix_complex_t;
9937}
9938unsafe extern "C" {
9939 pub fn igraph_matrix_complex_view_from_vector(
9940 v: *const igraph_vector_complex_t,
9941 ncol: igraph_int_t,
9942 ) -> igraph_matrix_complex_t;
9943}
9944unsafe extern "C" {
9945 pub fn igraph_matrix_complex_copy_to(
9946 m: *const igraph_matrix_complex_t,
9947 to: *mut igraph_complex_t,
9948 storage: igraph_matrix_storage_t,
9949 );
9950}
9951unsafe extern "C" {
9952 pub fn igraph_matrix_complex_update(
9953 to: *mut igraph_matrix_complex_t,
9954 from: *const igraph_matrix_complex_t,
9955 ) -> igraph_error_t;
9956}
9957unsafe extern "C" {
9958 pub fn igraph_matrix_complex_rbind(
9959 to: *mut igraph_matrix_complex_t,
9960 from: *const igraph_matrix_complex_t,
9961 ) -> igraph_error_t;
9962}
9963unsafe extern "C" {
9964 pub fn igraph_matrix_complex_cbind(
9965 to: *mut igraph_matrix_complex_t,
9966 from: *const igraph_matrix_complex_t,
9967 ) -> igraph_error_t;
9968}
9969unsafe extern "C" {
9970 pub fn igraph_matrix_complex_swap(
9971 m1: *mut igraph_matrix_complex_t,
9972 m2: *mut igraph_matrix_complex_t,
9973 );
9974}
9975unsafe extern "C" {
9976 pub fn igraph_matrix_complex_get_row(
9977 m: *const igraph_matrix_complex_t,
9978 res: *mut igraph_vector_complex_t,
9979 index: igraph_int_t,
9980 ) -> igraph_error_t;
9981}
9982unsafe extern "C" {
9983 pub fn igraph_matrix_complex_get_col(
9984 m: *const igraph_matrix_complex_t,
9985 res: *mut igraph_vector_complex_t,
9986 index: igraph_int_t,
9987 ) -> igraph_error_t;
9988}
9989unsafe extern "C" {
9990 pub fn igraph_matrix_complex_set_row(
9991 m: *mut igraph_matrix_complex_t,
9992 v: *const igraph_vector_complex_t,
9993 index: igraph_int_t,
9994 ) -> igraph_error_t;
9995}
9996unsafe extern "C" {
9997 pub fn igraph_matrix_complex_set_col(
9998 m: *mut igraph_matrix_complex_t,
9999 v: *const igraph_vector_complex_t,
10000 index: igraph_int_t,
10001 ) -> igraph_error_t;
10002}
10003unsafe extern "C" {
10004 pub fn igraph_matrix_complex_select_rows(
10005 m: *const igraph_matrix_complex_t,
10006 res: *mut igraph_matrix_complex_t,
10007 rows: *const igraph_vector_int_t,
10008 ) -> igraph_error_t;
10009}
10010unsafe extern "C" {
10011 pub fn igraph_matrix_complex_select_cols(
10012 m: *const igraph_matrix_complex_t,
10013 res: *mut igraph_matrix_complex_t,
10014 cols: *const igraph_vector_int_t,
10015 ) -> igraph_error_t;
10016}
10017unsafe extern "C" {
10018 pub fn igraph_matrix_complex_select_rows_cols(
10019 m: *const igraph_matrix_complex_t,
10020 res: *mut igraph_matrix_complex_t,
10021 rows: *const igraph_vector_int_t,
10022 cols: *const igraph_vector_int_t,
10023 ) -> igraph_error_t;
10024}
10025unsafe extern "C" {
10026 pub fn igraph_matrix_complex_swap_rows(
10027 m: *mut igraph_matrix_complex_t,
10028 i: igraph_int_t,
10029 j: igraph_int_t,
10030 ) -> igraph_error_t;
10031}
10032unsafe extern "C" {
10033 pub fn igraph_matrix_complex_swap_cols(
10034 m: *mut igraph_matrix_complex_t,
10035 i: igraph_int_t,
10036 j: igraph_int_t,
10037 ) -> igraph_error_t;
10038}
10039unsafe extern "C" {
10040 pub fn igraph_matrix_complex_swap_rowcol(
10041 m: *mut igraph_matrix_complex_t,
10042 i: igraph_int_t,
10043 j: igraph_int_t,
10044 ) -> igraph_error_t;
10045}
10046unsafe extern "C" {
10047 pub fn igraph_matrix_complex_transpose(m: *mut igraph_matrix_complex_t) -> igraph_error_t;
10048}
10049unsafe extern "C" {
10050 pub fn igraph_matrix_complex_add(
10051 m1: *mut igraph_matrix_complex_t,
10052 m2: *const igraph_matrix_complex_t,
10053 ) -> igraph_error_t;
10054}
10055unsafe extern "C" {
10056 pub fn igraph_matrix_complex_sub(
10057 m1: *mut igraph_matrix_complex_t,
10058 m2: *const igraph_matrix_complex_t,
10059 ) -> igraph_error_t;
10060}
10061unsafe extern "C" {
10062 pub fn igraph_matrix_complex_mul_elements(
10063 m1: *mut igraph_matrix_complex_t,
10064 m2: *const igraph_matrix_complex_t,
10065 ) -> igraph_error_t;
10066}
10067unsafe extern "C" {
10068 pub fn igraph_matrix_complex_div_elements(
10069 m1: *mut igraph_matrix_complex_t,
10070 m2: *const igraph_matrix_complex_t,
10071 ) -> igraph_error_t;
10072}
10073unsafe extern "C" {
10074 pub fn igraph_matrix_complex_scale(m: *mut igraph_matrix_complex_t, by: igraph_complex_t);
10075}
10076unsafe extern "C" {
10077 pub fn igraph_matrix_complex_add_constant(
10078 m: *mut igraph_matrix_complex_t,
10079 plus: igraph_complex_t,
10080 );
10081}
10082unsafe extern "C" {
10083 pub fn igraph_matrix_complex_all_e(
10084 lhs: *const igraph_matrix_complex_t,
10085 rhs: *const igraph_matrix_complex_t,
10086 ) -> igraph_bool_t;
10087}
10088unsafe extern "C" {
10089 pub fn igraph_matrix_complex_isnull(m: *const igraph_matrix_complex_t) -> igraph_bool_t;
10090}
10091unsafe extern "C" {
10092 pub fn igraph_matrix_complex_empty(m: *const igraph_matrix_complex_t) -> igraph_bool_t;
10093}
10094unsafe extern "C" {
10095 pub fn igraph_matrix_complex_size(m: *const igraph_matrix_complex_t) -> igraph_int_t;
10096}
10097unsafe extern "C" {
10098 pub fn igraph_matrix_complex_nrow(m: *const igraph_matrix_complex_t) -> igraph_int_t;
10099}
10100unsafe extern "C" {
10101 pub fn igraph_matrix_complex_ncol(m: *const igraph_matrix_complex_t) -> igraph_int_t;
10102}
10103unsafe extern "C" {
10104 pub fn igraph_matrix_complex_is_symmetric(m: *const igraph_matrix_complex_t) -> igraph_bool_t;
10105}
10106unsafe extern "C" {
10107 pub fn igraph_matrix_complex_sum(m: *const igraph_matrix_complex_t) -> igraph_complex_t;
10108}
10109unsafe extern "C" {
10110 pub fn igraph_matrix_complex_prod(m: *const igraph_matrix_complex_t) -> igraph_complex_t;
10111}
10112unsafe extern "C" {
10113 pub fn igraph_matrix_complex_rowsum(
10114 m: *const igraph_matrix_complex_t,
10115 res: *mut igraph_vector_complex_t,
10116 ) -> igraph_error_t;
10117}
10118unsafe extern "C" {
10119 pub fn igraph_matrix_complex_colsum(
10120 m: *const igraph_matrix_complex_t,
10121 res: *mut igraph_vector_complex_t,
10122 ) -> igraph_error_t;
10123}
10124unsafe extern "C" {
10125 pub fn igraph_matrix_complex_is_equal(
10126 m1: *const igraph_matrix_complex_t,
10127 m2: *const igraph_matrix_complex_t,
10128 ) -> igraph_bool_t;
10129}
10130unsafe extern "C" {
10131 pub fn igraph_matrix_complex_contains(
10132 m: *const igraph_matrix_complex_t,
10133 e: igraph_complex_t,
10134 ) -> igraph_bool_t;
10135}
10136unsafe extern "C" {
10137 pub fn igraph_matrix_complex_search(
10138 m: *const igraph_matrix_complex_t,
10139 from: igraph_int_t,
10140 what: igraph_complex_t,
10141 pos: *mut igraph_int_t,
10142 row: *mut igraph_int_t,
10143 col: *mut igraph_int_t,
10144 ) -> igraph_bool_t;
10145}
10146unsafe extern "C" {
10147 pub fn igraph_matrix_complex_resize(
10148 m: *mut igraph_matrix_complex_t,
10149 nrow: igraph_int_t,
10150 ncol: igraph_int_t,
10151 ) -> igraph_error_t;
10152}
10153unsafe extern "C" {
10154 pub fn igraph_matrix_complex_resize_min(m: *mut igraph_matrix_complex_t);
10155}
10156unsafe extern "C" {
10157 pub fn igraph_matrix_complex_add_cols(
10158 m: *mut igraph_matrix_complex_t,
10159 n: igraph_int_t,
10160 ) -> igraph_error_t;
10161}
10162unsafe extern "C" {
10163 pub fn igraph_matrix_complex_add_rows(
10164 m: *mut igraph_matrix_complex_t,
10165 n: igraph_int_t,
10166 ) -> igraph_error_t;
10167}
10168unsafe extern "C" {
10169 pub fn igraph_matrix_complex_remove_col(
10170 m: *mut igraph_matrix_complex_t,
10171 col: igraph_int_t,
10172 ) -> igraph_error_t;
10173}
10174unsafe extern "C" {
10175 pub fn igraph_matrix_complex_remove_row(
10176 m: *mut igraph_matrix_complex_t,
10177 row: igraph_int_t,
10178 ) -> igraph_error_t;
10179}
10180unsafe extern "C" {
10181 pub fn igraph_matrix_complex_print(m: *const igraph_matrix_complex_t) -> igraph_error_t;
10182}
10183unsafe extern "C" {
10184 pub fn igraph_matrix_complex_fprint(
10185 m: *const igraph_matrix_complex_t,
10186 file: *mut FILE,
10187 ) -> igraph_error_t;
10188}
10189unsafe extern "C" {
10190 pub fn igraph_matrix_complex_real(
10191 v: *const igraph_matrix_complex_t,
10192 real: *mut igraph_matrix_t,
10193 ) -> igraph_error_t;
10194}
10195unsafe extern "C" {
10196 pub fn igraph_matrix_complex_imag(
10197 v: *const igraph_matrix_complex_t,
10198 imag: *mut igraph_matrix_t,
10199 ) -> igraph_error_t;
10200}
10201unsafe extern "C" {
10202 pub fn igraph_matrix_complex_realimag(
10203 v: *const igraph_matrix_complex_t,
10204 real: *mut igraph_matrix_t,
10205 imag: *mut igraph_matrix_t,
10206 ) -> igraph_error_t;
10207}
10208unsafe extern "C" {
10209 pub fn igraph_matrix_complex_create(
10210 v: *mut igraph_matrix_complex_t,
10211 real: *const igraph_matrix_t,
10212 imag: *const igraph_matrix_t,
10213 ) -> igraph_error_t;
10214}
10215unsafe extern "C" {
10216 pub fn igraph_matrix_complex_create_polar(
10217 v: *mut igraph_matrix_complex_t,
10218 r: *const igraph_matrix_t,
10219 theta: *const igraph_matrix_t,
10220 ) -> igraph_error_t;
10221}
10222unsafe extern "C" {
10223 pub fn igraph_matrix_complex_all_almost_e(
10224 lhs: *mut igraph_matrix_complex_t,
10225 rhs: *mut igraph_matrix_complex_t,
10226 eps: igraph_real_t,
10227 ) -> igraph_bool_t;
10228}
10229unsafe extern "C" {
10230 pub fn igraph_matrix_complex_permdelete_rows(
10231 m: *mut igraph_matrix_complex_t,
10232 index: *mut igraph_int_t,
10233 nremove: igraph_int_t,
10234 ) -> igraph_error_t;
10235}
10236unsafe extern "C" {
10237 pub fn igraph_matrix_all_almost_e(
10238 lhs: *const igraph_matrix_t,
10239 rhs: *const igraph_matrix_t,
10240 eps: igraph_real_t,
10241 ) -> igraph_bool_t;
10242}
10243unsafe extern "C" {
10244 pub fn igraph_matrix_zapsmall(m: *mut igraph_matrix_t, tol: igraph_real_t) -> igraph_error_t;
10245}
10246unsafe extern "C" {
10247 pub fn igraph_matrix_complex_zapsmall(
10248 m: *mut igraph_matrix_complex_t,
10249 tol: igraph_real_t,
10250 ) -> igraph_error_t;
10251}
10252#[repr(C)]
10253#[derive(Debug, Copy, Clone)]
10254pub struct igraph_bitset_t {
10255 pub size: igraph_int_t,
10256 pub stor_begin: *mut igraph_uint_t,
10257 pub stor_end: *mut igraph_uint_t,
10258}
10259#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10260const _: () = {
10261 ["Size of igraph_bitset_t"][::std::mem::size_of::<igraph_bitset_t>() - 24usize];
10262 ["Alignment of igraph_bitset_t"][::std::mem::align_of::<igraph_bitset_t>() - 8usize];
10263 ["Offset of field: igraph_bitset_t::size"]
10264 [::std::mem::offset_of!(igraph_bitset_t, size) - 0usize];
10265 ["Offset of field: igraph_bitset_t::stor_begin"]
10266 [::std::mem::offset_of!(igraph_bitset_t, stor_begin) - 8usize];
10267 ["Offset of field: igraph_bitset_t::stor_end"]
10268 [::std::mem::offset_of!(igraph_bitset_t, stor_end) - 16usize];
10269};
10270unsafe extern "C" {
10271 pub fn igraph_bitset_init(bitset: *mut igraph_bitset_t, size: igraph_int_t) -> igraph_error_t;
10272}
10273unsafe extern "C" {
10274 pub fn igraph_bitset_destroy(bitset: *mut igraph_bitset_t);
10275}
10276unsafe extern "C" {
10277 pub fn igraph_bitset_init_copy(
10278 dest: *mut igraph_bitset_t,
10279 src: *const igraph_bitset_t,
10280 ) -> igraph_error_t;
10281}
10282unsafe extern "C" {
10283 pub fn igraph_bitset_update(
10284 dest: *mut igraph_bitset_t,
10285 src: *const igraph_bitset_t,
10286 ) -> igraph_error_t;
10287}
10288unsafe extern "C" {
10289 pub fn igraph_bitset_capacity(bitset: *const igraph_bitset_t) -> igraph_int_t;
10290}
10291unsafe extern "C" {
10292 pub fn igraph_bitset_size(bitset: *const igraph_bitset_t) -> igraph_int_t;
10293}
10294unsafe extern "C" {
10295 pub fn igraph_bitset_reserve(
10296 bitset: *mut igraph_bitset_t,
10297 capacity: igraph_int_t,
10298 ) -> igraph_error_t;
10299}
10300unsafe extern "C" {
10301 pub fn igraph_bitset_resize(
10302 bitset: *mut igraph_bitset_t,
10303 new_size: igraph_int_t,
10304 ) -> igraph_error_t;
10305}
10306unsafe extern "C" {
10307 pub fn igraph_bitset_popcount(bitset: *const igraph_bitset_t) -> igraph_int_t;
10308}
10309unsafe extern "C" {
10310 pub fn igraph_bitset_countl_zero(bitset: *const igraph_bitset_t) -> igraph_int_t;
10311}
10312unsafe extern "C" {
10313 pub fn igraph_bitset_countl_one(bitset: *const igraph_bitset_t) -> igraph_int_t;
10314}
10315unsafe extern "C" {
10316 pub fn igraph_bitset_countr_zero(bitset: *const igraph_bitset_t) -> igraph_int_t;
10317}
10318unsafe extern "C" {
10319 pub fn igraph_bitset_countr_one(bitset: *const igraph_bitset_t) -> igraph_int_t;
10320}
10321unsafe extern "C" {
10322 pub fn igraph_bitset_is_all_zero(bitset: *const igraph_bitset_t) -> igraph_bool_t;
10323}
10324unsafe extern "C" {
10325 pub fn igraph_bitset_is_all_one(bitset: *const igraph_bitset_t) -> igraph_bool_t;
10326}
10327unsafe extern "C" {
10328 pub fn igraph_bitset_is_any_zero(bitset: *const igraph_bitset_t) -> igraph_bool_t;
10329}
10330unsafe extern "C" {
10331 pub fn igraph_bitset_is_any_one(bitset: *const igraph_bitset_t) -> igraph_bool_t;
10332}
10333unsafe extern "C" {
10334 pub fn igraph_bitset_or(
10335 dest: *mut igraph_bitset_t,
10336 src1: *const igraph_bitset_t,
10337 src2: *const igraph_bitset_t,
10338 );
10339}
10340unsafe extern "C" {
10341 pub fn igraph_bitset_and(
10342 dest: *mut igraph_bitset_t,
10343 src1: *const igraph_bitset_t,
10344 src2: *const igraph_bitset_t,
10345 );
10346}
10347unsafe extern "C" {
10348 pub fn igraph_bitset_xor(
10349 dest: *mut igraph_bitset_t,
10350 src1: *const igraph_bitset_t,
10351 src2: *const igraph_bitset_t,
10352 );
10353}
10354unsafe extern "C" {
10355 pub fn igraph_bitset_not(dest: *mut igraph_bitset_t, src: *const igraph_bitset_t);
10356}
10357unsafe extern "C" {
10358 pub fn igraph_bitset_fill(bitset: *mut igraph_bitset_t, value: igraph_bool_t);
10359}
10360unsafe extern "C" {
10361 pub fn igraph_bitset_null(bitset: *mut igraph_bitset_t);
10362}
10363unsafe extern "C" {
10364 pub fn igraph_bitset_fprint(bitset: *const igraph_bitset_t, file: *mut FILE) -> igraph_error_t;
10365}
10366unsafe extern "C" {
10367 pub fn igraph_bitset_print(bitset: *const igraph_bitset_t) -> igraph_error_t;
10368}
10369#[doc = " Double ended queue data type.\n \\ingroup internal"]
10370#[repr(C)]
10371#[derive(Debug, Copy, Clone)]
10372pub struct igraph_dqueue_t {
10373 pub begin: *mut igraph_real_t,
10374 pub end: *mut igraph_real_t,
10375 pub stor_begin: *mut igraph_real_t,
10376 pub stor_end: *mut igraph_real_t,
10377}
10378#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10379const _: () = {
10380 ["Size of igraph_dqueue_t"][::std::mem::size_of::<igraph_dqueue_t>() - 32usize];
10381 ["Alignment of igraph_dqueue_t"][::std::mem::align_of::<igraph_dqueue_t>() - 8usize];
10382 ["Offset of field: igraph_dqueue_t::begin"]
10383 [::std::mem::offset_of!(igraph_dqueue_t, begin) - 0usize];
10384 ["Offset of field: igraph_dqueue_t::end"]
10385 [::std::mem::offset_of!(igraph_dqueue_t, end) - 8usize];
10386 ["Offset of field: igraph_dqueue_t::stor_begin"]
10387 [::std::mem::offset_of!(igraph_dqueue_t, stor_begin) - 16usize];
10388 ["Offset of field: igraph_dqueue_t::stor_end"]
10389 [::std::mem::offset_of!(igraph_dqueue_t, stor_end) - 24usize];
10390};
10391unsafe extern "C" {
10392 pub fn igraph_dqueue_init(q: *mut igraph_dqueue_t, capacity: igraph_int_t) -> igraph_error_t;
10393}
10394unsafe extern "C" {
10395 pub fn igraph_dqueue_destroy(q: *mut igraph_dqueue_t);
10396}
10397unsafe extern "C" {
10398 pub fn igraph_dqueue_empty(q: *const igraph_dqueue_t) -> igraph_bool_t;
10399}
10400unsafe extern "C" {
10401 pub fn igraph_dqueue_clear(q: *mut igraph_dqueue_t);
10402}
10403unsafe extern "C" {
10404 pub fn igraph_dqueue_full(q: *mut igraph_dqueue_t) -> igraph_bool_t;
10405}
10406unsafe extern "C" {
10407 pub fn igraph_dqueue_size(q: *const igraph_dqueue_t) -> igraph_int_t;
10408}
10409unsafe extern "C" {
10410 pub fn igraph_dqueue_pop(q: *mut igraph_dqueue_t) -> igraph_real_t;
10411}
10412unsafe extern "C" {
10413 pub fn igraph_dqueue_pop_back(q: *mut igraph_dqueue_t) -> igraph_real_t;
10414}
10415unsafe extern "C" {
10416 pub fn igraph_dqueue_head(q: *const igraph_dqueue_t) -> igraph_real_t;
10417}
10418unsafe extern "C" {
10419 pub fn igraph_dqueue_back(q: *const igraph_dqueue_t) -> igraph_real_t;
10420}
10421unsafe extern "C" {
10422 pub fn igraph_dqueue_push(q: *mut igraph_dqueue_t, elem: igraph_real_t) -> igraph_error_t;
10423}
10424unsafe extern "C" {
10425 pub fn igraph_dqueue_print(q: *const igraph_dqueue_t) -> igraph_error_t;
10426}
10427unsafe extern "C" {
10428 pub fn igraph_dqueue_fprint(q: *const igraph_dqueue_t, file: *mut FILE) -> igraph_error_t;
10429}
10430unsafe extern "C" {
10431 pub fn igraph_dqueue_get(q: *const igraph_dqueue_t, idx: igraph_int_t) -> igraph_real_t;
10432}
10433#[doc = " Double ended queue data type.\n \\ingroup internal"]
10434#[repr(C)]
10435#[derive(Debug, Copy, Clone)]
10436pub struct igraph_dqueue_char_t {
10437 pub begin: *mut ::std::os::raw::c_char,
10438 pub end: *mut ::std::os::raw::c_char,
10439 pub stor_begin: *mut ::std::os::raw::c_char,
10440 pub stor_end: *mut ::std::os::raw::c_char,
10441}
10442#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10443const _: () = {
10444 ["Size of igraph_dqueue_char_t"][::std::mem::size_of::<igraph_dqueue_char_t>() - 32usize];
10445 ["Alignment of igraph_dqueue_char_t"][::std::mem::align_of::<igraph_dqueue_char_t>() - 8usize];
10446 ["Offset of field: igraph_dqueue_char_t::begin"]
10447 [::std::mem::offset_of!(igraph_dqueue_char_t, begin) - 0usize];
10448 ["Offset of field: igraph_dqueue_char_t::end"]
10449 [::std::mem::offset_of!(igraph_dqueue_char_t, end) - 8usize];
10450 ["Offset of field: igraph_dqueue_char_t::stor_begin"]
10451 [::std::mem::offset_of!(igraph_dqueue_char_t, stor_begin) - 16usize];
10452 ["Offset of field: igraph_dqueue_char_t::stor_end"]
10453 [::std::mem::offset_of!(igraph_dqueue_char_t, stor_end) - 24usize];
10454};
10455unsafe extern "C" {
10456 pub fn igraph_dqueue_char_init(
10457 q: *mut igraph_dqueue_char_t,
10458 capacity: igraph_int_t,
10459 ) -> igraph_error_t;
10460}
10461unsafe extern "C" {
10462 pub fn igraph_dqueue_char_destroy(q: *mut igraph_dqueue_char_t);
10463}
10464unsafe extern "C" {
10465 pub fn igraph_dqueue_char_empty(q: *const igraph_dqueue_char_t) -> igraph_bool_t;
10466}
10467unsafe extern "C" {
10468 pub fn igraph_dqueue_char_clear(q: *mut igraph_dqueue_char_t);
10469}
10470unsafe extern "C" {
10471 pub fn igraph_dqueue_char_full(q: *mut igraph_dqueue_char_t) -> igraph_bool_t;
10472}
10473unsafe extern "C" {
10474 pub fn igraph_dqueue_char_size(q: *const igraph_dqueue_char_t) -> igraph_int_t;
10475}
10476unsafe extern "C" {
10477 pub fn igraph_dqueue_char_pop(q: *mut igraph_dqueue_char_t) -> ::std::os::raw::c_char;
10478}
10479unsafe extern "C" {
10480 pub fn igraph_dqueue_char_pop_back(q: *mut igraph_dqueue_char_t) -> ::std::os::raw::c_char;
10481}
10482unsafe extern "C" {
10483 pub fn igraph_dqueue_char_head(q: *const igraph_dqueue_char_t) -> ::std::os::raw::c_char;
10484}
10485unsafe extern "C" {
10486 pub fn igraph_dqueue_char_back(q: *const igraph_dqueue_char_t) -> ::std::os::raw::c_char;
10487}
10488unsafe extern "C" {
10489 pub fn igraph_dqueue_char_push(
10490 q: *mut igraph_dqueue_char_t,
10491 elem: ::std::os::raw::c_char,
10492 ) -> igraph_error_t;
10493}
10494unsafe extern "C" {
10495 pub fn igraph_dqueue_char_print(q: *const igraph_dqueue_char_t) -> igraph_error_t;
10496}
10497unsafe extern "C" {
10498 pub fn igraph_dqueue_char_fprint(
10499 q: *const igraph_dqueue_char_t,
10500 file: *mut FILE,
10501 ) -> igraph_error_t;
10502}
10503unsafe extern "C" {
10504 pub fn igraph_dqueue_char_get(
10505 q: *const igraph_dqueue_char_t,
10506 idx: igraph_int_t,
10507 ) -> ::std::os::raw::c_char;
10508}
10509#[doc = " Double ended queue data type.\n \\ingroup internal"]
10510#[repr(C)]
10511#[derive(Debug, Copy, Clone)]
10512pub struct igraph_dqueue_bool_t {
10513 pub begin: *mut igraph_bool_t,
10514 pub end: *mut igraph_bool_t,
10515 pub stor_begin: *mut igraph_bool_t,
10516 pub stor_end: *mut igraph_bool_t,
10517}
10518#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10519const _: () = {
10520 ["Size of igraph_dqueue_bool_t"][::std::mem::size_of::<igraph_dqueue_bool_t>() - 32usize];
10521 ["Alignment of igraph_dqueue_bool_t"][::std::mem::align_of::<igraph_dqueue_bool_t>() - 8usize];
10522 ["Offset of field: igraph_dqueue_bool_t::begin"]
10523 [::std::mem::offset_of!(igraph_dqueue_bool_t, begin) - 0usize];
10524 ["Offset of field: igraph_dqueue_bool_t::end"]
10525 [::std::mem::offset_of!(igraph_dqueue_bool_t, end) - 8usize];
10526 ["Offset of field: igraph_dqueue_bool_t::stor_begin"]
10527 [::std::mem::offset_of!(igraph_dqueue_bool_t, stor_begin) - 16usize];
10528 ["Offset of field: igraph_dqueue_bool_t::stor_end"]
10529 [::std::mem::offset_of!(igraph_dqueue_bool_t, stor_end) - 24usize];
10530};
10531unsafe extern "C" {
10532 pub fn igraph_dqueue_bool_init(
10533 q: *mut igraph_dqueue_bool_t,
10534 capacity: igraph_int_t,
10535 ) -> igraph_error_t;
10536}
10537unsafe extern "C" {
10538 pub fn igraph_dqueue_bool_destroy(q: *mut igraph_dqueue_bool_t);
10539}
10540unsafe extern "C" {
10541 pub fn igraph_dqueue_bool_empty(q: *const igraph_dqueue_bool_t) -> igraph_bool_t;
10542}
10543unsafe extern "C" {
10544 pub fn igraph_dqueue_bool_clear(q: *mut igraph_dqueue_bool_t);
10545}
10546unsafe extern "C" {
10547 pub fn igraph_dqueue_bool_full(q: *mut igraph_dqueue_bool_t) -> igraph_bool_t;
10548}
10549unsafe extern "C" {
10550 pub fn igraph_dqueue_bool_size(q: *const igraph_dqueue_bool_t) -> igraph_int_t;
10551}
10552unsafe extern "C" {
10553 pub fn igraph_dqueue_bool_pop(q: *mut igraph_dqueue_bool_t) -> igraph_bool_t;
10554}
10555unsafe extern "C" {
10556 pub fn igraph_dqueue_bool_pop_back(q: *mut igraph_dqueue_bool_t) -> igraph_bool_t;
10557}
10558unsafe extern "C" {
10559 pub fn igraph_dqueue_bool_head(q: *const igraph_dqueue_bool_t) -> igraph_bool_t;
10560}
10561unsafe extern "C" {
10562 pub fn igraph_dqueue_bool_back(q: *const igraph_dqueue_bool_t) -> igraph_bool_t;
10563}
10564unsafe extern "C" {
10565 pub fn igraph_dqueue_bool_push(
10566 q: *mut igraph_dqueue_bool_t,
10567 elem: igraph_bool_t,
10568 ) -> igraph_error_t;
10569}
10570unsafe extern "C" {
10571 pub fn igraph_dqueue_bool_print(q: *const igraph_dqueue_bool_t) -> igraph_error_t;
10572}
10573unsafe extern "C" {
10574 pub fn igraph_dqueue_bool_fprint(
10575 q: *const igraph_dqueue_bool_t,
10576 file: *mut FILE,
10577 ) -> igraph_error_t;
10578}
10579unsafe extern "C" {
10580 pub fn igraph_dqueue_bool_get(
10581 q: *const igraph_dqueue_bool_t,
10582 idx: igraph_int_t,
10583 ) -> igraph_bool_t;
10584}
10585#[doc = " Double ended queue data type.\n \\ingroup internal"]
10586#[repr(C)]
10587#[derive(Debug, Copy, Clone)]
10588pub struct igraph_dqueue_int_t {
10589 pub begin: *mut igraph_int_t,
10590 pub end: *mut igraph_int_t,
10591 pub stor_begin: *mut igraph_int_t,
10592 pub stor_end: *mut igraph_int_t,
10593}
10594#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10595const _: () = {
10596 ["Size of igraph_dqueue_int_t"][::std::mem::size_of::<igraph_dqueue_int_t>() - 32usize];
10597 ["Alignment of igraph_dqueue_int_t"][::std::mem::align_of::<igraph_dqueue_int_t>() - 8usize];
10598 ["Offset of field: igraph_dqueue_int_t::begin"]
10599 [::std::mem::offset_of!(igraph_dqueue_int_t, begin) - 0usize];
10600 ["Offset of field: igraph_dqueue_int_t::end"]
10601 [::std::mem::offset_of!(igraph_dqueue_int_t, end) - 8usize];
10602 ["Offset of field: igraph_dqueue_int_t::stor_begin"]
10603 [::std::mem::offset_of!(igraph_dqueue_int_t, stor_begin) - 16usize];
10604 ["Offset of field: igraph_dqueue_int_t::stor_end"]
10605 [::std::mem::offset_of!(igraph_dqueue_int_t, stor_end) - 24usize];
10606};
10607unsafe extern "C" {
10608 pub fn igraph_dqueue_int_init(
10609 q: *mut igraph_dqueue_int_t,
10610 capacity: igraph_int_t,
10611 ) -> igraph_error_t;
10612}
10613unsafe extern "C" {
10614 pub fn igraph_dqueue_int_destroy(q: *mut igraph_dqueue_int_t);
10615}
10616unsafe extern "C" {
10617 pub fn igraph_dqueue_int_empty(q: *const igraph_dqueue_int_t) -> igraph_bool_t;
10618}
10619unsafe extern "C" {
10620 pub fn igraph_dqueue_int_clear(q: *mut igraph_dqueue_int_t);
10621}
10622unsafe extern "C" {
10623 pub fn igraph_dqueue_int_full(q: *mut igraph_dqueue_int_t) -> igraph_bool_t;
10624}
10625unsafe extern "C" {
10626 pub fn igraph_dqueue_int_size(q: *const igraph_dqueue_int_t) -> igraph_int_t;
10627}
10628unsafe extern "C" {
10629 pub fn igraph_dqueue_int_pop(q: *mut igraph_dqueue_int_t) -> igraph_int_t;
10630}
10631unsafe extern "C" {
10632 pub fn igraph_dqueue_int_pop_back(q: *mut igraph_dqueue_int_t) -> igraph_int_t;
10633}
10634unsafe extern "C" {
10635 pub fn igraph_dqueue_int_head(q: *const igraph_dqueue_int_t) -> igraph_int_t;
10636}
10637unsafe extern "C" {
10638 pub fn igraph_dqueue_int_back(q: *const igraph_dqueue_int_t) -> igraph_int_t;
10639}
10640unsafe extern "C" {
10641 pub fn igraph_dqueue_int_push(
10642 q: *mut igraph_dqueue_int_t,
10643 elem: igraph_int_t,
10644 ) -> igraph_error_t;
10645}
10646unsafe extern "C" {
10647 pub fn igraph_dqueue_int_print(q: *const igraph_dqueue_int_t) -> igraph_error_t;
10648}
10649unsafe extern "C" {
10650 pub fn igraph_dqueue_int_fprint(
10651 q: *const igraph_dqueue_int_t,
10652 file: *mut FILE,
10653 ) -> igraph_error_t;
10654}
10655unsafe extern "C" {
10656 pub fn igraph_dqueue_int_get(q: *const igraph_dqueue_int_t, idx: igraph_int_t) -> igraph_int_t;
10657}
10658#[doc = " Stack data type.\n \\ingroup internal"]
10659#[repr(C)]
10660#[derive(Debug, Copy, Clone)]
10661pub struct igraph_stack_t {
10662 pub stor_begin: *mut igraph_real_t,
10663 pub stor_end: *mut igraph_real_t,
10664 pub end: *mut igraph_real_t,
10665}
10666#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10667const _: () = {
10668 ["Size of igraph_stack_t"][::std::mem::size_of::<igraph_stack_t>() - 24usize];
10669 ["Alignment of igraph_stack_t"][::std::mem::align_of::<igraph_stack_t>() - 8usize];
10670 ["Offset of field: igraph_stack_t::stor_begin"]
10671 [::std::mem::offset_of!(igraph_stack_t, stor_begin) - 0usize];
10672 ["Offset of field: igraph_stack_t::stor_end"]
10673 [::std::mem::offset_of!(igraph_stack_t, stor_end) - 8usize];
10674 ["Offset of field: igraph_stack_t::end"][::std::mem::offset_of!(igraph_stack_t, end) - 16usize];
10675};
10676unsafe extern "C" {
10677 pub fn igraph_stack_init(s: *mut igraph_stack_t, capacity: igraph_int_t) -> igraph_error_t;
10678}
10679unsafe extern "C" {
10680 pub fn igraph_stack_destroy(s: *mut igraph_stack_t);
10681}
10682unsafe extern "C" {
10683 pub fn igraph_stack_reserve(s: *mut igraph_stack_t, capacity: igraph_int_t) -> igraph_error_t;
10684}
10685unsafe extern "C" {
10686 pub fn igraph_stack_empty(s: *mut igraph_stack_t) -> igraph_bool_t;
10687}
10688unsafe extern "C" {
10689 pub fn igraph_stack_size(s: *const igraph_stack_t) -> igraph_int_t;
10690}
10691unsafe extern "C" {
10692 pub fn igraph_stack_capacity(s: *const igraph_stack_t) -> igraph_int_t;
10693}
10694unsafe extern "C" {
10695 pub fn igraph_stack_clear(s: *mut igraph_stack_t);
10696}
10697unsafe extern "C" {
10698 pub fn igraph_stack_push(s: *mut igraph_stack_t, elem: igraph_real_t) -> igraph_error_t;
10699}
10700unsafe extern "C" {
10701 pub fn igraph_stack_pop(s: *mut igraph_stack_t) -> igraph_real_t;
10702}
10703unsafe extern "C" {
10704 pub fn igraph_stack_top(s: *const igraph_stack_t) -> igraph_real_t;
10705}
10706unsafe extern "C" {
10707 pub fn igraph_stack_print(s: *const igraph_stack_t) -> igraph_error_t;
10708}
10709unsafe extern "C" {
10710 pub fn igraph_stack_fprint(s: *const igraph_stack_t, file: *mut FILE) -> igraph_error_t;
10711}
10712#[doc = " Stack data type.\n \\ingroup internal"]
10713#[repr(C)]
10714#[derive(Debug, Copy, Clone)]
10715pub struct igraph_stack_int_t {
10716 pub stor_begin: *mut igraph_int_t,
10717 pub stor_end: *mut igraph_int_t,
10718 pub end: *mut igraph_int_t,
10719}
10720#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10721const _: () = {
10722 ["Size of igraph_stack_int_t"][::std::mem::size_of::<igraph_stack_int_t>() - 24usize];
10723 ["Alignment of igraph_stack_int_t"][::std::mem::align_of::<igraph_stack_int_t>() - 8usize];
10724 ["Offset of field: igraph_stack_int_t::stor_begin"]
10725 [::std::mem::offset_of!(igraph_stack_int_t, stor_begin) - 0usize];
10726 ["Offset of field: igraph_stack_int_t::stor_end"]
10727 [::std::mem::offset_of!(igraph_stack_int_t, stor_end) - 8usize];
10728 ["Offset of field: igraph_stack_int_t::end"]
10729 [::std::mem::offset_of!(igraph_stack_int_t, end) - 16usize];
10730};
10731unsafe extern "C" {
10732 pub fn igraph_stack_int_init(
10733 s: *mut igraph_stack_int_t,
10734 capacity: igraph_int_t,
10735 ) -> igraph_error_t;
10736}
10737unsafe extern "C" {
10738 pub fn igraph_stack_int_destroy(s: *mut igraph_stack_int_t);
10739}
10740unsafe extern "C" {
10741 pub fn igraph_stack_int_reserve(
10742 s: *mut igraph_stack_int_t,
10743 capacity: igraph_int_t,
10744 ) -> igraph_error_t;
10745}
10746unsafe extern "C" {
10747 pub fn igraph_stack_int_empty(s: *mut igraph_stack_int_t) -> igraph_bool_t;
10748}
10749unsafe extern "C" {
10750 pub fn igraph_stack_int_size(s: *const igraph_stack_int_t) -> igraph_int_t;
10751}
10752unsafe extern "C" {
10753 pub fn igraph_stack_int_capacity(s: *const igraph_stack_int_t) -> igraph_int_t;
10754}
10755unsafe extern "C" {
10756 pub fn igraph_stack_int_clear(s: *mut igraph_stack_int_t);
10757}
10758unsafe extern "C" {
10759 pub fn igraph_stack_int_push(s: *mut igraph_stack_int_t, elem: igraph_int_t) -> igraph_error_t;
10760}
10761unsafe extern "C" {
10762 pub fn igraph_stack_int_pop(s: *mut igraph_stack_int_t) -> igraph_int_t;
10763}
10764unsafe extern "C" {
10765 pub fn igraph_stack_int_top(s: *const igraph_stack_int_t) -> igraph_int_t;
10766}
10767unsafe extern "C" {
10768 pub fn igraph_stack_int_print(s: *const igraph_stack_int_t) -> igraph_error_t;
10769}
10770unsafe extern "C" {
10771 pub fn igraph_stack_int_fprint(s: *const igraph_stack_int_t, file: *mut FILE)
10772 -> igraph_error_t;
10773}
10774#[doc = " Stack data type.\n \\ingroup internal"]
10775#[repr(C)]
10776#[derive(Debug, Copy, Clone)]
10777pub struct igraph_stack_char_t {
10778 pub stor_begin: *mut ::std::os::raw::c_char,
10779 pub stor_end: *mut ::std::os::raw::c_char,
10780 pub end: *mut ::std::os::raw::c_char,
10781}
10782#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10783const _: () = {
10784 ["Size of igraph_stack_char_t"][::std::mem::size_of::<igraph_stack_char_t>() - 24usize];
10785 ["Alignment of igraph_stack_char_t"][::std::mem::align_of::<igraph_stack_char_t>() - 8usize];
10786 ["Offset of field: igraph_stack_char_t::stor_begin"]
10787 [::std::mem::offset_of!(igraph_stack_char_t, stor_begin) - 0usize];
10788 ["Offset of field: igraph_stack_char_t::stor_end"]
10789 [::std::mem::offset_of!(igraph_stack_char_t, stor_end) - 8usize];
10790 ["Offset of field: igraph_stack_char_t::end"]
10791 [::std::mem::offset_of!(igraph_stack_char_t, end) - 16usize];
10792};
10793unsafe extern "C" {
10794 pub fn igraph_stack_char_init(
10795 s: *mut igraph_stack_char_t,
10796 capacity: igraph_int_t,
10797 ) -> igraph_error_t;
10798}
10799unsafe extern "C" {
10800 pub fn igraph_stack_char_destroy(s: *mut igraph_stack_char_t);
10801}
10802unsafe extern "C" {
10803 pub fn igraph_stack_char_reserve(
10804 s: *mut igraph_stack_char_t,
10805 capacity: igraph_int_t,
10806 ) -> igraph_error_t;
10807}
10808unsafe extern "C" {
10809 pub fn igraph_stack_char_empty(s: *mut igraph_stack_char_t) -> igraph_bool_t;
10810}
10811unsafe extern "C" {
10812 pub fn igraph_stack_char_size(s: *const igraph_stack_char_t) -> igraph_int_t;
10813}
10814unsafe extern "C" {
10815 pub fn igraph_stack_char_capacity(s: *const igraph_stack_char_t) -> igraph_int_t;
10816}
10817unsafe extern "C" {
10818 pub fn igraph_stack_char_clear(s: *mut igraph_stack_char_t);
10819}
10820unsafe extern "C" {
10821 pub fn igraph_stack_char_push(
10822 s: *mut igraph_stack_char_t,
10823 elem: ::std::os::raw::c_char,
10824 ) -> igraph_error_t;
10825}
10826unsafe extern "C" {
10827 pub fn igraph_stack_char_pop(s: *mut igraph_stack_char_t) -> ::std::os::raw::c_char;
10828}
10829unsafe extern "C" {
10830 pub fn igraph_stack_char_top(s: *const igraph_stack_char_t) -> ::std::os::raw::c_char;
10831}
10832unsafe extern "C" {
10833 pub fn igraph_stack_char_print(s: *const igraph_stack_char_t) -> igraph_error_t;
10834}
10835unsafe extern "C" {
10836 pub fn igraph_stack_char_fprint(
10837 s: *const igraph_stack_char_t,
10838 file: *mut FILE,
10839 ) -> igraph_error_t;
10840}
10841#[doc = " Stack data type.\n \\ingroup internal"]
10842#[repr(C)]
10843#[derive(Debug, Copy, Clone)]
10844pub struct igraph_stack_bool_t {
10845 pub stor_begin: *mut igraph_bool_t,
10846 pub stor_end: *mut igraph_bool_t,
10847 pub end: *mut igraph_bool_t,
10848}
10849#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10850const _: () = {
10851 ["Size of igraph_stack_bool_t"][::std::mem::size_of::<igraph_stack_bool_t>() - 24usize];
10852 ["Alignment of igraph_stack_bool_t"][::std::mem::align_of::<igraph_stack_bool_t>() - 8usize];
10853 ["Offset of field: igraph_stack_bool_t::stor_begin"]
10854 [::std::mem::offset_of!(igraph_stack_bool_t, stor_begin) - 0usize];
10855 ["Offset of field: igraph_stack_bool_t::stor_end"]
10856 [::std::mem::offset_of!(igraph_stack_bool_t, stor_end) - 8usize];
10857 ["Offset of field: igraph_stack_bool_t::end"]
10858 [::std::mem::offset_of!(igraph_stack_bool_t, end) - 16usize];
10859};
10860unsafe extern "C" {
10861 pub fn igraph_stack_bool_init(
10862 s: *mut igraph_stack_bool_t,
10863 capacity: igraph_int_t,
10864 ) -> igraph_error_t;
10865}
10866unsafe extern "C" {
10867 pub fn igraph_stack_bool_destroy(s: *mut igraph_stack_bool_t);
10868}
10869unsafe extern "C" {
10870 pub fn igraph_stack_bool_reserve(
10871 s: *mut igraph_stack_bool_t,
10872 capacity: igraph_int_t,
10873 ) -> igraph_error_t;
10874}
10875unsafe extern "C" {
10876 pub fn igraph_stack_bool_empty(s: *mut igraph_stack_bool_t) -> igraph_bool_t;
10877}
10878unsafe extern "C" {
10879 pub fn igraph_stack_bool_size(s: *const igraph_stack_bool_t) -> igraph_int_t;
10880}
10881unsafe extern "C" {
10882 pub fn igraph_stack_bool_capacity(s: *const igraph_stack_bool_t) -> igraph_int_t;
10883}
10884unsafe extern "C" {
10885 pub fn igraph_stack_bool_clear(s: *mut igraph_stack_bool_t);
10886}
10887unsafe extern "C" {
10888 pub fn igraph_stack_bool_push(
10889 s: *mut igraph_stack_bool_t,
10890 elem: igraph_bool_t,
10891 ) -> igraph_error_t;
10892}
10893unsafe extern "C" {
10894 pub fn igraph_stack_bool_pop(s: *mut igraph_stack_bool_t) -> igraph_bool_t;
10895}
10896unsafe extern "C" {
10897 pub fn igraph_stack_bool_top(s: *const igraph_stack_bool_t) -> igraph_bool_t;
10898}
10899unsafe extern "C" {
10900 pub fn igraph_stack_bool_print(s: *const igraph_stack_bool_t) -> igraph_error_t;
10901}
10902unsafe extern "C" {
10903 pub fn igraph_stack_bool_fprint(
10904 s: *const igraph_stack_bool_t,
10905 file: *mut FILE,
10906 ) -> igraph_error_t;
10907}
10908#[repr(C)]
10909#[derive(Debug, Copy, Clone)]
10910pub struct igraph_heap_t {
10911 pub stor_begin: *mut igraph_real_t,
10912 pub stor_end: *mut igraph_real_t,
10913 pub end: *mut igraph_real_t,
10914}
10915#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10916const _: () = {
10917 ["Size of igraph_heap_t"][::std::mem::size_of::<igraph_heap_t>() - 24usize];
10918 ["Alignment of igraph_heap_t"][::std::mem::align_of::<igraph_heap_t>() - 8usize];
10919 ["Offset of field: igraph_heap_t::stor_begin"]
10920 [::std::mem::offset_of!(igraph_heap_t, stor_begin) - 0usize];
10921 ["Offset of field: igraph_heap_t::stor_end"]
10922 [::std::mem::offset_of!(igraph_heap_t, stor_end) - 8usize];
10923 ["Offset of field: igraph_heap_t::end"][::std::mem::offset_of!(igraph_heap_t, end) - 16usize];
10924};
10925unsafe extern "C" {
10926 pub fn igraph_heap_init(h: *mut igraph_heap_t, capacity: igraph_int_t) -> igraph_error_t;
10927}
10928unsafe extern "C" {
10929 pub fn igraph_heap_init_array(
10930 t: *mut igraph_heap_t,
10931 data: *const igraph_real_t,
10932 len: igraph_int_t,
10933 ) -> igraph_error_t;
10934}
10935unsafe extern "C" {
10936 pub fn igraph_heap_destroy(h: *mut igraph_heap_t);
10937}
10938unsafe extern "C" {
10939 pub fn igraph_heap_clear(h: *mut igraph_heap_t);
10940}
10941unsafe extern "C" {
10942 pub fn igraph_heap_empty(h: *const igraph_heap_t) -> igraph_bool_t;
10943}
10944unsafe extern "C" {
10945 pub fn igraph_heap_push(h: *mut igraph_heap_t, elem: igraph_real_t) -> igraph_error_t;
10946}
10947unsafe extern "C" {
10948 pub fn igraph_heap_top(h: *const igraph_heap_t) -> igraph_real_t;
10949}
10950unsafe extern "C" {
10951 pub fn igraph_heap_delete_top(h: *mut igraph_heap_t) -> igraph_real_t;
10952}
10953unsafe extern "C" {
10954 pub fn igraph_heap_size(h: *const igraph_heap_t) -> igraph_int_t;
10955}
10956unsafe extern "C" {
10957 pub fn igraph_heap_reserve(h: *mut igraph_heap_t, capacity: igraph_int_t) -> igraph_error_t;
10958}
10959#[repr(C)]
10960#[derive(Debug, Copy, Clone)]
10961pub struct igraph_heap_min_t {
10962 pub stor_begin: *mut igraph_real_t,
10963 pub stor_end: *mut igraph_real_t,
10964 pub end: *mut igraph_real_t,
10965}
10966#[allow(clippy::unnecessary_operation, clippy::identity_op)]
10967const _: () = {
10968 ["Size of igraph_heap_min_t"][::std::mem::size_of::<igraph_heap_min_t>() - 24usize];
10969 ["Alignment of igraph_heap_min_t"][::std::mem::align_of::<igraph_heap_min_t>() - 8usize];
10970 ["Offset of field: igraph_heap_min_t::stor_begin"]
10971 [::std::mem::offset_of!(igraph_heap_min_t, stor_begin) - 0usize];
10972 ["Offset of field: igraph_heap_min_t::stor_end"]
10973 [::std::mem::offset_of!(igraph_heap_min_t, stor_end) - 8usize];
10974 ["Offset of field: igraph_heap_min_t::end"]
10975 [::std::mem::offset_of!(igraph_heap_min_t, end) - 16usize];
10976};
10977unsafe extern "C" {
10978 pub fn igraph_heap_min_init(
10979 h: *mut igraph_heap_min_t,
10980 capacity: igraph_int_t,
10981 ) -> igraph_error_t;
10982}
10983unsafe extern "C" {
10984 pub fn igraph_heap_min_init_array(
10985 t: *mut igraph_heap_min_t,
10986 data: *const igraph_real_t,
10987 len: igraph_int_t,
10988 ) -> igraph_error_t;
10989}
10990unsafe extern "C" {
10991 pub fn igraph_heap_min_destroy(h: *mut igraph_heap_min_t);
10992}
10993unsafe extern "C" {
10994 pub fn igraph_heap_min_clear(h: *mut igraph_heap_min_t);
10995}
10996unsafe extern "C" {
10997 pub fn igraph_heap_min_empty(h: *const igraph_heap_min_t) -> igraph_bool_t;
10998}
10999unsafe extern "C" {
11000 pub fn igraph_heap_min_push(h: *mut igraph_heap_min_t, elem: igraph_real_t) -> igraph_error_t;
11001}
11002unsafe extern "C" {
11003 pub fn igraph_heap_min_top(h: *const igraph_heap_min_t) -> igraph_real_t;
11004}
11005unsafe extern "C" {
11006 pub fn igraph_heap_min_delete_top(h: *mut igraph_heap_min_t) -> igraph_real_t;
11007}
11008unsafe extern "C" {
11009 pub fn igraph_heap_min_size(h: *const igraph_heap_min_t) -> igraph_int_t;
11010}
11011unsafe extern "C" {
11012 pub fn igraph_heap_min_reserve(
11013 h: *mut igraph_heap_min_t,
11014 capacity: igraph_int_t,
11015 ) -> igraph_error_t;
11016}
11017#[repr(C)]
11018#[derive(Debug, Copy, Clone)]
11019pub struct igraph_heap_int_t {
11020 pub stor_begin: *mut igraph_int_t,
11021 pub stor_end: *mut igraph_int_t,
11022 pub end: *mut igraph_int_t,
11023}
11024#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11025const _: () = {
11026 ["Size of igraph_heap_int_t"][::std::mem::size_of::<igraph_heap_int_t>() - 24usize];
11027 ["Alignment of igraph_heap_int_t"][::std::mem::align_of::<igraph_heap_int_t>() - 8usize];
11028 ["Offset of field: igraph_heap_int_t::stor_begin"]
11029 [::std::mem::offset_of!(igraph_heap_int_t, stor_begin) - 0usize];
11030 ["Offset of field: igraph_heap_int_t::stor_end"]
11031 [::std::mem::offset_of!(igraph_heap_int_t, stor_end) - 8usize];
11032 ["Offset of field: igraph_heap_int_t::end"]
11033 [::std::mem::offset_of!(igraph_heap_int_t, end) - 16usize];
11034};
11035unsafe extern "C" {
11036 pub fn igraph_heap_int_init(
11037 h: *mut igraph_heap_int_t,
11038 capacity: igraph_int_t,
11039 ) -> igraph_error_t;
11040}
11041unsafe extern "C" {
11042 pub fn igraph_heap_int_init_array(
11043 t: *mut igraph_heap_int_t,
11044 data: *const igraph_int_t,
11045 len: igraph_int_t,
11046 ) -> igraph_error_t;
11047}
11048unsafe extern "C" {
11049 pub fn igraph_heap_int_destroy(h: *mut igraph_heap_int_t);
11050}
11051unsafe extern "C" {
11052 pub fn igraph_heap_int_clear(h: *mut igraph_heap_int_t);
11053}
11054unsafe extern "C" {
11055 pub fn igraph_heap_int_empty(h: *const igraph_heap_int_t) -> igraph_bool_t;
11056}
11057unsafe extern "C" {
11058 pub fn igraph_heap_int_push(h: *mut igraph_heap_int_t, elem: igraph_int_t) -> igraph_error_t;
11059}
11060unsafe extern "C" {
11061 pub fn igraph_heap_int_top(h: *const igraph_heap_int_t) -> igraph_int_t;
11062}
11063unsafe extern "C" {
11064 pub fn igraph_heap_int_delete_top(h: *mut igraph_heap_int_t) -> igraph_int_t;
11065}
11066unsafe extern "C" {
11067 pub fn igraph_heap_int_size(h: *const igraph_heap_int_t) -> igraph_int_t;
11068}
11069unsafe extern "C" {
11070 pub fn igraph_heap_int_reserve(
11071 h: *mut igraph_heap_int_t,
11072 capacity: igraph_int_t,
11073 ) -> igraph_error_t;
11074}
11075#[repr(C)]
11076#[derive(Debug, Copy, Clone)]
11077pub struct igraph_heap_min_int_t {
11078 pub stor_begin: *mut igraph_int_t,
11079 pub stor_end: *mut igraph_int_t,
11080 pub end: *mut igraph_int_t,
11081}
11082#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11083const _: () = {
11084 ["Size of igraph_heap_min_int_t"][::std::mem::size_of::<igraph_heap_min_int_t>() - 24usize];
11085 ["Alignment of igraph_heap_min_int_t"]
11086 [::std::mem::align_of::<igraph_heap_min_int_t>() - 8usize];
11087 ["Offset of field: igraph_heap_min_int_t::stor_begin"]
11088 [::std::mem::offset_of!(igraph_heap_min_int_t, stor_begin) - 0usize];
11089 ["Offset of field: igraph_heap_min_int_t::stor_end"]
11090 [::std::mem::offset_of!(igraph_heap_min_int_t, stor_end) - 8usize];
11091 ["Offset of field: igraph_heap_min_int_t::end"]
11092 [::std::mem::offset_of!(igraph_heap_min_int_t, end) - 16usize];
11093};
11094unsafe extern "C" {
11095 pub fn igraph_heap_min_int_init(
11096 h: *mut igraph_heap_min_int_t,
11097 capacity: igraph_int_t,
11098 ) -> igraph_error_t;
11099}
11100unsafe extern "C" {
11101 pub fn igraph_heap_min_int_init_array(
11102 t: *mut igraph_heap_min_int_t,
11103 data: *const igraph_int_t,
11104 len: igraph_int_t,
11105 ) -> igraph_error_t;
11106}
11107unsafe extern "C" {
11108 pub fn igraph_heap_min_int_destroy(h: *mut igraph_heap_min_int_t);
11109}
11110unsafe extern "C" {
11111 pub fn igraph_heap_min_int_clear(h: *mut igraph_heap_min_int_t);
11112}
11113unsafe extern "C" {
11114 pub fn igraph_heap_min_int_empty(h: *const igraph_heap_min_int_t) -> igraph_bool_t;
11115}
11116unsafe extern "C" {
11117 pub fn igraph_heap_min_int_push(
11118 h: *mut igraph_heap_min_int_t,
11119 elem: igraph_int_t,
11120 ) -> igraph_error_t;
11121}
11122unsafe extern "C" {
11123 pub fn igraph_heap_min_int_top(h: *const igraph_heap_min_int_t) -> igraph_int_t;
11124}
11125unsafe extern "C" {
11126 pub fn igraph_heap_min_int_delete_top(h: *mut igraph_heap_min_int_t) -> igraph_int_t;
11127}
11128unsafe extern "C" {
11129 pub fn igraph_heap_min_int_size(h: *const igraph_heap_min_int_t) -> igraph_int_t;
11130}
11131unsafe extern "C" {
11132 pub fn igraph_heap_min_int_reserve(
11133 h: *mut igraph_heap_min_int_t,
11134 capacity: igraph_int_t,
11135 ) -> igraph_error_t;
11136}
11137#[repr(C)]
11138#[derive(Debug, Copy, Clone)]
11139pub struct igraph_heap_char_t {
11140 pub stor_begin: *mut ::std::os::raw::c_char,
11141 pub stor_end: *mut ::std::os::raw::c_char,
11142 pub end: *mut ::std::os::raw::c_char,
11143}
11144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11145const _: () = {
11146 ["Size of igraph_heap_char_t"][::std::mem::size_of::<igraph_heap_char_t>() - 24usize];
11147 ["Alignment of igraph_heap_char_t"][::std::mem::align_of::<igraph_heap_char_t>() - 8usize];
11148 ["Offset of field: igraph_heap_char_t::stor_begin"]
11149 [::std::mem::offset_of!(igraph_heap_char_t, stor_begin) - 0usize];
11150 ["Offset of field: igraph_heap_char_t::stor_end"]
11151 [::std::mem::offset_of!(igraph_heap_char_t, stor_end) - 8usize];
11152 ["Offset of field: igraph_heap_char_t::end"]
11153 [::std::mem::offset_of!(igraph_heap_char_t, end) - 16usize];
11154};
11155unsafe extern "C" {
11156 pub fn igraph_heap_char_init(
11157 h: *mut igraph_heap_char_t,
11158 capacity: igraph_int_t,
11159 ) -> igraph_error_t;
11160}
11161unsafe extern "C" {
11162 pub fn igraph_heap_char_init_array(
11163 t: *mut igraph_heap_char_t,
11164 data: *const ::std::os::raw::c_char,
11165 len: igraph_int_t,
11166 ) -> igraph_error_t;
11167}
11168unsafe extern "C" {
11169 pub fn igraph_heap_char_destroy(h: *mut igraph_heap_char_t);
11170}
11171unsafe extern "C" {
11172 pub fn igraph_heap_char_clear(h: *mut igraph_heap_char_t);
11173}
11174unsafe extern "C" {
11175 pub fn igraph_heap_char_empty(h: *const igraph_heap_char_t) -> igraph_bool_t;
11176}
11177unsafe extern "C" {
11178 pub fn igraph_heap_char_push(
11179 h: *mut igraph_heap_char_t,
11180 elem: ::std::os::raw::c_char,
11181 ) -> igraph_error_t;
11182}
11183unsafe extern "C" {
11184 pub fn igraph_heap_char_top(h: *const igraph_heap_char_t) -> ::std::os::raw::c_char;
11185}
11186unsafe extern "C" {
11187 pub fn igraph_heap_char_delete_top(h: *mut igraph_heap_char_t) -> ::std::os::raw::c_char;
11188}
11189unsafe extern "C" {
11190 pub fn igraph_heap_char_size(h: *const igraph_heap_char_t) -> igraph_int_t;
11191}
11192unsafe extern "C" {
11193 pub fn igraph_heap_char_reserve(
11194 h: *mut igraph_heap_char_t,
11195 capacity: igraph_int_t,
11196 ) -> igraph_error_t;
11197}
11198#[repr(C)]
11199#[derive(Debug, Copy, Clone)]
11200pub struct igraph_heap_min_char_t {
11201 pub stor_begin: *mut ::std::os::raw::c_char,
11202 pub stor_end: *mut ::std::os::raw::c_char,
11203 pub end: *mut ::std::os::raw::c_char,
11204}
11205#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11206const _: () = {
11207 ["Size of igraph_heap_min_char_t"][::std::mem::size_of::<igraph_heap_min_char_t>() - 24usize];
11208 ["Alignment of igraph_heap_min_char_t"]
11209 [::std::mem::align_of::<igraph_heap_min_char_t>() - 8usize];
11210 ["Offset of field: igraph_heap_min_char_t::stor_begin"]
11211 [::std::mem::offset_of!(igraph_heap_min_char_t, stor_begin) - 0usize];
11212 ["Offset of field: igraph_heap_min_char_t::stor_end"]
11213 [::std::mem::offset_of!(igraph_heap_min_char_t, stor_end) - 8usize];
11214 ["Offset of field: igraph_heap_min_char_t::end"]
11215 [::std::mem::offset_of!(igraph_heap_min_char_t, end) - 16usize];
11216};
11217unsafe extern "C" {
11218 pub fn igraph_heap_min_char_init(
11219 h: *mut igraph_heap_min_char_t,
11220 capacity: igraph_int_t,
11221 ) -> igraph_error_t;
11222}
11223unsafe extern "C" {
11224 pub fn igraph_heap_min_char_init_array(
11225 t: *mut igraph_heap_min_char_t,
11226 data: *const ::std::os::raw::c_char,
11227 len: igraph_int_t,
11228 ) -> igraph_error_t;
11229}
11230unsafe extern "C" {
11231 pub fn igraph_heap_min_char_destroy(h: *mut igraph_heap_min_char_t);
11232}
11233unsafe extern "C" {
11234 pub fn igraph_heap_min_char_clear(h: *mut igraph_heap_min_char_t);
11235}
11236unsafe extern "C" {
11237 pub fn igraph_heap_min_char_empty(h: *const igraph_heap_min_char_t) -> igraph_bool_t;
11238}
11239unsafe extern "C" {
11240 pub fn igraph_heap_min_char_push(
11241 h: *mut igraph_heap_min_char_t,
11242 elem: ::std::os::raw::c_char,
11243 ) -> igraph_error_t;
11244}
11245unsafe extern "C" {
11246 pub fn igraph_heap_min_char_top(h: *const igraph_heap_min_char_t) -> ::std::os::raw::c_char;
11247}
11248unsafe extern "C" {
11249 pub fn igraph_heap_min_char_delete_top(
11250 h: *mut igraph_heap_min_char_t,
11251 ) -> ::std::os::raw::c_char;
11252}
11253unsafe extern "C" {
11254 pub fn igraph_heap_min_char_size(h: *const igraph_heap_min_char_t) -> igraph_int_t;
11255}
11256unsafe extern "C" {
11257 pub fn igraph_heap_min_char_reserve(
11258 h: *mut igraph_heap_min_char_t,
11259 capacity: igraph_int_t,
11260 ) -> igraph_error_t;
11261}
11262#[repr(C)]
11263#[derive(Debug, Copy, Clone)]
11264pub struct igraph_psumtree_t {
11265 pub v: igraph_vector_t,
11266 pub size: igraph_int_t,
11267 pub offset: igraph_int_t,
11268}
11269#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11270const _: () = {
11271 ["Size of igraph_psumtree_t"][::std::mem::size_of::<igraph_psumtree_t>() - 40usize];
11272 ["Alignment of igraph_psumtree_t"][::std::mem::align_of::<igraph_psumtree_t>() - 8usize];
11273 ["Offset of field: igraph_psumtree_t::v"]
11274 [::std::mem::offset_of!(igraph_psumtree_t, v) - 0usize];
11275 ["Offset of field: igraph_psumtree_t::size"]
11276 [::std::mem::offset_of!(igraph_psumtree_t, size) - 24usize];
11277 ["Offset of field: igraph_psumtree_t::offset"]
11278 [::std::mem::offset_of!(igraph_psumtree_t, offset) - 32usize];
11279};
11280unsafe extern "C" {
11281 pub fn igraph_psumtree_init(t: *mut igraph_psumtree_t, size: igraph_int_t) -> igraph_error_t;
11282}
11283unsafe extern "C" {
11284 pub fn igraph_psumtree_reset(t: *mut igraph_psumtree_t);
11285}
11286unsafe extern "C" {
11287 pub fn igraph_psumtree_destroy(t: *mut igraph_psumtree_t);
11288}
11289unsafe extern "C" {
11290 pub fn igraph_psumtree_get(t: *const igraph_psumtree_t, idx: igraph_int_t) -> igraph_real_t;
11291}
11292unsafe extern "C" {
11293 pub fn igraph_psumtree_size(t: *const igraph_psumtree_t) -> igraph_int_t;
11294}
11295unsafe extern "C" {
11296 pub fn igraph_psumtree_search(
11297 t: *const igraph_psumtree_t,
11298 idx: *mut igraph_int_t,
11299 elem: igraph_real_t,
11300 ) -> igraph_error_t;
11301}
11302unsafe extern "C" {
11303 pub fn igraph_psumtree_update(
11304 t: *mut igraph_psumtree_t,
11305 idx: igraph_int_t,
11306 new_value: igraph_real_t,
11307 ) -> igraph_error_t;
11308}
11309unsafe extern "C" {
11310 pub fn igraph_psumtree_sum(t: *const igraph_psumtree_t) -> igraph_real_t;
11311}
11312#[doc = " Vector of strings\n \\ingroup internal"]
11313#[repr(C)]
11314#[derive(Debug, Copy, Clone)]
11315pub struct s_igraph_strvector {
11316 pub stor_begin: *mut *const ::std::os::raw::c_char,
11317 pub stor_end: *mut *const ::std::os::raw::c_char,
11318 pub end: *mut *const ::std::os::raw::c_char,
11319}
11320#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11321const _: () = {
11322 ["Size of s_igraph_strvector"][::std::mem::size_of::<s_igraph_strvector>() - 24usize];
11323 ["Alignment of s_igraph_strvector"][::std::mem::align_of::<s_igraph_strvector>() - 8usize];
11324 ["Offset of field: s_igraph_strvector::stor_begin"]
11325 [::std::mem::offset_of!(s_igraph_strvector, stor_begin) - 0usize];
11326 ["Offset of field: s_igraph_strvector::stor_end"]
11327 [::std::mem::offset_of!(s_igraph_strvector, stor_end) - 8usize];
11328 ["Offset of field: s_igraph_strvector::end"]
11329 [::std::mem::offset_of!(s_igraph_strvector, end) - 16usize];
11330};
11331#[doc = " Vector of strings\n \\ingroup internal"]
11332pub type igraph_strvector_t = s_igraph_strvector;
11333unsafe extern "C" {
11334 pub fn igraph_strvector_init(sv: *mut igraph_strvector_t, len: igraph_int_t) -> igraph_error_t;
11335}
11336unsafe extern "C" {
11337 pub fn igraph_strvector_destroy(sv: *mut igraph_strvector_t);
11338}
11339unsafe extern "C" {
11340 pub fn igraph_strvector_size(sv: *const igraph_strvector_t) -> igraph_int_t;
11341}
11342unsafe extern "C" {
11343 pub fn igraph_strvector_capacity(sv: *const igraph_strvector_t) -> igraph_int_t;
11344}
11345unsafe extern "C" {
11346 pub fn igraph_strvector_get(
11347 sv: *const igraph_strvector_t,
11348 idx: igraph_int_t,
11349 ) -> *const ::std::os::raw::c_char;
11350}
11351unsafe extern "C" {
11352 pub fn igraph_strvector_set(
11353 sv: *mut igraph_strvector_t,
11354 idx: igraph_int_t,
11355 value: *const ::std::os::raw::c_char,
11356 ) -> igraph_error_t;
11357}
11358unsafe extern "C" {
11359 pub fn igraph_strvector_set_len(
11360 sv: *mut igraph_strvector_t,
11361 idx: igraph_int_t,
11362 value: *const ::std::os::raw::c_char,
11363 len: usize,
11364 ) -> igraph_error_t;
11365}
11366unsafe extern "C" {
11367 pub fn igraph_strvector_clear(sv: *mut igraph_strvector_t);
11368}
11369unsafe extern "C" {
11370 pub fn igraph_strvector_remove_section(
11371 v: *mut igraph_strvector_t,
11372 from: igraph_int_t,
11373 to: igraph_int_t,
11374 );
11375}
11376unsafe extern "C" {
11377 pub fn igraph_strvector_remove(v: *mut igraph_strvector_t, elem: igraph_int_t);
11378}
11379unsafe extern "C" {
11380 pub fn igraph_strvector_init_copy(
11381 to: *mut igraph_strvector_t,
11382 from: *const igraph_strvector_t,
11383 ) -> igraph_error_t;
11384}
11385unsafe extern "C" {
11386 pub fn igraph_strvector_append(
11387 to: *mut igraph_strvector_t,
11388 from: *const igraph_strvector_t,
11389 ) -> igraph_error_t;
11390}
11391unsafe extern "C" {
11392 pub fn igraph_strvector_merge(
11393 to: *mut igraph_strvector_t,
11394 from: *mut igraph_strvector_t,
11395 ) -> igraph_error_t;
11396}
11397unsafe extern "C" {
11398 pub fn igraph_strvector_swap(v1: *mut igraph_strvector_t, v2: *mut igraph_strvector_t);
11399}
11400unsafe extern "C" {
11401 pub fn igraph_strvector_update(
11402 to: *mut igraph_strvector_t,
11403 from: *const igraph_strvector_t,
11404 ) -> igraph_error_t;
11405}
11406unsafe extern "C" {
11407 pub fn igraph_strvector_resize(
11408 v: *mut igraph_strvector_t,
11409 newsize: igraph_int_t,
11410 ) -> igraph_error_t;
11411}
11412unsafe extern "C" {
11413 pub fn igraph_strvector_resize_min(sv: *mut igraph_strvector_t);
11414}
11415unsafe extern "C" {
11416 pub fn igraph_strvector_push_back(
11417 v: *mut igraph_strvector_t,
11418 value: *const ::std::os::raw::c_char,
11419 ) -> igraph_error_t;
11420}
11421unsafe extern "C" {
11422 pub fn igraph_strvector_push_back_len(
11423 v: *mut igraph_strvector_t,
11424 value: *const ::std::os::raw::c_char,
11425 len: usize,
11426 ) -> igraph_error_t;
11427}
11428unsafe extern "C" {
11429 pub fn igraph_strvector_fprint(
11430 v: *const igraph_strvector_t,
11431 file: *mut FILE,
11432 sep: *const ::std::os::raw::c_char,
11433 ) -> igraph_error_t;
11434}
11435unsafe extern "C" {
11436 pub fn igraph_strvector_print(
11437 v: *const igraph_strvector_t,
11438 sep: *const ::std::os::raw::c_char,
11439 ) -> igraph_error_t;
11440}
11441unsafe extern "C" {
11442 pub fn igraph_strvector_index(
11443 v: *const igraph_strvector_t,
11444 newv: *mut igraph_strvector_t,
11445 idx: *const igraph_vector_int_t,
11446 ) -> igraph_error_t;
11447}
11448unsafe extern "C" {
11449 pub fn igraph_strvector_reserve(
11450 sv: *mut igraph_strvector_t,
11451 capacity: igraph_int_t,
11452 ) -> igraph_error_t;
11453}
11454unsafe extern "C" {
11455 pub fn igraph_strvector_swap_elements(
11456 sv: *mut igraph_strvector_t,
11457 i: igraph_int_t,
11458 j: igraph_int_t,
11459 );
11460}
11461#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
11462#[repr(C)]
11463#[derive(Debug, Copy, Clone)]
11464pub struct igraph_vector_list_t {
11465 pub stor_begin: *mut igraph_vector_t,
11466 pub stor_end: *mut igraph_vector_t,
11467 pub end: *mut igraph_vector_t,
11468}
11469#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11470const _: () = {
11471 ["Size of igraph_vector_list_t"][::std::mem::size_of::<igraph_vector_list_t>() - 24usize];
11472 ["Alignment of igraph_vector_list_t"][::std::mem::align_of::<igraph_vector_list_t>() - 8usize];
11473 ["Offset of field: igraph_vector_list_t::stor_begin"]
11474 [::std::mem::offset_of!(igraph_vector_list_t, stor_begin) - 0usize];
11475 ["Offset of field: igraph_vector_list_t::stor_end"]
11476 [::std::mem::offset_of!(igraph_vector_list_t, stor_end) - 8usize];
11477 ["Offset of field: igraph_vector_list_t::end"]
11478 [::std::mem::offset_of!(igraph_vector_list_t, end) - 16usize];
11479};
11480unsafe extern "C" {
11481 pub fn igraph_vector_list_init(
11482 v: *mut igraph_vector_list_t,
11483 size: igraph_int_t,
11484 ) -> igraph_error_t;
11485}
11486unsafe extern "C" {
11487 pub fn igraph_vector_list_init_copy(
11488 to: *mut igraph_vector_list_t,
11489 from: *const igraph_vector_list_t,
11490 ) -> igraph_error_t;
11491}
11492unsafe extern "C" {
11493 pub fn igraph_vector_list_destroy(v: *mut igraph_vector_list_t);
11494}
11495unsafe extern "C" {
11496 pub fn igraph_vector_list_get_ptr(
11497 v: *const igraph_vector_list_t,
11498 pos: igraph_int_t,
11499 ) -> *mut igraph_vector_t;
11500}
11501unsafe extern "C" {
11502 pub fn igraph_vector_list_set(
11503 v: *mut igraph_vector_list_t,
11504 pos: igraph_int_t,
11505 e: *mut igraph_vector_t,
11506 );
11507}
11508unsafe extern "C" {
11509 pub fn igraph_vector_list_tail_ptr(v: *const igraph_vector_list_t) -> *mut igraph_vector_t;
11510}
11511unsafe extern "C" {
11512 pub fn igraph_vector_list_capacity(v: *const igraph_vector_list_t) -> igraph_int_t;
11513}
11514unsafe extern "C" {
11515 pub fn igraph_vector_list_empty(v: *const igraph_vector_list_t) -> igraph_bool_t;
11516}
11517unsafe extern "C" {
11518 pub fn igraph_vector_list_size(v: *const igraph_vector_list_t) -> igraph_int_t;
11519}
11520unsafe extern "C" {
11521 pub fn igraph_vector_list_clear(v: *mut igraph_vector_list_t);
11522}
11523unsafe extern "C" {
11524 pub fn igraph_vector_list_reserve(
11525 v: *mut igraph_vector_list_t,
11526 capacity: igraph_int_t,
11527 ) -> igraph_error_t;
11528}
11529unsafe extern "C" {
11530 pub fn igraph_vector_list_resize(
11531 v: *mut igraph_vector_list_t,
11532 new_size: igraph_int_t,
11533 ) -> igraph_error_t;
11534}
11535unsafe extern "C" {
11536 pub fn igraph_vector_list_discard(v: *mut igraph_vector_list_t, index: igraph_int_t);
11537}
11538unsafe extern "C" {
11539 pub fn igraph_vector_list_discard_back(v: *mut igraph_vector_list_t);
11540}
11541unsafe extern "C" {
11542 pub fn igraph_vector_list_discard_fast(v: *mut igraph_vector_list_t, index: igraph_int_t);
11543}
11544unsafe extern "C" {
11545 pub fn igraph_vector_list_insert(
11546 v: *mut igraph_vector_list_t,
11547 pos: igraph_int_t,
11548 e: *mut igraph_vector_t,
11549 ) -> igraph_error_t;
11550}
11551unsafe extern "C" {
11552 pub fn igraph_vector_list_insert_copy(
11553 v: *mut igraph_vector_list_t,
11554 pos: igraph_int_t,
11555 e: *const igraph_vector_t,
11556 ) -> igraph_error_t;
11557}
11558unsafe extern "C" {
11559 pub fn igraph_vector_list_insert_new(
11560 v: *mut igraph_vector_list_t,
11561 pos: igraph_int_t,
11562 result: *mut *mut igraph_vector_t,
11563 ) -> igraph_error_t;
11564}
11565unsafe extern "C" {
11566 pub fn igraph_vector_list_push_back(
11567 v: *mut igraph_vector_list_t,
11568 e: *mut igraph_vector_t,
11569 ) -> igraph_error_t;
11570}
11571unsafe extern "C" {
11572 pub fn igraph_vector_list_push_back_copy(
11573 v: *mut igraph_vector_list_t,
11574 e: *const igraph_vector_t,
11575 ) -> igraph_error_t;
11576}
11577unsafe extern "C" {
11578 pub fn igraph_vector_list_push_back_new(
11579 v: *mut igraph_vector_list_t,
11580 result: *mut *mut igraph_vector_t,
11581 ) -> igraph_error_t;
11582}
11583unsafe extern "C" {
11584 pub fn igraph_vector_list_pop_back(v: *mut igraph_vector_list_t) -> igraph_vector_t;
11585}
11586unsafe extern "C" {
11587 pub fn igraph_vector_list_remove(
11588 v: *mut igraph_vector_list_t,
11589 index: igraph_int_t,
11590 e: *mut igraph_vector_t,
11591 ) -> igraph_error_t;
11592}
11593unsafe extern "C" {
11594 pub fn igraph_vector_list_remove_fast(
11595 v: *mut igraph_vector_list_t,
11596 index: igraph_int_t,
11597 e: *mut igraph_vector_t,
11598 ) -> igraph_error_t;
11599}
11600unsafe extern "C" {
11601 pub fn igraph_vector_list_replace(
11602 v: *mut igraph_vector_list_t,
11603 pos: igraph_int_t,
11604 e: *mut igraph_vector_t,
11605 );
11606}
11607unsafe extern "C" {
11608 pub fn igraph_vector_list_remove_consecutive_duplicates(
11609 v: *mut igraph_vector_list_t,
11610 eq: ::std::option::Option<
11611 unsafe extern "C" fn(
11612 arg1: *const igraph_vector_t,
11613 arg2: *const igraph_vector_t,
11614 ) -> igraph_bool_t,
11615 >,
11616 );
11617}
11618unsafe extern "C" {
11619 pub fn igraph_vector_list_permute(
11620 v: *mut igraph_vector_list_t,
11621 index: *const igraph_vector_int_t,
11622 ) -> igraph_error_t;
11623}
11624unsafe extern "C" {
11625 pub fn igraph_vector_list_reverse(v: *mut igraph_vector_list_t) -> igraph_error_t;
11626}
11627unsafe extern "C" {
11628 pub fn igraph_vector_list_swap(v1: *mut igraph_vector_list_t, v2: *mut igraph_vector_list_t);
11629}
11630unsafe extern "C" {
11631 pub fn igraph_vector_list_swap_elements(
11632 v: *mut igraph_vector_list_t,
11633 i: igraph_int_t,
11634 j: igraph_int_t,
11635 );
11636}
11637unsafe extern "C" {
11638 pub fn igraph_vector_list_sort(
11639 v: *mut igraph_vector_list_t,
11640 cmp: ::std::option::Option<
11641 unsafe extern "C" fn(
11642 arg1: *const igraph_vector_t,
11643 arg2: *const igraph_vector_t,
11644 ) -> ::std::os::raw::c_int,
11645 >,
11646 );
11647}
11648unsafe extern "C" {
11649 pub fn igraph_vector_list_sort_ind(
11650 v: *mut igraph_vector_list_t,
11651 ind: *mut igraph_vector_int_t,
11652 cmp: ::std::option::Option<
11653 unsafe extern "C" fn(
11654 arg1: *const igraph_vector_t,
11655 arg2: *const igraph_vector_t,
11656 ) -> ::std::os::raw::c_int,
11657 >,
11658 ) -> igraph_error_t;
11659}
11660#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
11661#[repr(C)]
11662#[derive(Debug, Copy, Clone)]
11663pub struct igraph_vector_int_list_t {
11664 pub stor_begin: *mut igraph_vector_int_t,
11665 pub stor_end: *mut igraph_vector_int_t,
11666 pub end: *mut igraph_vector_int_t,
11667}
11668#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11669const _: () = {
11670 ["Size of igraph_vector_int_list_t"]
11671 [::std::mem::size_of::<igraph_vector_int_list_t>() - 24usize];
11672 ["Alignment of igraph_vector_int_list_t"]
11673 [::std::mem::align_of::<igraph_vector_int_list_t>() - 8usize];
11674 ["Offset of field: igraph_vector_int_list_t::stor_begin"]
11675 [::std::mem::offset_of!(igraph_vector_int_list_t, stor_begin) - 0usize];
11676 ["Offset of field: igraph_vector_int_list_t::stor_end"]
11677 [::std::mem::offset_of!(igraph_vector_int_list_t, stor_end) - 8usize];
11678 ["Offset of field: igraph_vector_int_list_t::end"]
11679 [::std::mem::offset_of!(igraph_vector_int_list_t, end) - 16usize];
11680};
11681unsafe extern "C" {
11682 pub fn igraph_vector_int_list_init(
11683 v: *mut igraph_vector_int_list_t,
11684 size: igraph_int_t,
11685 ) -> igraph_error_t;
11686}
11687unsafe extern "C" {
11688 pub fn igraph_vector_int_list_init_copy(
11689 to: *mut igraph_vector_int_list_t,
11690 from: *const igraph_vector_int_list_t,
11691 ) -> igraph_error_t;
11692}
11693unsafe extern "C" {
11694 pub fn igraph_vector_int_list_destroy(v: *mut igraph_vector_int_list_t);
11695}
11696unsafe extern "C" {
11697 pub fn igraph_vector_int_list_get_ptr(
11698 v: *const igraph_vector_int_list_t,
11699 pos: igraph_int_t,
11700 ) -> *mut igraph_vector_int_t;
11701}
11702unsafe extern "C" {
11703 pub fn igraph_vector_int_list_set(
11704 v: *mut igraph_vector_int_list_t,
11705 pos: igraph_int_t,
11706 e: *mut igraph_vector_int_t,
11707 );
11708}
11709unsafe extern "C" {
11710 pub fn igraph_vector_int_list_tail_ptr(
11711 v: *const igraph_vector_int_list_t,
11712 ) -> *mut igraph_vector_int_t;
11713}
11714unsafe extern "C" {
11715 pub fn igraph_vector_int_list_capacity(v: *const igraph_vector_int_list_t) -> igraph_int_t;
11716}
11717unsafe extern "C" {
11718 pub fn igraph_vector_int_list_empty(v: *const igraph_vector_int_list_t) -> igraph_bool_t;
11719}
11720unsafe extern "C" {
11721 pub fn igraph_vector_int_list_size(v: *const igraph_vector_int_list_t) -> igraph_int_t;
11722}
11723unsafe extern "C" {
11724 pub fn igraph_vector_int_list_clear(v: *mut igraph_vector_int_list_t);
11725}
11726unsafe extern "C" {
11727 pub fn igraph_vector_int_list_reserve(
11728 v: *mut igraph_vector_int_list_t,
11729 capacity: igraph_int_t,
11730 ) -> igraph_error_t;
11731}
11732unsafe extern "C" {
11733 pub fn igraph_vector_int_list_resize(
11734 v: *mut igraph_vector_int_list_t,
11735 new_size: igraph_int_t,
11736 ) -> igraph_error_t;
11737}
11738unsafe extern "C" {
11739 pub fn igraph_vector_int_list_discard(v: *mut igraph_vector_int_list_t, index: igraph_int_t);
11740}
11741unsafe extern "C" {
11742 pub fn igraph_vector_int_list_discard_back(v: *mut igraph_vector_int_list_t);
11743}
11744unsafe extern "C" {
11745 pub fn igraph_vector_int_list_discard_fast(
11746 v: *mut igraph_vector_int_list_t,
11747 index: igraph_int_t,
11748 );
11749}
11750unsafe extern "C" {
11751 pub fn igraph_vector_int_list_insert(
11752 v: *mut igraph_vector_int_list_t,
11753 pos: igraph_int_t,
11754 e: *mut igraph_vector_int_t,
11755 ) -> igraph_error_t;
11756}
11757unsafe extern "C" {
11758 pub fn igraph_vector_int_list_insert_copy(
11759 v: *mut igraph_vector_int_list_t,
11760 pos: igraph_int_t,
11761 e: *const igraph_vector_int_t,
11762 ) -> igraph_error_t;
11763}
11764unsafe extern "C" {
11765 pub fn igraph_vector_int_list_insert_new(
11766 v: *mut igraph_vector_int_list_t,
11767 pos: igraph_int_t,
11768 result: *mut *mut igraph_vector_int_t,
11769 ) -> igraph_error_t;
11770}
11771unsafe extern "C" {
11772 pub fn igraph_vector_int_list_push_back(
11773 v: *mut igraph_vector_int_list_t,
11774 e: *mut igraph_vector_int_t,
11775 ) -> igraph_error_t;
11776}
11777unsafe extern "C" {
11778 pub fn igraph_vector_int_list_push_back_copy(
11779 v: *mut igraph_vector_int_list_t,
11780 e: *const igraph_vector_int_t,
11781 ) -> igraph_error_t;
11782}
11783unsafe extern "C" {
11784 pub fn igraph_vector_int_list_push_back_new(
11785 v: *mut igraph_vector_int_list_t,
11786 result: *mut *mut igraph_vector_int_t,
11787 ) -> igraph_error_t;
11788}
11789unsafe extern "C" {
11790 pub fn igraph_vector_int_list_pop_back(v: *mut igraph_vector_int_list_t)
11791 -> igraph_vector_int_t;
11792}
11793unsafe extern "C" {
11794 pub fn igraph_vector_int_list_remove(
11795 v: *mut igraph_vector_int_list_t,
11796 index: igraph_int_t,
11797 e: *mut igraph_vector_int_t,
11798 ) -> igraph_error_t;
11799}
11800unsafe extern "C" {
11801 pub fn igraph_vector_int_list_remove_fast(
11802 v: *mut igraph_vector_int_list_t,
11803 index: igraph_int_t,
11804 e: *mut igraph_vector_int_t,
11805 ) -> igraph_error_t;
11806}
11807unsafe extern "C" {
11808 pub fn igraph_vector_int_list_replace(
11809 v: *mut igraph_vector_int_list_t,
11810 pos: igraph_int_t,
11811 e: *mut igraph_vector_int_t,
11812 );
11813}
11814unsafe extern "C" {
11815 pub fn igraph_vector_int_list_remove_consecutive_duplicates(
11816 v: *mut igraph_vector_int_list_t,
11817 eq: ::std::option::Option<
11818 unsafe extern "C" fn(
11819 arg1: *const igraph_vector_int_t,
11820 arg2: *const igraph_vector_int_t,
11821 ) -> igraph_bool_t,
11822 >,
11823 );
11824}
11825unsafe extern "C" {
11826 pub fn igraph_vector_int_list_permute(
11827 v: *mut igraph_vector_int_list_t,
11828 index: *const igraph_vector_int_t,
11829 ) -> igraph_error_t;
11830}
11831unsafe extern "C" {
11832 pub fn igraph_vector_int_list_reverse(v: *mut igraph_vector_int_list_t) -> igraph_error_t;
11833}
11834unsafe extern "C" {
11835 pub fn igraph_vector_int_list_swap(
11836 v1: *mut igraph_vector_int_list_t,
11837 v2: *mut igraph_vector_int_list_t,
11838 );
11839}
11840unsafe extern "C" {
11841 pub fn igraph_vector_int_list_swap_elements(
11842 v: *mut igraph_vector_int_list_t,
11843 i: igraph_int_t,
11844 j: igraph_int_t,
11845 );
11846}
11847unsafe extern "C" {
11848 pub fn igraph_vector_int_list_sort(
11849 v: *mut igraph_vector_int_list_t,
11850 cmp: ::std::option::Option<
11851 unsafe extern "C" fn(
11852 arg1: *const igraph_vector_int_t,
11853 arg2: *const igraph_vector_int_t,
11854 ) -> ::std::os::raw::c_int,
11855 >,
11856 );
11857}
11858unsafe extern "C" {
11859 pub fn igraph_vector_int_list_sort_ind(
11860 v: *mut igraph_vector_int_list_t,
11861 ind: *mut igraph_vector_int_t,
11862 cmp: ::std::option::Option<
11863 unsafe extern "C" fn(
11864 arg1: *const igraph_vector_int_t,
11865 arg2: *const igraph_vector_int_t,
11866 ) -> ::std::os::raw::c_int,
11867 >,
11868 ) -> igraph_error_t;
11869}
11870#[doc = " Vector, storing pointers efficiently\n \\ingroup internal\n"]
11871#[repr(C)]
11872#[derive(Debug, Copy, Clone)]
11873pub struct s_vector_ptr {
11874 pub stor_begin: *mut *mut ::std::os::raw::c_void,
11875 pub stor_end: *mut *mut ::std::os::raw::c_void,
11876 pub end: *mut *mut ::std::os::raw::c_void,
11877 pub item_destructor: igraph_finally_func_t,
11878}
11879#[allow(clippy::unnecessary_operation, clippy::identity_op)]
11880const _: () = {
11881 ["Size of s_vector_ptr"][::std::mem::size_of::<s_vector_ptr>() - 32usize];
11882 ["Alignment of s_vector_ptr"][::std::mem::align_of::<s_vector_ptr>() - 8usize];
11883 ["Offset of field: s_vector_ptr::stor_begin"]
11884 [::std::mem::offset_of!(s_vector_ptr, stor_begin) - 0usize];
11885 ["Offset of field: s_vector_ptr::stor_end"]
11886 [::std::mem::offset_of!(s_vector_ptr, stor_end) - 8usize];
11887 ["Offset of field: s_vector_ptr::end"][::std::mem::offset_of!(s_vector_ptr, end) - 16usize];
11888 ["Offset of field: s_vector_ptr::item_destructor"]
11889 [::std::mem::offset_of!(s_vector_ptr, item_destructor) - 24usize];
11890};
11891#[doc = " Vector, storing pointers efficiently\n \\ingroup internal\n"]
11892pub type igraph_vector_ptr_t = s_vector_ptr;
11893unsafe extern "C" {
11894 pub fn igraph_vector_ptr_init(
11895 v: *mut igraph_vector_ptr_t,
11896 size: igraph_int_t,
11897 ) -> igraph_error_t;
11898}
11899unsafe extern "C" {
11900 pub fn igraph_vector_ptr_init_array(
11901 v: *mut igraph_vector_ptr_t,
11902 data: *const *mut ::std::os::raw::c_void,
11903 length: igraph_int_t,
11904 ) -> igraph_error_t;
11905}
11906unsafe extern "C" {
11907 pub fn igraph_vector_ptr_init_copy(
11908 to: *mut igraph_vector_ptr_t,
11909 from: *const igraph_vector_ptr_t,
11910 ) -> igraph_error_t;
11911}
11912unsafe extern "C" {
11913 pub fn igraph_vector_ptr_view(
11914 data: *const *mut ::std::os::raw::c_void,
11915 length: igraph_int_t,
11916 ) -> igraph_vector_ptr_t;
11917}
11918unsafe extern "C" {
11919 pub fn igraph_vector_ptr_destroy(v: *mut igraph_vector_ptr_t);
11920}
11921unsafe extern "C" {
11922 pub fn igraph_vector_ptr_free_all(v: *mut igraph_vector_ptr_t);
11923}
11924unsafe extern "C" {
11925 pub fn igraph_vector_ptr_destroy_all(v: *mut igraph_vector_ptr_t);
11926}
11927unsafe extern "C" {
11928 pub fn igraph_vector_ptr_reserve(
11929 v: *mut igraph_vector_ptr_t,
11930 capacity: igraph_int_t,
11931 ) -> igraph_error_t;
11932}
11933unsafe extern "C" {
11934 pub fn igraph_vector_ptr_resize_min(v: *mut igraph_vector_ptr_t);
11935}
11936unsafe extern "C" {
11937 pub fn igraph_vector_ptr_empty(v: *const igraph_vector_ptr_t) -> igraph_bool_t;
11938}
11939unsafe extern "C" {
11940 pub fn igraph_vector_ptr_size(v: *const igraph_vector_ptr_t) -> igraph_int_t;
11941}
11942unsafe extern "C" {
11943 pub fn igraph_vector_ptr_capacity(v: *const igraph_vector_ptr_t) -> igraph_int_t;
11944}
11945unsafe extern "C" {
11946 pub fn igraph_vector_ptr_clear(v: *mut igraph_vector_ptr_t);
11947}
11948unsafe extern "C" {
11949 pub fn igraph_vector_ptr_null(v: *mut igraph_vector_ptr_t);
11950}
11951unsafe extern "C" {
11952 pub fn igraph_vector_ptr_push_back(
11953 v: *mut igraph_vector_ptr_t,
11954 e: *mut ::std::os::raw::c_void,
11955 ) -> igraph_error_t;
11956}
11957unsafe extern "C" {
11958 pub fn igraph_vector_ptr_append(
11959 to: *mut igraph_vector_ptr_t,
11960 from: *const igraph_vector_ptr_t,
11961 ) -> igraph_error_t;
11962}
11963unsafe extern "C" {
11964 pub fn igraph_vector_ptr_pop_back(v: *mut igraph_vector_ptr_t) -> *mut ::std::os::raw::c_void;
11965}
11966unsafe extern "C" {
11967 pub fn igraph_vector_ptr_insert(
11968 v: *mut igraph_vector_ptr_t,
11969 pos: igraph_int_t,
11970 e: *mut ::std::os::raw::c_void,
11971 ) -> igraph_error_t;
11972}
11973unsafe extern "C" {
11974 pub fn igraph_vector_ptr_get(
11975 v: *const igraph_vector_ptr_t,
11976 pos: igraph_int_t,
11977 ) -> *mut ::std::os::raw::c_void;
11978}
11979unsafe extern "C" {
11980 pub fn igraph_vector_ptr_set(
11981 v: *mut igraph_vector_ptr_t,
11982 pos: igraph_int_t,
11983 value: *mut ::std::os::raw::c_void,
11984 );
11985}
11986unsafe extern "C" {
11987 pub fn igraph_vector_ptr_resize(
11988 v: *mut igraph_vector_ptr_t,
11989 newsize: igraph_int_t,
11990 ) -> igraph_error_t;
11991}
11992unsafe extern "C" {
11993 pub fn igraph_vector_ptr_copy_to(
11994 v: *const igraph_vector_ptr_t,
11995 to: *mut *mut ::std::os::raw::c_void,
11996 );
11997}
11998unsafe extern "C" {
11999 pub fn igraph_vector_ptr_permute(
12000 v: *mut igraph_vector_ptr_t,
12001 index: *const igraph_vector_int_t,
12002 ) -> igraph_error_t;
12003}
12004unsafe extern "C" {
12005 pub fn igraph_vector_ptr_remove(v: *mut igraph_vector_ptr_t, pos: igraph_int_t);
12006}
12007unsafe extern "C" {
12008 pub fn igraph_vector_ptr_sort(
12009 v: *mut igraph_vector_ptr_t,
12010 compar: ::std::option::Option<
12011 unsafe extern "C" fn(
12012 arg1: *const ::std::os::raw::c_void,
12013 arg2: *const ::std::os::raw::c_void,
12014 ) -> ::std::os::raw::c_int,
12015 >,
12016 );
12017}
12018unsafe extern "C" {
12019 pub fn igraph_vector_ptr_sort_ind(
12020 v: *mut igraph_vector_ptr_t,
12021 inds: *mut igraph_vector_int_t,
12022 compar: ::std::option::Option<
12023 unsafe extern "C" fn(
12024 arg1: *const ::std::os::raw::c_void,
12025 arg2: *const ::std::os::raw::c_void,
12026 ) -> ::std::os::raw::c_int,
12027 >,
12028 ) -> igraph_error_t;
12029}
12030unsafe extern "C" {
12031 pub fn igraph_vector_ptr_get_item_destructor(
12032 v: *const igraph_vector_ptr_t,
12033 ) -> igraph_finally_func_t;
12034}
12035unsafe extern "C" {
12036 pub fn igraph_vector_ptr_set_item_destructor(
12037 v: *mut igraph_vector_ptr_t,
12038 func: igraph_finally_func_t,
12039 ) -> igraph_finally_func_t;
12040}
12041#[doc = " \\struct igraph_arpack_options_t\n \\brief Options for ARPACK.\n\n This data structure contains the options of the ARPACK eigenvalue\n solver routines. It must be initialized by calling \\ref\n igraph_arpack_options_init() on it. Then it can be used for\n multiple ARPACK calls, as the ARPACK solvers do not modify it.\n\n Input options:\n\n \\member bmat Character. Whether to solve a standard ('I') ot a\n generalized problem ('B').\n \\member n Dimension of the eigenproblem.\n \\member which Specifies which eigenvalues/vectors to\n compute. Possible values for symmetric matrices:\n \\clist \\cli LA\n Compute \\c nev largest (algebraic) eigenvalues.\n \\cli SA\n Compute \\c nev smallest (algebraic) eigenvalues.\n \\cli LM\n Compute \\c nev largest (in magnitude) eigenvalues.\n \\cli SM\n Compute \\c nev smallest (in magnitude) eigenvalues.\n \\cli BE\n Compute \\c nev eigenvalues, half from each end of\n the spectrum. When \\c nev is odd, compute one\n more from the high en than from the low\n end. \\endclist\n Possible values for non-symmetric matrices:\n \\clist \\cli LM\n Compute \\c nev largest (in magnitude) eigenvalues.\n \\cli SM\n Compute \\c nev smallest (in magnitude) eigenvalues.\n \\cli LR\n Compute \\c nev eigenvalues of largest real part.\n \\cli SR\n Compute \\c nev eigenvalues of smallest real part.\n \\cli LI\n Compute \\c nev eigenvalues of largest imaginary part.\n \\cli SI\n Compute \\c nev eigenvalues of smallest imaginary\n part. \\endclist\n \\member nev The number of eigenvalues to be computed.\n \\member tol Stopping criterion: the relative accuracy\n of the Ritz value is considered acceptable if its error is less\n than \\c tol times its estimated value. If this is set to zero\n then machine precision is used.\n \\member ncv Number of Lanczos vectors to be generated. Setting this\n to zero means that \\ref igraph_arpack_rssolve and \\ref igraph_arpack_rnsolve\n will determine a suitable value for \\c ncv automatically.\n \\member ldv Numberic scalar. It should be set to\n zero in the current igraph implementation.\n \\member ishift Either zero or one. If zero then the shifts are\n provided by the user via reverse communication. If one then exact\n shifts with respect to the reduced tridiagonal matrix \\c T.\n Please always set this to one.\n \\member mxiter Maximum number of Arnoldi update iterations allowed.\n \\member nb Blocksize to be used in the recurrence. Please always\n leave this on the default value, one.\n \\member mode The type of the eigenproblem to be solved.\n Possible values if the input matrix is symmetric:\n \\olist\n \\oli A*x=lambda*x, A is symmetric.\n \\oli A*x=lambda*M*x, A is\n symmetric, M is symmetric positive definite.\n \\oli K*x=lambda*M*x, K is\n symmetric, M is symmetric positive semi-definite.\n \\oli K*x=lambda*KG*x, K is\n symmetric positive semi-definite, KG is symmetric\n indefinite.\n \\oli A*x=lambda*M*x, A is\n symmetric, M is symmetric positive\n semi-definite. (Cayley transformed mode.) \\endolist\n Please note that only \\c mode ==1 was tested and other values\n might not work properly.\n Possible values if the input matrix is not symmetric:\n \\olist\n \\oli A*x=lambda*x.\n \\oli A*x=lambda*M*x, M is\n symmetric positive definite.\n \\oli A*x=lambda*M*x, M is\n symmetric semi-definite.\n \\oli A*x=lambda*M*x, M is\n symmetric semi-definite. \\endolist\n Please note that only \\c mode == 1 was tested and other values\n might not work properly.\n \\member start Whether to use the supplied starting vector (1), or\n use a random starting vector (0). The starting vector must be\n supplied in the first column of the \\c vectors argument of the\n \\ref igraph_arpack_rssolve() of \\ref igraph_arpack_rnsolve() call.\n\n Output options:\n\n \\member info Error flag of ARPACK. Possible values:\n \\clist \\cli 0\n Normal exit.\n \\cli 1\n Maximum number of iterations taken.\n \\cli 3\n No shifts could be applied during a cycle of the\n Implicitly restarted Arnoldi iteration. One possibility\n is to increase the size of \\c ncv relative to \\c\n nev. \\endclist\n ARPACK can return other error flags as well, but these are\n converted to igraph errors, see \\ref igraph_error_type_t.\n \\member ierr Error flag of the second ARPACK call (one eigenvalue\n computation usually involves two calls to ARPACK). This is\n always zero, as other error codes are converted to igraph errors.\n \\member noiter Number of Arnoldi iterations taken.\n \\member nconv Number of converged Ritz values. This\n represents the number of Ritz values that satisfy the\n convergence critetion.\n \\member numop Total number of matrix-vector multiplications.\n \\member numopb Not used currently.\n \\member numreo Total number of steps of re-orthogonalization.\n\n Internal options:\n \\member lworkl Do not modify this option.\n \\member sigma The shift for the shift-invert mode.\n \\member sigmai The imaginary part of the shift, for the\n non-symmetric or complex shift-invert mode.\n \\member iparam Do not modify this option.\n \\member ipntr Do not modify this option.\n"]
12042#[repr(C)]
12043#[derive(Debug, Copy, Clone)]
12044pub struct igraph_arpack_options_t {
12045 pub bmat: [::std::os::raw::c_char; 1usize],
12046 pub n: ::std::os::raw::c_int,
12047 pub which: [::std::os::raw::c_char; 2usize],
12048 pub nev: ::std::os::raw::c_int,
12049 pub tol: igraph_real_t,
12050 pub ncv: ::std::os::raw::c_int,
12051 pub ldv: ::std::os::raw::c_int,
12052 pub ishift: ::std::os::raw::c_int,
12053 pub mxiter: ::std::os::raw::c_int,
12054 pub nb: ::std::os::raw::c_int,
12055 pub mode: ::std::os::raw::c_int,
12056 pub start: ::std::os::raw::c_int,
12057 pub lworkl: ::std::os::raw::c_int,
12058 pub sigma: igraph_real_t,
12059 pub sigmai: igraph_real_t,
12060 pub info: ::std::os::raw::c_int,
12061 pub ierr: ::std::os::raw::c_int,
12062 pub noiter: ::std::os::raw::c_int,
12063 pub nconv: ::std::os::raw::c_int,
12064 pub numop: ::std::os::raw::c_int,
12065 pub numopb: ::std::os::raw::c_int,
12066 pub numreo: ::std::os::raw::c_int,
12067 pub iparam: [::std::os::raw::c_int; 11usize],
12068 pub ipntr: [::std::os::raw::c_int; 14usize],
12069}
12070#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12071const _: () = {
12072 ["Size of igraph_arpack_options_t"]
12073 [::std::mem::size_of::<igraph_arpack_options_t>() - 200usize];
12074 ["Alignment of igraph_arpack_options_t"]
12075 [::std::mem::align_of::<igraph_arpack_options_t>() - 8usize];
12076 ["Offset of field: igraph_arpack_options_t::bmat"]
12077 [::std::mem::offset_of!(igraph_arpack_options_t, bmat) - 0usize];
12078 ["Offset of field: igraph_arpack_options_t::n"]
12079 [::std::mem::offset_of!(igraph_arpack_options_t, n) - 4usize];
12080 ["Offset of field: igraph_arpack_options_t::which"]
12081 [::std::mem::offset_of!(igraph_arpack_options_t, which) - 8usize];
12082 ["Offset of field: igraph_arpack_options_t::nev"]
12083 [::std::mem::offset_of!(igraph_arpack_options_t, nev) - 12usize];
12084 ["Offset of field: igraph_arpack_options_t::tol"]
12085 [::std::mem::offset_of!(igraph_arpack_options_t, tol) - 16usize];
12086 ["Offset of field: igraph_arpack_options_t::ncv"]
12087 [::std::mem::offset_of!(igraph_arpack_options_t, ncv) - 24usize];
12088 ["Offset of field: igraph_arpack_options_t::ldv"]
12089 [::std::mem::offset_of!(igraph_arpack_options_t, ldv) - 28usize];
12090 ["Offset of field: igraph_arpack_options_t::ishift"]
12091 [::std::mem::offset_of!(igraph_arpack_options_t, ishift) - 32usize];
12092 ["Offset of field: igraph_arpack_options_t::mxiter"]
12093 [::std::mem::offset_of!(igraph_arpack_options_t, mxiter) - 36usize];
12094 ["Offset of field: igraph_arpack_options_t::nb"]
12095 [::std::mem::offset_of!(igraph_arpack_options_t, nb) - 40usize];
12096 ["Offset of field: igraph_arpack_options_t::mode"]
12097 [::std::mem::offset_of!(igraph_arpack_options_t, mode) - 44usize];
12098 ["Offset of field: igraph_arpack_options_t::start"]
12099 [::std::mem::offset_of!(igraph_arpack_options_t, start) - 48usize];
12100 ["Offset of field: igraph_arpack_options_t::lworkl"]
12101 [::std::mem::offset_of!(igraph_arpack_options_t, lworkl) - 52usize];
12102 ["Offset of field: igraph_arpack_options_t::sigma"]
12103 [::std::mem::offset_of!(igraph_arpack_options_t, sigma) - 56usize];
12104 ["Offset of field: igraph_arpack_options_t::sigmai"]
12105 [::std::mem::offset_of!(igraph_arpack_options_t, sigmai) - 64usize];
12106 ["Offset of field: igraph_arpack_options_t::info"]
12107 [::std::mem::offset_of!(igraph_arpack_options_t, info) - 72usize];
12108 ["Offset of field: igraph_arpack_options_t::ierr"]
12109 [::std::mem::offset_of!(igraph_arpack_options_t, ierr) - 76usize];
12110 ["Offset of field: igraph_arpack_options_t::noiter"]
12111 [::std::mem::offset_of!(igraph_arpack_options_t, noiter) - 80usize];
12112 ["Offset of field: igraph_arpack_options_t::nconv"]
12113 [::std::mem::offset_of!(igraph_arpack_options_t, nconv) - 84usize];
12114 ["Offset of field: igraph_arpack_options_t::numop"]
12115 [::std::mem::offset_of!(igraph_arpack_options_t, numop) - 88usize];
12116 ["Offset of field: igraph_arpack_options_t::numopb"]
12117 [::std::mem::offset_of!(igraph_arpack_options_t, numopb) - 92usize];
12118 ["Offset of field: igraph_arpack_options_t::numreo"]
12119 [::std::mem::offset_of!(igraph_arpack_options_t, numreo) - 96usize];
12120 ["Offset of field: igraph_arpack_options_t::iparam"]
12121 [::std::mem::offset_of!(igraph_arpack_options_t, iparam) - 100usize];
12122 ["Offset of field: igraph_arpack_options_t::ipntr"]
12123 [::std::mem::offset_of!(igraph_arpack_options_t, ipntr) - 144usize];
12124};
12125#[doc = " \\struct igraph_arpack_storage_t\n \\brief Storage for ARPACK.\n\n Public members, do not modify them directly, these are considered\n to be read-only.\n \\member maxn Maximum rank of matrix.\n \\member maxncv Maximum NCV.\n \\member maxldv Maximum LDV.\n\n These members are considered to be private:\n \\member workl Working memory.\n \\member workd Working memory.\n \\member d Memory for eigenvalues.\n \\member resid Memory for residuals.\n \\member ax Working memory.\n \\member select Working memory.\n \\member di Memory for eigenvalues, non-symmetric case only.\n \\member workev Working memory, non-symmetric case only."]
12126#[repr(C)]
12127#[derive(Debug, Copy, Clone)]
12128pub struct igraph_arpack_storage_t {
12129 pub maxn: ::std::os::raw::c_int,
12130 pub maxncv: ::std::os::raw::c_int,
12131 pub maxldv: ::std::os::raw::c_int,
12132 pub v: *mut igraph_real_t,
12133 pub workl: *mut igraph_real_t,
12134 pub workd: *mut igraph_real_t,
12135 pub d: *mut igraph_real_t,
12136 pub resid: *mut igraph_real_t,
12137 pub ax: *mut igraph_real_t,
12138 pub select: *mut ::std::os::raw::c_int,
12139 pub di: *mut igraph_real_t,
12140 pub workev: *mut igraph_real_t,
12141}
12142#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12143const _: () = {
12144 ["Size of igraph_arpack_storage_t"][::std::mem::size_of::<igraph_arpack_storage_t>() - 88usize];
12145 ["Alignment of igraph_arpack_storage_t"]
12146 [::std::mem::align_of::<igraph_arpack_storage_t>() - 8usize];
12147 ["Offset of field: igraph_arpack_storage_t::maxn"]
12148 [::std::mem::offset_of!(igraph_arpack_storage_t, maxn) - 0usize];
12149 ["Offset of field: igraph_arpack_storage_t::maxncv"]
12150 [::std::mem::offset_of!(igraph_arpack_storage_t, maxncv) - 4usize];
12151 ["Offset of field: igraph_arpack_storage_t::maxldv"]
12152 [::std::mem::offset_of!(igraph_arpack_storage_t, maxldv) - 8usize];
12153 ["Offset of field: igraph_arpack_storage_t::v"]
12154 [::std::mem::offset_of!(igraph_arpack_storage_t, v) - 16usize];
12155 ["Offset of field: igraph_arpack_storage_t::workl"]
12156 [::std::mem::offset_of!(igraph_arpack_storage_t, workl) - 24usize];
12157 ["Offset of field: igraph_arpack_storage_t::workd"]
12158 [::std::mem::offset_of!(igraph_arpack_storage_t, workd) - 32usize];
12159 ["Offset of field: igraph_arpack_storage_t::d"]
12160 [::std::mem::offset_of!(igraph_arpack_storage_t, d) - 40usize];
12161 ["Offset of field: igraph_arpack_storage_t::resid"]
12162 [::std::mem::offset_of!(igraph_arpack_storage_t, resid) - 48usize];
12163 ["Offset of field: igraph_arpack_storage_t::ax"]
12164 [::std::mem::offset_of!(igraph_arpack_storage_t, ax) - 56usize];
12165 ["Offset of field: igraph_arpack_storage_t::select"]
12166 [::std::mem::offset_of!(igraph_arpack_storage_t, select) - 64usize];
12167 ["Offset of field: igraph_arpack_storage_t::di"]
12168 [::std::mem::offset_of!(igraph_arpack_storage_t, di) - 72usize];
12169 ["Offset of field: igraph_arpack_storage_t::workev"]
12170 [::std::mem::offset_of!(igraph_arpack_storage_t, workev) - 80usize];
12171};
12172pub const igraph_arpack_error_t_IGRAPH_ARPACK_NO_ERROR: igraph_arpack_error_t = 0;
12173pub const igraph_arpack_error_t_IGRAPH_ARPACK_PROD: igraph_arpack_error_t = 15;
12174pub const igraph_arpack_error_t_IGRAPH_ARPACK_NPOS: igraph_arpack_error_t = 16;
12175pub const igraph_arpack_error_t_IGRAPH_ARPACK_NEVNPOS: igraph_arpack_error_t = 17;
12176pub const igraph_arpack_error_t_IGRAPH_ARPACK_NCVSMALL: igraph_arpack_error_t = 18;
12177pub const igraph_arpack_error_t_IGRAPH_ARPACK_NONPOSI: igraph_arpack_error_t = 19;
12178pub const igraph_arpack_error_t_IGRAPH_ARPACK_WHICHINV: igraph_arpack_error_t = 20;
12179pub const igraph_arpack_error_t_IGRAPH_ARPACK_BMATINV: igraph_arpack_error_t = 21;
12180pub const igraph_arpack_error_t_IGRAPH_ARPACK_WORKLSMALL: igraph_arpack_error_t = 22;
12181pub const igraph_arpack_error_t_IGRAPH_ARPACK_TRIDERR: igraph_arpack_error_t = 23;
12182pub const igraph_arpack_error_t_IGRAPH_ARPACK_ZEROSTART: igraph_arpack_error_t = 24;
12183pub const igraph_arpack_error_t_IGRAPH_ARPACK_MODEINV: igraph_arpack_error_t = 25;
12184pub const igraph_arpack_error_t_IGRAPH_ARPACK_MODEBMAT: igraph_arpack_error_t = 26;
12185pub const igraph_arpack_error_t_IGRAPH_ARPACK_ISHIFT: igraph_arpack_error_t = 27;
12186pub const igraph_arpack_error_t_IGRAPH_ARPACK_NEVBE: igraph_arpack_error_t = 28;
12187pub const igraph_arpack_error_t_IGRAPH_ARPACK_NOFACT: igraph_arpack_error_t = 29;
12188pub const igraph_arpack_error_t_IGRAPH_ARPACK_FAILED: igraph_arpack_error_t = 30;
12189pub const igraph_arpack_error_t_IGRAPH_ARPACK_HOWMNY: igraph_arpack_error_t = 31;
12190pub const igraph_arpack_error_t_IGRAPH_ARPACK_HOWMNYS: igraph_arpack_error_t = 32;
12191pub const igraph_arpack_error_t_IGRAPH_ARPACK_EVDIFF: igraph_arpack_error_t = 33;
12192pub const igraph_arpack_error_t_IGRAPH_ARPACK_SHUR: igraph_arpack_error_t = 34;
12193pub const igraph_arpack_error_t_IGRAPH_ARPACK_LAPACK: igraph_arpack_error_t = 35;
12194pub const igraph_arpack_error_t_IGRAPH_ARPACK_UNKNOWN: igraph_arpack_error_t = 36;
12195pub const igraph_arpack_error_t_IGRAPH_ARPACK_MAXIT: igraph_arpack_error_t = 39;
12196pub const igraph_arpack_error_t_IGRAPH_ARPACK_NOSHIFT: igraph_arpack_error_t = 40;
12197pub const igraph_arpack_error_t_IGRAPH_ARPACK_REORDER: igraph_arpack_error_t = 41;
12198#[doc = " \\typedef igraph_arpack_error_t\n \\brief Error codes from ARPACK.\n\n These error codes represent error conditions returned from ARPACK.\n They are used internally to format error messages when igraph itself\n returns an \\c IGRAPH_EARPACK error code from an ARPACK-related function.\n\n \\enumval IGRAPH_ARPACK_NO_ERROR No error was encountered in ARPACK.\n \\enumval IGRAPH_ARPACK_PROD Matrix-vector product failed (not used any more).\n \\enumval IGRAPH_ARPACK_NPOS N must be positive.\n \\enumval IGRAPH_ARPACK_NEVNPOS NEV must be positive.\n \\enumval IGRAPH_ARPACK_NCVSMALL NCV must be bigger.\n \\enumval IGRAPH_ARPACK_NONPOSI Maximum number of iterations should be positive.\n \\enumval IGRAPH_ARPACK_WHICHINV Invalid WHICH parameter.\n \\enumval IGRAPH_ARPACK_BMATINV Invalid BMAT parameter.\n \\enumval IGRAPH_ARPACK_WORKLSMALL WORKL is too small.\n \\enumval IGRAPH_ARPACK_TRIDERR LAPACK error in tridiagonal eigenvalue calculation.\n \\enumval IGRAPH_ARPACK_ZEROSTART Starting vector is zero.\n \\enumval IGRAPH_ARPACK_MODEINV MODE is invalid.\n \\enumval IGRAPH_ARPACK_MODEBMAT MODE and BMAT are not compatible.\n \\enumval IGRAPH_ARPACK_ISHIFT ISHIFT must be 0 or 1.\n \\enumval IGRAPH_ARPACK_NEVBE NEV and WHICH='BE' are incompatible.\n \\enumval IGRAPH_ARPACK_NOFACT Could not build an Arnoldi factorization.\n \\enumval IGRAPH_ARPACK_FAILED No eigenvalues to sufficient accuracy.\n \\enumval IGRAPH_ARPACK_HOWMNY HOWMNY is invalid.\n \\enumval IGRAPH_ARPACK_HOWMNYS HOWMNY='S' is not implemented.\n \\enumval IGRAPH_ARPACK_EVDIFF Different number of converged Ritz values.\n \\enumval IGRAPH_ARPACK_SHUR Error from calculation of a real Schur form.\n \\enumval IGRAPH_ARPACK_LAPACK LAPACK (dtrevc) error for calculating eigenvectors.\n \\enumval IGRAPH_ARPACK_UNKNOWN Unknown ARPACK error."]
12199pub type igraph_arpack_error_t = ::std::os::raw::c_uint;
12200unsafe extern "C" {
12201 pub fn igraph_arpack_options_init(o: *mut igraph_arpack_options_t);
12202}
12203unsafe extern "C" {
12204 pub fn igraph_arpack_options_get_default() -> *mut igraph_arpack_options_t;
12205}
12206unsafe extern "C" {
12207 pub fn igraph_arpack_storage_init(
12208 s: *mut igraph_arpack_storage_t,
12209 maxn: igraph_int_t,
12210 maxncv: igraph_int_t,
12211 maxldv: igraph_int_t,
12212 symm: igraph_bool_t,
12213 ) -> igraph_error_t;
12214}
12215unsafe extern "C" {
12216 pub fn igraph_arpack_storage_destroy(s: *mut igraph_arpack_storage_t);
12217}
12218#[doc = " \\typedef igraph_arpack_function_t\n \\brief Type of the ARPACK callback function.\n\n \\param to Pointer to an \\c igraph_real_t, the result of the\n matrix-vector product is expected to be stored here.\n \\param from Pointer to an \\c igraph_real_t, the input matrix should\n be multiplied by the vector stored here.\n \\param n The length of the vector (which is the same as the order\n of the input matrix).\n \\param extra Extra argument to the matrix-vector calculation\n function. This is coming from the \\ref igraph_arpack_rssolve()\n or \\ref igraph_arpack_rnsolve() function.\n \\return Error code. If not \\c IGRAPH_SUCCESS, then the ARPACK solver considers\n this as an error, stops and calls the igraph error handler."]
12219pub type igraph_arpack_function_t = ::std::option::Option<
12220 unsafe extern "C" fn(
12221 to: *mut igraph_real_t,
12222 from: *const igraph_real_t,
12223 n: ::std::os::raw::c_int,
12224 extra: *mut ::std::os::raw::c_void,
12225 ) -> igraph_error_t,
12226>;
12227unsafe extern "C" {
12228 pub fn igraph_arpack_rssolve(
12229 fun: igraph_arpack_function_t,
12230 extra: *mut ::std::os::raw::c_void,
12231 options: *mut igraph_arpack_options_t,
12232 storage: *mut igraph_arpack_storage_t,
12233 values: *mut igraph_vector_t,
12234 vectors: *mut igraph_matrix_t,
12235 ) -> igraph_error_t;
12236}
12237unsafe extern "C" {
12238 pub fn igraph_arpack_rnsolve(
12239 fun: igraph_arpack_function_t,
12240 extra: *mut ::std::os::raw::c_void,
12241 options: *mut igraph_arpack_options_t,
12242 storage: *mut igraph_arpack_storage_t,
12243 values: *mut igraph_matrix_t,
12244 vectors: *mut igraph_matrix_t,
12245 ) -> igraph_error_t;
12246}
12247unsafe extern "C" {
12248 pub fn igraph_arpack_unpack_complex(
12249 vectors: *mut igraph_matrix_t,
12250 values: *mut igraph_matrix_t,
12251 nev: igraph_int_t,
12252 ) -> igraph_error_t;
12253}
12254unsafe extern "C" {
12255 pub fn igraph_arpack_error_to_string(
12256 error: igraph_arpack_error_t,
12257 ) -> *const ::std::os::raw::c_char;
12258}
12259unsafe extern "C" {
12260 pub fn igraph_arpack_get_last_error() -> igraph_arpack_error_t;
12261}
12262#[repr(C)]
12263#[derive(Debug, Copy, Clone)]
12264pub struct cs_igraph_sparse {
12265 _unused: [u8; 0],
12266}
12267#[repr(C)]
12268#[derive(Debug, Copy, Clone)]
12269pub struct cs_igraph_symbolic {
12270 _unused: [u8; 0],
12271}
12272#[repr(C)]
12273#[derive(Debug, Copy, Clone)]
12274pub struct cs_igraph_numeric {
12275 _unused: [u8; 0],
12276}
12277#[repr(C)]
12278#[derive(Debug, Copy, Clone)]
12279pub struct igraph_sparsemat_t {
12280 pub cs: *mut cs_igraph_sparse,
12281}
12282#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12283const _: () = {
12284 ["Size of igraph_sparsemat_t"][::std::mem::size_of::<igraph_sparsemat_t>() - 8usize];
12285 ["Alignment of igraph_sparsemat_t"][::std::mem::align_of::<igraph_sparsemat_t>() - 8usize];
12286 ["Offset of field: igraph_sparsemat_t::cs"]
12287 [::std::mem::offset_of!(igraph_sparsemat_t, cs) - 0usize];
12288};
12289#[repr(C)]
12290#[derive(Debug, Copy, Clone)]
12291pub struct igraph_sparsemat_symbolic_t {
12292 pub symbolic: *mut cs_igraph_symbolic,
12293}
12294#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12295const _: () = {
12296 ["Size of igraph_sparsemat_symbolic_t"]
12297 [::std::mem::size_of::<igraph_sparsemat_symbolic_t>() - 8usize];
12298 ["Alignment of igraph_sparsemat_symbolic_t"]
12299 [::std::mem::align_of::<igraph_sparsemat_symbolic_t>() - 8usize];
12300 ["Offset of field: igraph_sparsemat_symbolic_t::symbolic"]
12301 [::std::mem::offset_of!(igraph_sparsemat_symbolic_t, symbolic) - 0usize];
12302};
12303#[repr(C)]
12304#[derive(Debug, Copy, Clone)]
12305pub struct igraph_sparsemat_numeric_t {
12306 pub numeric: *mut cs_igraph_numeric,
12307}
12308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12309const _: () = {
12310 ["Size of igraph_sparsemat_numeric_t"]
12311 [::std::mem::size_of::<igraph_sparsemat_numeric_t>() - 8usize];
12312 ["Alignment of igraph_sparsemat_numeric_t"]
12313 [::std::mem::align_of::<igraph_sparsemat_numeric_t>() - 8usize];
12314 ["Offset of field: igraph_sparsemat_numeric_t::numeric"]
12315 [::std::mem::offset_of!(igraph_sparsemat_numeric_t, numeric) - 0usize];
12316};
12317pub const igraph_sparsemat_type_t_IGRAPH_SPARSEMAT_TRIPLET: igraph_sparsemat_type_t = 0;
12318pub const igraph_sparsemat_type_t_IGRAPH_SPARSEMAT_CC: igraph_sparsemat_type_t = 1;
12319pub type igraph_sparsemat_type_t = ::std::os::raw::c_uint;
12320#[repr(C)]
12321#[derive(Debug, Copy, Clone)]
12322pub struct igraph_sparsemat_iterator_t {
12323 pub mat: *const igraph_sparsemat_t,
12324 pub pos: igraph_int_t,
12325 pub col: igraph_int_t,
12326}
12327#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12328const _: () = {
12329 ["Size of igraph_sparsemat_iterator_t"]
12330 [::std::mem::size_of::<igraph_sparsemat_iterator_t>() - 24usize];
12331 ["Alignment of igraph_sparsemat_iterator_t"]
12332 [::std::mem::align_of::<igraph_sparsemat_iterator_t>() - 8usize];
12333 ["Offset of field: igraph_sparsemat_iterator_t::mat"]
12334 [::std::mem::offset_of!(igraph_sparsemat_iterator_t, mat) - 0usize];
12335 ["Offset of field: igraph_sparsemat_iterator_t::pos"]
12336 [::std::mem::offset_of!(igraph_sparsemat_iterator_t, pos) - 8usize];
12337 ["Offset of field: igraph_sparsemat_iterator_t::col"]
12338 [::std::mem::offset_of!(igraph_sparsemat_iterator_t, col) - 16usize];
12339};
12340unsafe extern "C" {
12341 pub fn igraph_sparsemat_init(
12342 A: *mut igraph_sparsemat_t,
12343 rows: igraph_int_t,
12344 cols: igraph_int_t,
12345 nzmax: igraph_int_t,
12346 ) -> igraph_error_t;
12347}
12348unsafe extern "C" {
12349 pub fn igraph_sparsemat_init_copy(
12350 to: *mut igraph_sparsemat_t,
12351 from: *const igraph_sparsemat_t,
12352 ) -> igraph_error_t;
12353}
12354unsafe extern "C" {
12355 pub fn igraph_sparsemat_destroy(A: *mut igraph_sparsemat_t);
12356}
12357unsafe extern "C" {
12358 pub fn igraph_sparsemat_realloc(
12359 A: *mut igraph_sparsemat_t,
12360 nzmax: igraph_int_t,
12361 ) -> igraph_error_t;
12362}
12363unsafe extern "C" {
12364 pub fn igraph_sparsemat_init_eye(
12365 A: *mut igraph_sparsemat_t,
12366 n: igraph_int_t,
12367 nzmax: igraph_int_t,
12368 value: igraph_real_t,
12369 compress: igraph_bool_t,
12370 ) -> igraph_error_t;
12371}
12372unsafe extern "C" {
12373 pub fn igraph_sparsemat_init_diag(
12374 A: *mut igraph_sparsemat_t,
12375 nzmax: igraph_int_t,
12376 values: *const igraph_vector_t,
12377 compress: igraph_bool_t,
12378 ) -> igraph_error_t;
12379}
12380unsafe extern "C" {
12381 pub fn igraph_sparsemat_nrow(A: *const igraph_sparsemat_t) -> igraph_int_t;
12382}
12383unsafe extern "C" {
12384 pub fn igraph_sparsemat_ncol(B: *const igraph_sparsemat_t) -> igraph_int_t;
12385}
12386unsafe extern "C" {
12387 pub fn igraph_sparsemat_type(A: *const igraph_sparsemat_t) -> igraph_sparsemat_type_t;
12388}
12389unsafe extern "C" {
12390 pub fn igraph_sparsemat_is_triplet(A: *const igraph_sparsemat_t) -> igraph_bool_t;
12391}
12392unsafe extern "C" {
12393 pub fn igraph_sparsemat_is_cc(A: *const igraph_sparsemat_t) -> igraph_bool_t;
12394}
12395unsafe extern "C" {
12396 pub fn igraph_sparsemat_permute(
12397 A: *const igraph_sparsemat_t,
12398 p: *const igraph_vector_int_t,
12399 q: *const igraph_vector_int_t,
12400 res: *mut igraph_sparsemat_t,
12401 ) -> igraph_error_t;
12402}
12403unsafe extern "C" {
12404 pub fn igraph_sparsemat_get(
12405 A: *const igraph_sparsemat_t,
12406 row: igraph_int_t,
12407 col: igraph_int_t,
12408 ) -> igraph_real_t;
12409}
12410unsafe extern "C" {
12411 pub fn igraph_sparsemat_index(
12412 A: *const igraph_sparsemat_t,
12413 p: *const igraph_vector_int_t,
12414 q: *const igraph_vector_int_t,
12415 res: *mut igraph_sparsemat_t,
12416 constres: *mut igraph_real_t,
12417 ) -> igraph_error_t;
12418}
12419unsafe extern "C" {
12420 pub fn igraph_sparsemat_entry(
12421 A: *mut igraph_sparsemat_t,
12422 row: igraph_int_t,
12423 col: igraph_int_t,
12424 elem: igraph_real_t,
12425 ) -> igraph_error_t;
12426}
12427unsafe extern "C" {
12428 pub fn igraph_sparsemat_compress(
12429 A: *const igraph_sparsemat_t,
12430 res: *mut igraph_sparsemat_t,
12431 ) -> igraph_error_t;
12432}
12433unsafe extern "C" {
12434 pub fn igraph_sparsemat_transpose(
12435 A: *const igraph_sparsemat_t,
12436 res: *mut igraph_sparsemat_t,
12437 ) -> igraph_error_t;
12438}
12439unsafe extern "C" {
12440 pub fn igraph_sparsemat_is_symmetric(
12441 A: *const igraph_sparsemat_t,
12442 result: *mut igraph_bool_t,
12443 ) -> igraph_error_t;
12444}
12445unsafe extern "C" {
12446 pub fn igraph_sparsemat_dupl(A: *mut igraph_sparsemat_t) -> igraph_error_t;
12447}
12448unsafe extern "C" {
12449 pub fn igraph_sparsemat_fkeep(
12450 A: *mut igraph_sparsemat_t,
12451 fkeep: ::std::option::Option<
12452 unsafe extern "C" fn(
12453 arg1: igraph_int_t,
12454 arg2: igraph_int_t,
12455 arg3: igraph_real_t,
12456 arg4: *mut ::std::os::raw::c_void,
12457 ) -> igraph_int_t,
12458 >,
12459 other: *mut ::std::os::raw::c_void,
12460 ) -> igraph_error_t;
12461}
12462unsafe extern "C" {
12463 pub fn igraph_sparsemat_dropzeros(A: *mut igraph_sparsemat_t) -> igraph_error_t;
12464}
12465unsafe extern "C" {
12466 pub fn igraph_sparsemat_droptol(
12467 A: *mut igraph_sparsemat_t,
12468 tol: igraph_real_t,
12469 ) -> igraph_error_t;
12470}
12471unsafe extern "C" {
12472 pub fn igraph_sparsemat_multiply(
12473 A: *const igraph_sparsemat_t,
12474 B: *const igraph_sparsemat_t,
12475 res: *mut igraph_sparsemat_t,
12476 ) -> igraph_error_t;
12477}
12478unsafe extern "C" {
12479 pub fn igraph_sparsemat_add(
12480 A: *const igraph_sparsemat_t,
12481 B: *const igraph_sparsemat_t,
12482 alpha: igraph_real_t,
12483 beta: igraph_real_t,
12484 res: *mut igraph_sparsemat_t,
12485 ) -> igraph_error_t;
12486}
12487unsafe extern "C" {
12488 pub fn igraph_sparsemat_gaxpy(
12489 A: *const igraph_sparsemat_t,
12490 x: *const igraph_vector_t,
12491 res: *mut igraph_vector_t,
12492 ) -> igraph_error_t;
12493}
12494unsafe extern "C" {
12495 pub fn igraph_sparsemat_lsolve(
12496 A: *const igraph_sparsemat_t,
12497 b: *const igraph_vector_t,
12498 res: *mut igraph_vector_t,
12499 ) -> igraph_error_t;
12500}
12501unsafe extern "C" {
12502 pub fn igraph_sparsemat_ltsolve(
12503 A: *const igraph_sparsemat_t,
12504 b: *const igraph_vector_t,
12505 res: *mut igraph_vector_t,
12506 ) -> igraph_error_t;
12507}
12508unsafe extern "C" {
12509 pub fn igraph_sparsemat_usolve(
12510 A: *const igraph_sparsemat_t,
12511 b: *const igraph_vector_t,
12512 res: *mut igraph_vector_t,
12513 ) -> igraph_error_t;
12514}
12515unsafe extern "C" {
12516 pub fn igraph_sparsemat_utsolve(
12517 A: *const igraph_sparsemat_t,
12518 b: *const igraph_vector_t,
12519 res: *mut igraph_vector_t,
12520 ) -> igraph_error_t;
12521}
12522unsafe extern "C" {
12523 pub fn igraph_sparsemat_cholsol(
12524 A: *const igraph_sparsemat_t,
12525 b: *const igraph_vector_t,
12526 res: *mut igraph_vector_t,
12527 order: igraph_int_t,
12528 ) -> igraph_error_t;
12529}
12530unsafe extern "C" {
12531 pub fn igraph_sparsemat_lusol(
12532 A: *const igraph_sparsemat_t,
12533 b: *const igraph_vector_t,
12534 res: *mut igraph_vector_t,
12535 order: igraph_int_t,
12536 tol: igraph_real_t,
12537 ) -> igraph_error_t;
12538}
12539unsafe extern "C" {
12540 pub fn igraph_sparsemat_print(
12541 A: *const igraph_sparsemat_t,
12542 outstream: *mut FILE,
12543 ) -> igraph_error_t;
12544}
12545unsafe extern "C" {
12546 pub fn igraph_matrix_as_sparsemat(
12547 res: *mut igraph_sparsemat_t,
12548 mat: *const igraph_matrix_t,
12549 tol: igraph_real_t,
12550 ) -> igraph_error_t;
12551}
12552unsafe extern "C" {
12553 pub fn igraph_sparsemat_as_matrix(
12554 res: *mut igraph_matrix_t,
12555 spmat: *const igraph_sparsemat_t,
12556 ) -> igraph_error_t;
12557}
12558pub const igraph_sparsemat_solve_t_IGRAPH_SPARSEMAT_SOLVE_LU: igraph_sparsemat_solve_t = 0;
12559pub const igraph_sparsemat_solve_t_IGRAPH_SPARSEMAT_SOLVE_QR: igraph_sparsemat_solve_t = 1;
12560pub type igraph_sparsemat_solve_t = ::std::os::raw::c_uint;
12561unsafe extern "C" {
12562 pub fn igraph_sparsemat_arpack_rssolve(
12563 A: *const igraph_sparsemat_t,
12564 options: *mut igraph_arpack_options_t,
12565 storage: *mut igraph_arpack_storage_t,
12566 values: *mut igraph_vector_t,
12567 vectors: *mut igraph_matrix_t,
12568 solvemethod: igraph_sparsemat_solve_t,
12569 ) -> igraph_error_t;
12570}
12571unsafe extern "C" {
12572 pub fn igraph_sparsemat_arpack_rnsolve(
12573 A: *const igraph_sparsemat_t,
12574 options: *mut igraph_arpack_options_t,
12575 storage: *mut igraph_arpack_storage_t,
12576 values: *mut igraph_matrix_t,
12577 vectors: *mut igraph_matrix_t,
12578 ) -> igraph_error_t;
12579}
12580unsafe extern "C" {
12581 pub fn igraph_sparsemat_lu(
12582 A: *const igraph_sparsemat_t,
12583 dis: *const igraph_sparsemat_symbolic_t,
12584 din: *mut igraph_sparsemat_numeric_t,
12585 tol: f64,
12586 ) -> igraph_error_t;
12587}
12588unsafe extern "C" {
12589 pub fn igraph_sparsemat_qr(
12590 A: *const igraph_sparsemat_t,
12591 dis: *const igraph_sparsemat_symbolic_t,
12592 din: *mut igraph_sparsemat_numeric_t,
12593 ) -> igraph_error_t;
12594}
12595unsafe extern "C" {
12596 pub fn igraph_sparsemat_luresol(
12597 dis: *const igraph_sparsemat_symbolic_t,
12598 din: *const igraph_sparsemat_numeric_t,
12599 b: *const igraph_vector_t,
12600 res: *mut igraph_vector_t,
12601 ) -> igraph_error_t;
12602}
12603unsafe extern "C" {
12604 pub fn igraph_sparsemat_qrresol(
12605 dis: *const igraph_sparsemat_symbolic_t,
12606 din: *const igraph_sparsemat_numeric_t,
12607 b: *const igraph_vector_t,
12608 res: *mut igraph_vector_t,
12609 ) -> igraph_error_t;
12610}
12611unsafe extern "C" {
12612 pub fn igraph_sparsemat_symbqr(
12613 order: igraph_int_t,
12614 A: *const igraph_sparsemat_t,
12615 dis: *mut igraph_sparsemat_symbolic_t,
12616 ) -> igraph_error_t;
12617}
12618unsafe extern "C" {
12619 pub fn igraph_sparsemat_symblu(
12620 order: igraph_int_t,
12621 A: *const igraph_sparsemat_t,
12622 dis: *mut igraph_sparsemat_symbolic_t,
12623 ) -> igraph_error_t;
12624}
12625unsafe extern "C" {
12626 pub fn igraph_sparsemat_symbolic_destroy(dis: *mut igraph_sparsemat_symbolic_t);
12627}
12628unsafe extern "C" {
12629 pub fn igraph_sparsemat_numeric_destroy(din: *mut igraph_sparsemat_numeric_t);
12630}
12631unsafe extern "C" {
12632 pub fn igraph_sparsemat_max(A: *mut igraph_sparsemat_t) -> igraph_real_t;
12633}
12634unsafe extern "C" {
12635 pub fn igraph_sparsemat_min(A: *mut igraph_sparsemat_t) -> igraph_real_t;
12636}
12637unsafe extern "C" {
12638 pub fn igraph_sparsemat_minmax(
12639 A: *mut igraph_sparsemat_t,
12640 min: *mut igraph_real_t,
12641 max: *mut igraph_real_t,
12642 ) -> igraph_error_t;
12643}
12644unsafe extern "C" {
12645 pub fn igraph_sparsemat_count_nonzero(A: *mut igraph_sparsemat_t) -> igraph_int_t;
12646}
12647unsafe extern "C" {
12648 pub fn igraph_sparsemat_count_nonzerotol(
12649 A: *mut igraph_sparsemat_t,
12650 tol: igraph_real_t,
12651 ) -> igraph_int_t;
12652}
12653unsafe extern "C" {
12654 pub fn igraph_sparsemat_rowsums(
12655 A: *const igraph_sparsemat_t,
12656 res: *mut igraph_vector_t,
12657 ) -> igraph_error_t;
12658}
12659unsafe extern "C" {
12660 pub fn igraph_sparsemat_colsums(
12661 A: *const igraph_sparsemat_t,
12662 res: *mut igraph_vector_t,
12663 ) -> igraph_error_t;
12664}
12665unsafe extern "C" {
12666 pub fn igraph_sparsemat_rowmins(
12667 A: *mut igraph_sparsemat_t,
12668 res: *mut igraph_vector_t,
12669 ) -> igraph_error_t;
12670}
12671unsafe extern "C" {
12672 pub fn igraph_sparsemat_colmins(
12673 A: *mut igraph_sparsemat_t,
12674 res: *mut igraph_vector_t,
12675 ) -> igraph_error_t;
12676}
12677unsafe extern "C" {
12678 pub fn igraph_sparsemat_rowmaxs(
12679 A: *mut igraph_sparsemat_t,
12680 res: *mut igraph_vector_t,
12681 ) -> igraph_error_t;
12682}
12683unsafe extern "C" {
12684 pub fn igraph_sparsemat_colmaxs(
12685 A: *mut igraph_sparsemat_t,
12686 res: *mut igraph_vector_t,
12687 ) -> igraph_error_t;
12688}
12689unsafe extern "C" {
12690 pub fn igraph_sparsemat_which_min_rows(
12691 A: *mut igraph_sparsemat_t,
12692 res: *mut igraph_vector_t,
12693 pos: *mut igraph_vector_int_t,
12694 ) -> igraph_error_t;
12695}
12696unsafe extern "C" {
12697 pub fn igraph_sparsemat_which_min_cols(
12698 A: *mut igraph_sparsemat_t,
12699 res: *mut igraph_vector_t,
12700 pos: *mut igraph_vector_int_t,
12701 ) -> igraph_error_t;
12702}
12703unsafe extern "C" {
12704 pub fn igraph_sparsemat_scale(A: *mut igraph_sparsemat_t, by: igraph_real_t) -> igraph_error_t;
12705}
12706unsafe extern "C" {
12707 pub fn igraph_sparsemat_add_rows(A: *mut igraph_sparsemat_t, n: igraph_int_t)
12708 -> igraph_error_t;
12709}
12710unsafe extern "C" {
12711 pub fn igraph_sparsemat_add_cols(A: *mut igraph_sparsemat_t, n: igraph_int_t)
12712 -> igraph_error_t;
12713}
12714unsafe extern "C" {
12715 pub fn igraph_sparsemat_resize(
12716 A: *mut igraph_sparsemat_t,
12717 nrow: igraph_int_t,
12718 ncol: igraph_int_t,
12719 nzmax: igraph_int_t,
12720 ) -> igraph_error_t;
12721}
12722unsafe extern "C" {
12723 pub fn igraph_sparsemat_nonzero_storage(A: *const igraph_sparsemat_t) -> igraph_int_t;
12724}
12725unsafe extern "C" {
12726 pub fn igraph_sparsemat_getelements(
12727 A: *const igraph_sparsemat_t,
12728 i: *mut igraph_vector_int_t,
12729 j: *mut igraph_vector_int_t,
12730 x: *mut igraph_vector_t,
12731 ) -> igraph_error_t;
12732}
12733unsafe extern "C" {
12734 pub fn igraph_sparsemat_getelements_sorted(
12735 A: *const igraph_sparsemat_t,
12736 i: *mut igraph_vector_int_t,
12737 j: *mut igraph_vector_int_t,
12738 x: *mut igraph_vector_t,
12739 ) -> igraph_error_t;
12740}
12741unsafe extern "C" {
12742 pub fn igraph_sparsemat_scale_rows(
12743 A: *mut igraph_sparsemat_t,
12744 fact: *const igraph_vector_t,
12745 ) -> igraph_error_t;
12746}
12747unsafe extern "C" {
12748 pub fn igraph_sparsemat_scale_cols(
12749 A: *mut igraph_sparsemat_t,
12750 fact: *const igraph_vector_t,
12751 ) -> igraph_error_t;
12752}
12753unsafe extern "C" {
12754 pub fn igraph_sparsemat_multiply_by_dense(
12755 A: *const igraph_sparsemat_t,
12756 B: *const igraph_matrix_t,
12757 res: *mut igraph_matrix_t,
12758 ) -> igraph_error_t;
12759}
12760unsafe extern "C" {
12761 pub fn igraph_sparsemat_dense_multiply(
12762 A: *const igraph_matrix_t,
12763 B: *const igraph_sparsemat_t,
12764 res: *mut igraph_matrix_t,
12765 ) -> igraph_error_t;
12766}
12767unsafe extern "C" {
12768 pub fn igraph_sparsemat_sort(
12769 A: *const igraph_sparsemat_t,
12770 sorted: *mut igraph_sparsemat_t,
12771 ) -> igraph_error_t;
12772}
12773unsafe extern "C" {
12774 pub fn igraph_sparsemat_nzmax(A: *const igraph_sparsemat_t) -> igraph_int_t;
12775}
12776unsafe extern "C" {
12777 pub fn igraph_sparsemat_neg(A: *mut igraph_sparsemat_t) -> igraph_error_t;
12778}
12779unsafe extern "C" {
12780 pub fn igraph_sparsemat_normalize_cols(
12781 sparsemat: *mut igraph_sparsemat_t,
12782 allow_zeros: igraph_bool_t,
12783 ) -> igraph_error_t;
12784}
12785unsafe extern "C" {
12786 pub fn igraph_sparsemat_normalize_rows(
12787 sparsemat: *mut igraph_sparsemat_t,
12788 allow_zeros: igraph_bool_t,
12789 ) -> igraph_error_t;
12790}
12791unsafe extern "C" {
12792 pub fn igraph_sparsemat_iterator_init(
12793 it: *mut igraph_sparsemat_iterator_t,
12794 sparsemat: *const igraph_sparsemat_t,
12795 ) -> igraph_error_t;
12796}
12797unsafe extern "C" {
12798 pub fn igraph_sparsemat_iterator_reset(it: *mut igraph_sparsemat_iterator_t) -> igraph_error_t;
12799}
12800unsafe extern "C" {
12801 pub fn igraph_sparsemat_iterator_end(it: *const igraph_sparsemat_iterator_t) -> igraph_bool_t;
12802}
12803unsafe extern "C" {
12804 pub fn igraph_sparsemat_iterator_row(it: *const igraph_sparsemat_iterator_t) -> igraph_int_t;
12805}
12806unsafe extern "C" {
12807 pub fn igraph_sparsemat_iterator_col(it: *const igraph_sparsemat_iterator_t) -> igraph_int_t;
12808}
12809unsafe extern "C" {
12810 pub fn igraph_sparsemat_iterator_idx(it: *const igraph_sparsemat_iterator_t) -> igraph_int_t;
12811}
12812unsafe extern "C" {
12813 pub fn igraph_sparsemat_iterator_get(it: *const igraph_sparsemat_iterator_t) -> igraph_real_t;
12814}
12815unsafe extern "C" {
12816 pub fn igraph_sparsemat_iterator_next(it: *mut igraph_sparsemat_iterator_t) -> igraph_int_t;
12817}
12818unsafe extern "C" {
12819 pub fn igraph_qsort(
12820 base: *mut ::std::os::raw::c_void,
12821 nel: usize,
12822 width: usize,
12823 compar: ::std::option::Option<
12824 unsafe extern "C" fn(
12825 arg1: *const ::std::os::raw::c_void,
12826 arg2: *const ::std::os::raw::c_void,
12827 ) -> ::std::os::raw::c_int,
12828 >,
12829 );
12830}
12831unsafe extern "C" {
12832 pub fn igraph_qsort_r(
12833 base: *mut ::std::os::raw::c_void,
12834 nel: usize,
12835 width: usize,
12836 thunk: *mut ::std::os::raw::c_void,
12837 compar: ::std::option::Option<
12838 unsafe extern "C" fn(
12839 arg1: *mut ::std::os::raw::c_void,
12840 arg2: *const ::std::os::raw::c_void,
12841 arg3: *const ::std::os::raw::c_void,
12842 ) -> ::std::os::raw::c_int,
12843 >,
12844 );
12845}
12846#[repr(C)]
12847#[derive(Debug, Copy, Clone)]
12848pub struct igraph_i_property_cache_t {
12849 _unused: [u8; 0],
12850}
12851pub const igraph_cached_property_t_IGRAPH_PROP_HAS_LOOP: igraph_cached_property_t = 0;
12852pub const igraph_cached_property_t_IGRAPH_PROP_HAS_MULTI: igraph_cached_property_t = 1;
12853pub const igraph_cached_property_t_IGRAPH_PROP_HAS_MUTUAL: igraph_cached_property_t = 2;
12854pub const igraph_cached_property_t_IGRAPH_PROP_IS_WEAKLY_CONNECTED: igraph_cached_property_t = 3;
12855pub const igraph_cached_property_t_IGRAPH_PROP_IS_STRONGLY_CONNECTED: igraph_cached_property_t = 4;
12856pub const igraph_cached_property_t_IGRAPH_PROP_IS_DAG: igraph_cached_property_t = 5;
12857pub const igraph_cached_property_t_IGRAPH_PROP_IS_FOREST: igraph_cached_property_t = 6;
12858pub const igraph_cached_property_t_IGRAPH_PROP_I_SIZE: igraph_cached_property_t = 7;
12859pub type igraph_cached_property_t = ::std::os::raw::c_uint;
12860#[doc = " \\ingroup internal\n \\struct igraph_t\n \\brief The internal data structure for storing graphs.\n\n It is simple and efficient. It has the following members:\n - <b>n</b> The number of vertices, redundant.\n - <b>directed</b> Whether the graph is directed.\n - <b>from</b> The first column of the edge list.\n - <b>to</b> The second column of the edge list.\n - <b>oi</b> The index of the edge list by the first column. Thus\n the first edge according to this order goes from\n \\c from[oi[0]] to \\c to[oi[0]]. The length of\n this vector is the same as the number of edges in the graph.\n - <b>ii</b> The index of the edge list by the second column.\n The length of this vector is the same as the number of edges.\n - <b>os</b> Contains pointers to the edgelist (\\c from\n and \\c to for every vertex. The first edge \\em from\n vertex \\c v is edge no. \\c from[oi[os[v]]] if\n \\c os[v]<os[v+1]. If \\c os[v]==os[v+1] then\n there are no edges \\em from node \\c v. Its length is\n the number of vertices plus one, the last element is always the\n same as the number of edges and is contained only to ease the\n queries.\n - <b>is</b> This is basically the same as <b>os</b>, but this time\n for the incoming edges.\n\n For undirected graphs, the same edge list is stored, i.e. an\n undirected edge is stored only once. Currently, undirected edges\n are canonicalized so that the index of the 'from' vertex is not greater\n than the index of the 'to' vertex. Thus, if v1 <= v2, only the edge (v1, v2)\n needs to be searched for, not (v2, v1), to determine if v1 and v2 are connected.\n However, this fact is NOT guaranteed by the documented public API,\n and should not be relied upon by the implementation of any functions,\n except those belonging to the minimal API in type_indexededgelist.c.\n\n The storage requirements for a graph with \\c |V| vertices\n and \\c |E| edges is \\c O(|E|+|V|)."]
12861#[repr(C)]
12862#[derive(Debug, Clone)]
12863pub struct igraph_t {
12864 pub n: igraph_int_t,
12865 pub directed: igraph_bool_t,
12866 pub from: igraph_vector_int_t,
12867 pub to: igraph_vector_int_t,
12868 pub oi: igraph_vector_int_t,
12869 pub ii: igraph_vector_int_t,
12870 pub os: igraph_vector_int_t,
12871 pub is: igraph_vector_int_t,
12872 pub attr: *mut ::std::os::raw::c_void,
12873 pub cache: *mut igraph_i_property_cache_t,
12874}
12875#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12876const _: () = {
12877 ["Size of igraph_t"][::std::mem::size_of::<igraph_t>() - 176usize];
12878 ["Alignment of igraph_t"][::std::mem::align_of::<igraph_t>() - 8usize];
12879 ["Offset of field: igraph_t::n"][::std::mem::offset_of!(igraph_t, n) - 0usize];
12880 ["Offset of field: igraph_t::directed"][::std::mem::offset_of!(igraph_t, directed) - 8usize];
12881 ["Offset of field: igraph_t::from"][::std::mem::offset_of!(igraph_t, from) - 16usize];
12882 ["Offset of field: igraph_t::to"][::std::mem::offset_of!(igraph_t, to) - 40usize];
12883 ["Offset of field: igraph_t::oi"][::std::mem::offset_of!(igraph_t, oi) - 64usize];
12884 ["Offset of field: igraph_t::ii"][::std::mem::offset_of!(igraph_t, ii) - 88usize];
12885 ["Offset of field: igraph_t::os"][::std::mem::offset_of!(igraph_t, os) - 112usize];
12886 ["Offset of field: igraph_t::is"][::std::mem::offset_of!(igraph_t, is) - 136usize];
12887 ["Offset of field: igraph_t::attr"][::std::mem::offset_of!(igraph_t, attr) - 160usize];
12888 ["Offset of field: igraph_t::cache"][::std::mem::offset_of!(igraph_t, cache) - 168usize];
12889};
12890unsafe extern "C" {
12891 pub fn igraph_invalidate_cache(graph: *const igraph_t);
12892}
12893#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
12894#[repr(C)]
12895#[derive(Debug, Copy, Clone)]
12896pub struct igraph_graph_list_t {
12897 pub stor_begin: *mut igraph_t,
12898 pub stor_end: *mut igraph_t,
12899 pub end: *mut igraph_t,
12900 pub directed: igraph_bool_t,
12901}
12902#[allow(clippy::unnecessary_operation, clippy::identity_op)]
12903const _: () = {
12904 ["Size of igraph_graph_list_t"][::std::mem::size_of::<igraph_graph_list_t>() - 32usize];
12905 ["Alignment of igraph_graph_list_t"][::std::mem::align_of::<igraph_graph_list_t>() - 8usize];
12906 ["Offset of field: igraph_graph_list_t::stor_begin"]
12907 [::std::mem::offset_of!(igraph_graph_list_t, stor_begin) - 0usize];
12908 ["Offset of field: igraph_graph_list_t::stor_end"]
12909 [::std::mem::offset_of!(igraph_graph_list_t, stor_end) - 8usize];
12910 ["Offset of field: igraph_graph_list_t::end"]
12911 [::std::mem::offset_of!(igraph_graph_list_t, end) - 16usize];
12912 ["Offset of field: igraph_graph_list_t::directed"]
12913 [::std::mem::offset_of!(igraph_graph_list_t, directed) - 24usize];
12914};
12915unsafe extern "C" {
12916 pub fn igraph_graph_list_init(
12917 v: *mut igraph_graph_list_t,
12918 size: igraph_int_t,
12919 ) -> igraph_error_t;
12920}
12921unsafe extern "C" {
12922 pub fn igraph_graph_list_init_copy(
12923 to: *mut igraph_graph_list_t,
12924 from: *const igraph_graph_list_t,
12925 ) -> igraph_error_t;
12926}
12927unsafe extern "C" {
12928 pub fn igraph_graph_list_destroy(v: *mut igraph_graph_list_t);
12929}
12930unsafe extern "C" {
12931 pub fn igraph_graph_list_get_ptr(
12932 v: *const igraph_graph_list_t,
12933 pos: igraph_int_t,
12934 ) -> *mut igraph_t;
12935}
12936unsafe extern "C" {
12937 pub fn igraph_graph_list_set(v: *mut igraph_graph_list_t, pos: igraph_int_t, e: *mut igraph_t);
12938}
12939unsafe extern "C" {
12940 pub fn igraph_graph_list_tail_ptr(v: *const igraph_graph_list_t) -> *mut igraph_t;
12941}
12942unsafe extern "C" {
12943 pub fn igraph_graph_list_capacity(v: *const igraph_graph_list_t) -> igraph_int_t;
12944}
12945unsafe extern "C" {
12946 pub fn igraph_graph_list_empty(v: *const igraph_graph_list_t) -> igraph_bool_t;
12947}
12948unsafe extern "C" {
12949 pub fn igraph_graph_list_size(v: *const igraph_graph_list_t) -> igraph_int_t;
12950}
12951unsafe extern "C" {
12952 pub fn igraph_graph_list_clear(v: *mut igraph_graph_list_t);
12953}
12954unsafe extern "C" {
12955 pub fn igraph_graph_list_reserve(
12956 v: *mut igraph_graph_list_t,
12957 capacity: igraph_int_t,
12958 ) -> igraph_error_t;
12959}
12960unsafe extern "C" {
12961 pub fn igraph_graph_list_resize(
12962 v: *mut igraph_graph_list_t,
12963 new_size: igraph_int_t,
12964 ) -> igraph_error_t;
12965}
12966unsafe extern "C" {
12967 pub fn igraph_graph_list_discard(v: *mut igraph_graph_list_t, index: igraph_int_t);
12968}
12969unsafe extern "C" {
12970 pub fn igraph_graph_list_discard_back(v: *mut igraph_graph_list_t);
12971}
12972unsafe extern "C" {
12973 pub fn igraph_graph_list_discard_fast(v: *mut igraph_graph_list_t, index: igraph_int_t);
12974}
12975unsafe extern "C" {
12976 pub fn igraph_graph_list_insert(
12977 v: *mut igraph_graph_list_t,
12978 pos: igraph_int_t,
12979 e: *mut igraph_t,
12980 ) -> igraph_error_t;
12981}
12982unsafe extern "C" {
12983 pub fn igraph_graph_list_insert_copy(
12984 v: *mut igraph_graph_list_t,
12985 pos: igraph_int_t,
12986 e: *const igraph_t,
12987 ) -> igraph_error_t;
12988}
12989unsafe extern "C" {
12990 pub fn igraph_graph_list_insert_new(
12991 v: *mut igraph_graph_list_t,
12992 pos: igraph_int_t,
12993 result: *mut *mut igraph_t,
12994 ) -> igraph_error_t;
12995}
12996unsafe extern "C" {
12997 pub fn igraph_graph_list_push_back(
12998 v: *mut igraph_graph_list_t,
12999 e: *mut igraph_t,
13000 ) -> igraph_error_t;
13001}
13002unsafe extern "C" {
13003 pub fn igraph_graph_list_push_back_copy(
13004 v: *mut igraph_graph_list_t,
13005 e: *const igraph_t,
13006 ) -> igraph_error_t;
13007}
13008unsafe extern "C" {
13009 pub fn igraph_graph_list_push_back_new(
13010 v: *mut igraph_graph_list_t,
13011 result: *mut *mut igraph_t,
13012 ) -> igraph_error_t;
13013}
13014unsafe extern "C" {
13015 pub fn igraph_graph_list_pop_back(v: *mut igraph_graph_list_t) -> igraph_t;
13016}
13017unsafe extern "C" {
13018 pub fn igraph_graph_list_remove(
13019 v: *mut igraph_graph_list_t,
13020 index: igraph_int_t,
13021 e: *mut igraph_t,
13022 ) -> igraph_error_t;
13023}
13024unsafe extern "C" {
13025 pub fn igraph_graph_list_remove_fast(
13026 v: *mut igraph_graph_list_t,
13027 index: igraph_int_t,
13028 e: *mut igraph_t,
13029 ) -> igraph_error_t;
13030}
13031unsafe extern "C" {
13032 pub fn igraph_graph_list_replace(
13033 v: *mut igraph_graph_list_t,
13034 pos: igraph_int_t,
13035 e: *mut igraph_t,
13036 );
13037}
13038unsafe extern "C" {
13039 pub fn igraph_graph_list_remove_consecutive_duplicates(
13040 v: *mut igraph_graph_list_t,
13041 eq: ::std::option::Option<
13042 unsafe extern "C" fn(arg1: *const igraph_t, arg2: *const igraph_t) -> igraph_bool_t,
13043 >,
13044 );
13045}
13046unsafe extern "C" {
13047 pub fn igraph_graph_list_permute(
13048 v: *mut igraph_graph_list_t,
13049 index: *const igraph_vector_int_t,
13050 ) -> igraph_error_t;
13051}
13052unsafe extern "C" {
13053 pub fn igraph_graph_list_reverse(v: *mut igraph_graph_list_t) -> igraph_error_t;
13054}
13055unsafe extern "C" {
13056 pub fn igraph_graph_list_swap(v1: *mut igraph_graph_list_t, v2: *mut igraph_graph_list_t);
13057}
13058unsafe extern "C" {
13059 pub fn igraph_graph_list_swap_elements(
13060 v: *mut igraph_graph_list_t,
13061 i: igraph_int_t,
13062 j: igraph_int_t,
13063 );
13064}
13065unsafe extern "C" {
13066 pub fn igraph_graph_list_sort(
13067 v: *mut igraph_graph_list_t,
13068 cmp: ::std::option::Option<
13069 unsafe extern "C" fn(
13070 arg1: *const igraph_t,
13071 arg2: *const igraph_t,
13072 ) -> ::std::os::raw::c_int,
13073 >,
13074 );
13075}
13076unsafe extern "C" {
13077 pub fn igraph_graph_list_sort_ind(
13078 v: *mut igraph_graph_list_t,
13079 ind: *mut igraph_vector_int_t,
13080 cmp: ::std::option::Option<
13081 unsafe extern "C" fn(
13082 arg1: *const igraph_t,
13083 arg2: *const igraph_t,
13084 ) -> ::std::os::raw::c_int,
13085 >,
13086 ) -> igraph_error_t;
13087}
13088unsafe extern "C" {
13089 pub fn igraph_graph_list_set_directed(list: *mut igraph_graph_list_t, directed: igraph_bool_t);
13090}
13091pub const igraph_vs_type_t_IGRAPH_VS_ALL: igraph_vs_type_t = 0;
13092pub const igraph_vs_type_t_IGRAPH_VS_ADJ: igraph_vs_type_t = 1;
13093pub const igraph_vs_type_t_IGRAPH_VS_NONE: igraph_vs_type_t = 2;
13094pub const igraph_vs_type_t_IGRAPH_VS_1: igraph_vs_type_t = 3;
13095pub const igraph_vs_type_t_IGRAPH_VS_VECTORPTR: igraph_vs_type_t = 4;
13096pub const igraph_vs_type_t_IGRAPH_VS_VECTOR: igraph_vs_type_t = 5;
13097pub const igraph_vs_type_t_IGRAPH_VS_RANGE: igraph_vs_type_t = 6;
13098pub const igraph_vs_type_t_IGRAPH_VS_NONADJ: igraph_vs_type_t = 7;
13099pub type igraph_vs_type_t = ::std::os::raw::c_uint;
13100#[repr(C)]
13101#[derive(Copy, Clone)]
13102pub struct igraph_vs_t {
13103 pub type_: igraph_vs_type_t,
13104 pub data: igraph_vs_t__bindgen_ty_1,
13105}
13106#[repr(C)]
13107#[derive(Copy, Clone)]
13108pub union igraph_vs_t__bindgen_ty_1 {
13109 pub vid: igraph_int_t,
13110 pub vecptr: *const igraph_vector_int_t,
13111 pub adj: igraph_vs_t__bindgen_ty_1__bindgen_ty_1,
13112 pub range: igraph_vs_t__bindgen_ty_1__bindgen_ty_2,
13113}
13114#[repr(C)]
13115#[derive(Debug, Copy, Clone)]
13116pub struct igraph_vs_t__bindgen_ty_1__bindgen_ty_1 {
13117 pub vid: igraph_int_t,
13118 pub mode: igraph_neimode_t,
13119 pub loops: igraph_loops_t,
13120 pub multiple: igraph_bool_t,
13121}
13122#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13123const _: () = {
13124 ["Size of igraph_vs_t__bindgen_ty_1__bindgen_ty_1"]
13125 [::std::mem::size_of::<igraph_vs_t__bindgen_ty_1__bindgen_ty_1>() - 24usize];
13126 ["Alignment of igraph_vs_t__bindgen_ty_1__bindgen_ty_1"]
13127 [::std::mem::align_of::<igraph_vs_t__bindgen_ty_1__bindgen_ty_1>() - 8usize];
13128 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_1::vid"]
13129 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_1, vid) - 0usize];
13130 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_1::mode"]
13131 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_1, mode) - 8usize];
13132 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_1::loops"]
13133 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_1, loops) - 12usize];
13134 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_1::multiple"]
13135 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_1, multiple) - 16usize];
13136};
13137#[repr(C)]
13138#[derive(Debug, Copy, Clone)]
13139pub struct igraph_vs_t__bindgen_ty_1__bindgen_ty_2 {
13140 pub start: igraph_int_t,
13141 pub end: igraph_int_t,
13142}
13143#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13144const _: () = {
13145 ["Size of igraph_vs_t__bindgen_ty_1__bindgen_ty_2"]
13146 [::std::mem::size_of::<igraph_vs_t__bindgen_ty_1__bindgen_ty_2>() - 16usize];
13147 ["Alignment of igraph_vs_t__bindgen_ty_1__bindgen_ty_2"]
13148 [::std::mem::align_of::<igraph_vs_t__bindgen_ty_1__bindgen_ty_2>() - 8usize];
13149 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_2::start"]
13150 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_2, start) - 0usize];
13151 ["Offset of field: igraph_vs_t__bindgen_ty_1__bindgen_ty_2::end"]
13152 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1__bindgen_ty_2, end) - 8usize];
13153};
13154#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13155const _: () = {
13156 ["Size of igraph_vs_t__bindgen_ty_1"]
13157 [::std::mem::size_of::<igraph_vs_t__bindgen_ty_1>() - 24usize];
13158 ["Alignment of igraph_vs_t__bindgen_ty_1"]
13159 [::std::mem::align_of::<igraph_vs_t__bindgen_ty_1>() - 8usize];
13160 ["Offset of field: igraph_vs_t__bindgen_ty_1::vid"]
13161 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1, vid) - 0usize];
13162 ["Offset of field: igraph_vs_t__bindgen_ty_1::vecptr"]
13163 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1, vecptr) - 0usize];
13164 ["Offset of field: igraph_vs_t__bindgen_ty_1::adj"]
13165 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1, adj) - 0usize];
13166 ["Offset of field: igraph_vs_t__bindgen_ty_1::range"]
13167 [::std::mem::offset_of!(igraph_vs_t__bindgen_ty_1, range) - 0usize];
13168};
13169#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13170const _: () = {
13171 ["Size of igraph_vs_t"][::std::mem::size_of::<igraph_vs_t>() - 32usize];
13172 ["Alignment of igraph_vs_t"][::std::mem::align_of::<igraph_vs_t>() - 8usize];
13173 ["Offset of field: igraph_vs_t::type_"][::std::mem::offset_of!(igraph_vs_t, type_) - 0usize];
13174 ["Offset of field: igraph_vs_t::data"][::std::mem::offset_of!(igraph_vs_t, data) - 8usize];
13175};
13176unsafe extern "C" {
13177 pub fn igraph_vs_all(vs: *mut igraph_vs_t) -> igraph_error_t;
13178}
13179unsafe extern "C" {
13180 pub fn igraph_vss_all() -> igraph_vs_t;
13181}
13182unsafe extern "C" {
13183 pub fn igraph_vs_adj(
13184 vs: *mut igraph_vs_t,
13185 vid: igraph_int_t,
13186 mode: igraph_neimode_t,
13187 loops: igraph_loops_t,
13188 multiple: igraph_bool_t,
13189 ) -> igraph_error_t;
13190}
13191unsafe extern "C" {
13192 pub fn igraph_vs_nonadj(
13193 vs: *mut igraph_vs_t,
13194 vid: igraph_int_t,
13195 mode: igraph_neimode_t,
13196 ) -> igraph_error_t;
13197}
13198unsafe extern "C" {
13199 pub fn igraph_vs_none(vs: *mut igraph_vs_t) -> igraph_error_t;
13200}
13201unsafe extern "C" {
13202 pub fn igraph_vss_none() -> igraph_vs_t;
13203}
13204unsafe extern "C" {
13205 pub fn igraph_vs_1(vs: *mut igraph_vs_t, vid: igraph_int_t) -> igraph_error_t;
13206}
13207unsafe extern "C" {
13208 pub fn igraph_vss_1(vid: igraph_int_t) -> igraph_vs_t;
13209}
13210unsafe extern "C" {
13211 pub fn igraph_vs_vector(vs: *mut igraph_vs_t, v: *const igraph_vector_int_t) -> igraph_error_t;
13212}
13213unsafe extern "C" {
13214 pub fn igraph_vss_vector(v: *const igraph_vector_int_t) -> igraph_vs_t;
13215}
13216unsafe extern "C" {
13217 pub fn igraph_vs_vector_small(vs: *mut igraph_vs_t, ...) -> igraph_error_t;
13218}
13219unsafe extern "C" {
13220 pub fn igraph_vs_vector_copy(
13221 vs: *mut igraph_vs_t,
13222 v: *const igraph_vector_int_t,
13223 ) -> igraph_error_t;
13224}
13225unsafe extern "C" {
13226 pub fn igraph_vs_range(
13227 vs: *mut igraph_vs_t,
13228 start: igraph_int_t,
13229 end: igraph_int_t,
13230 ) -> igraph_error_t;
13231}
13232unsafe extern "C" {
13233 pub fn igraph_vss_range(start: igraph_int_t, end: igraph_int_t) -> igraph_vs_t;
13234}
13235unsafe extern "C" {
13236 pub fn igraph_vs_destroy(vs: *mut igraph_vs_t);
13237}
13238unsafe extern "C" {
13239 pub fn igraph_vs_is_all(vs: *const igraph_vs_t) -> igraph_bool_t;
13240}
13241unsafe extern "C" {
13242 pub fn igraph_vs_copy(dest: *mut igraph_vs_t, src: *const igraph_vs_t) -> igraph_error_t;
13243}
13244unsafe extern "C" {
13245 pub fn igraph_vs_as_vector(
13246 graph: *const igraph_t,
13247 vs: igraph_vs_t,
13248 v: *mut igraph_vector_int_t,
13249 ) -> igraph_error_t;
13250}
13251unsafe extern "C" {
13252 pub fn igraph_vs_size(
13253 graph: *const igraph_t,
13254 vs: *const igraph_vs_t,
13255 result: *mut igraph_int_t,
13256 ) -> igraph_error_t;
13257}
13258unsafe extern "C" {
13259 pub fn igraph_vs_type(vs: *const igraph_vs_t) -> igraph_vs_type_t;
13260}
13261pub const igraph_vit_type_t_IGRAPH_VIT_RANGE: igraph_vit_type_t = 0;
13262pub const igraph_vit_type_t_IGRAPH_VIT_VECTOR: igraph_vit_type_t = 1;
13263pub const igraph_vit_type_t_IGRAPH_VIT_VECTORPTR: igraph_vit_type_t = 2;
13264pub type igraph_vit_type_t = ::std::os::raw::c_uint;
13265#[repr(C)]
13266#[derive(Debug, Copy, Clone)]
13267pub struct igraph_vit_t {
13268 pub type_: igraph_vit_type_t,
13269 pub pos: igraph_int_t,
13270 pub start: igraph_int_t,
13271 pub end: igraph_int_t,
13272 pub vec: *const igraph_vector_int_t,
13273}
13274#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13275const _: () = {
13276 ["Size of igraph_vit_t"][::std::mem::size_of::<igraph_vit_t>() - 40usize];
13277 ["Alignment of igraph_vit_t"][::std::mem::align_of::<igraph_vit_t>() - 8usize];
13278 ["Offset of field: igraph_vit_t::type_"][::std::mem::offset_of!(igraph_vit_t, type_) - 0usize];
13279 ["Offset of field: igraph_vit_t::pos"][::std::mem::offset_of!(igraph_vit_t, pos) - 8usize];
13280 ["Offset of field: igraph_vit_t::start"][::std::mem::offset_of!(igraph_vit_t, start) - 16usize];
13281 ["Offset of field: igraph_vit_t::end"][::std::mem::offset_of!(igraph_vit_t, end) - 24usize];
13282 ["Offset of field: igraph_vit_t::vec"][::std::mem::offset_of!(igraph_vit_t, vec) - 32usize];
13283};
13284unsafe extern "C" {
13285 pub fn igraph_vit_create(
13286 graph: *const igraph_t,
13287 vs: igraph_vs_t,
13288 vit: *mut igraph_vit_t,
13289 ) -> igraph_error_t;
13290}
13291unsafe extern "C" {
13292 pub fn igraph_vit_destroy(vit: *const igraph_vit_t);
13293}
13294unsafe extern "C" {
13295 pub fn igraph_vit_as_vector(
13296 vit: *const igraph_vit_t,
13297 v: *mut igraph_vector_int_t,
13298 ) -> igraph_error_t;
13299}
13300pub const igraph_es_type_t_IGRAPH_ES_ALL: igraph_es_type_t = 0;
13301pub const igraph_es_type_t_IGRAPH_ES_ALLFROM: igraph_es_type_t = 1;
13302pub const igraph_es_type_t_IGRAPH_ES_ALLTO: igraph_es_type_t = 2;
13303pub const igraph_es_type_t_IGRAPH_ES_INCIDENT: igraph_es_type_t = 3;
13304pub const igraph_es_type_t_IGRAPH_ES_NONE: igraph_es_type_t = 4;
13305pub const igraph_es_type_t_IGRAPH_ES_1: igraph_es_type_t = 5;
13306pub const igraph_es_type_t_IGRAPH_ES_VECTORPTR: igraph_es_type_t = 6;
13307pub const igraph_es_type_t_IGRAPH_ES_VECTOR: igraph_es_type_t = 7;
13308pub const igraph_es_type_t_IGRAPH_ES_RANGE: igraph_es_type_t = 8;
13309pub const igraph_es_type_t_IGRAPH_ES_PAIRS: igraph_es_type_t = 9;
13310pub const igraph_es_type_t_IGRAPH_ES_PATH: igraph_es_type_t = 10;
13311pub const igraph_es_type_t_IGRAPH_ES_ALL_BETWEEN: igraph_es_type_t = 11;
13312pub type igraph_es_type_t = ::std::os::raw::c_uint;
13313#[repr(C)]
13314#[derive(Copy, Clone)]
13315pub struct igraph_es_t {
13316 pub type_: igraph_es_type_t,
13317 pub data: igraph_es_t__bindgen_ty_1,
13318}
13319#[repr(C)]
13320#[derive(Copy, Clone)]
13321pub union igraph_es_t__bindgen_ty_1 {
13322 pub vid: igraph_int_t,
13323 pub eid: igraph_int_t,
13324 pub vecptr: *const igraph_vector_int_t,
13325 pub incident: igraph_es_t__bindgen_ty_1__bindgen_ty_1,
13326 pub range: igraph_es_t__bindgen_ty_1__bindgen_ty_2,
13327 pub path: igraph_es_t__bindgen_ty_1__bindgen_ty_3,
13328 pub between: igraph_es_t__bindgen_ty_1__bindgen_ty_4,
13329}
13330#[repr(C)]
13331#[derive(Debug, Copy, Clone)]
13332pub struct igraph_es_t__bindgen_ty_1__bindgen_ty_1 {
13333 pub vid: igraph_int_t,
13334 pub mode: igraph_neimode_t,
13335 pub loops: igraph_loops_t,
13336}
13337#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13338const _: () = {
13339 ["Size of igraph_es_t__bindgen_ty_1__bindgen_ty_1"]
13340 [::std::mem::size_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_1>() - 16usize];
13341 ["Alignment of igraph_es_t__bindgen_ty_1__bindgen_ty_1"]
13342 [::std::mem::align_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_1>() - 8usize];
13343 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_1::vid"]
13344 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_1, vid) - 0usize];
13345 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_1::mode"]
13346 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_1, mode) - 8usize];
13347 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_1::loops"]
13348 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_1, loops) - 12usize];
13349};
13350#[repr(C)]
13351#[derive(Debug, Copy, Clone)]
13352pub struct igraph_es_t__bindgen_ty_1__bindgen_ty_2 {
13353 pub start: igraph_int_t,
13354 pub end: igraph_int_t,
13355}
13356#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13357const _: () = {
13358 ["Size of igraph_es_t__bindgen_ty_1__bindgen_ty_2"]
13359 [::std::mem::size_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_2>() - 16usize];
13360 ["Alignment of igraph_es_t__bindgen_ty_1__bindgen_ty_2"]
13361 [::std::mem::align_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_2>() - 8usize];
13362 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_2::start"]
13363 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_2, start) - 0usize];
13364 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_2::end"]
13365 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_2, end) - 8usize];
13366};
13367#[repr(C)]
13368#[derive(Debug, Copy, Clone)]
13369pub struct igraph_es_t__bindgen_ty_1__bindgen_ty_3 {
13370 pub ptr: *const igraph_vector_int_t,
13371 pub mode: igraph_bool_t,
13372}
13373#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13374const _: () = {
13375 ["Size of igraph_es_t__bindgen_ty_1__bindgen_ty_3"]
13376 [::std::mem::size_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_3>() - 16usize];
13377 ["Alignment of igraph_es_t__bindgen_ty_1__bindgen_ty_3"]
13378 [::std::mem::align_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_3>() - 8usize];
13379 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_3::ptr"]
13380 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_3, ptr) - 0usize];
13381 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_3::mode"]
13382 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_3, mode) - 8usize];
13383};
13384#[repr(C)]
13385#[derive(Debug, Copy, Clone)]
13386pub struct igraph_es_t__bindgen_ty_1__bindgen_ty_4 {
13387 pub from: igraph_int_t,
13388 pub to: igraph_int_t,
13389 pub directed: igraph_bool_t,
13390}
13391#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13392const _: () = {
13393 ["Size of igraph_es_t__bindgen_ty_1__bindgen_ty_4"]
13394 [::std::mem::size_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_4>() - 24usize];
13395 ["Alignment of igraph_es_t__bindgen_ty_1__bindgen_ty_4"]
13396 [::std::mem::align_of::<igraph_es_t__bindgen_ty_1__bindgen_ty_4>() - 8usize];
13397 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_4::from"]
13398 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_4, from) - 0usize];
13399 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_4::to"]
13400 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_4, to) - 8usize];
13401 ["Offset of field: igraph_es_t__bindgen_ty_1__bindgen_ty_4::directed"]
13402 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1__bindgen_ty_4, directed) - 16usize];
13403};
13404#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13405const _: () = {
13406 ["Size of igraph_es_t__bindgen_ty_1"]
13407 [::std::mem::size_of::<igraph_es_t__bindgen_ty_1>() - 24usize];
13408 ["Alignment of igraph_es_t__bindgen_ty_1"]
13409 [::std::mem::align_of::<igraph_es_t__bindgen_ty_1>() - 8usize];
13410 ["Offset of field: igraph_es_t__bindgen_ty_1::vid"]
13411 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, vid) - 0usize];
13412 ["Offset of field: igraph_es_t__bindgen_ty_1::eid"]
13413 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, eid) - 0usize];
13414 ["Offset of field: igraph_es_t__bindgen_ty_1::vecptr"]
13415 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, vecptr) - 0usize];
13416 ["Offset of field: igraph_es_t__bindgen_ty_1::incident"]
13417 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, incident) - 0usize];
13418 ["Offset of field: igraph_es_t__bindgen_ty_1::range"]
13419 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, range) - 0usize];
13420 ["Offset of field: igraph_es_t__bindgen_ty_1::path"]
13421 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, path) - 0usize];
13422 ["Offset of field: igraph_es_t__bindgen_ty_1::between"]
13423 [::std::mem::offset_of!(igraph_es_t__bindgen_ty_1, between) - 0usize];
13424};
13425#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13426const _: () = {
13427 ["Size of igraph_es_t"][::std::mem::size_of::<igraph_es_t>() - 32usize];
13428 ["Alignment of igraph_es_t"][::std::mem::align_of::<igraph_es_t>() - 8usize];
13429 ["Offset of field: igraph_es_t::type_"][::std::mem::offset_of!(igraph_es_t, type_) - 0usize];
13430 ["Offset of field: igraph_es_t::data"][::std::mem::offset_of!(igraph_es_t, data) - 8usize];
13431};
13432unsafe extern "C" {
13433 pub fn igraph_es_all(es: *mut igraph_es_t, order: igraph_edgeorder_type_t) -> igraph_error_t;
13434}
13435unsafe extern "C" {
13436 pub fn igraph_ess_all(order: igraph_edgeorder_type_t) -> igraph_es_t;
13437}
13438unsafe extern "C" {
13439 pub fn igraph_es_incident(
13440 es: *mut igraph_es_t,
13441 vid: igraph_int_t,
13442 mode: igraph_neimode_t,
13443 loops: igraph_loops_t,
13444 ) -> igraph_error_t;
13445}
13446unsafe extern "C" {
13447 pub fn igraph_es_none(es: *mut igraph_es_t) -> igraph_error_t;
13448}
13449unsafe extern "C" {
13450 pub fn igraph_ess_none() -> igraph_es_t;
13451}
13452unsafe extern "C" {
13453 pub fn igraph_es_1(es: *mut igraph_es_t, eid: igraph_int_t) -> igraph_error_t;
13454}
13455unsafe extern "C" {
13456 pub fn igraph_ess_1(eid: igraph_int_t) -> igraph_es_t;
13457}
13458unsafe extern "C" {
13459 pub fn igraph_es_vector(es: *mut igraph_es_t, v: *const igraph_vector_int_t) -> igraph_error_t;
13460}
13461unsafe extern "C" {
13462 pub fn igraph_ess_vector(v: *const igraph_vector_int_t) -> igraph_es_t;
13463}
13464unsafe extern "C" {
13465 pub fn igraph_es_range(
13466 es: *mut igraph_es_t,
13467 from: igraph_int_t,
13468 to: igraph_int_t,
13469 ) -> igraph_error_t;
13470}
13471unsafe extern "C" {
13472 pub fn igraph_ess_range(from: igraph_int_t, to: igraph_int_t) -> igraph_es_t;
13473}
13474unsafe extern "C" {
13475 pub fn igraph_es_vector_copy(
13476 es: *mut igraph_es_t,
13477 v: *const igraph_vector_int_t,
13478 ) -> igraph_error_t;
13479}
13480unsafe extern "C" {
13481 pub fn igraph_es_pairs(
13482 es: *mut igraph_es_t,
13483 v: *const igraph_vector_int_t,
13484 directed: igraph_bool_t,
13485 ) -> igraph_error_t;
13486}
13487unsafe extern "C" {
13488 pub fn igraph_es_pairs_small(
13489 es: *mut igraph_es_t,
13490 directed: igraph_bool_t,
13491 first: ::std::os::raw::c_int,
13492 ...
13493 ) -> igraph_error_t;
13494}
13495unsafe extern "C" {
13496 pub fn igraph_es_path(
13497 es: *mut igraph_es_t,
13498 v: *const igraph_vector_int_t,
13499 directed: igraph_bool_t,
13500 ) -> igraph_error_t;
13501}
13502unsafe extern "C" {
13503 pub fn igraph_es_path_small(
13504 es: *mut igraph_es_t,
13505 directed: igraph_bool_t,
13506 first: ::std::os::raw::c_int,
13507 ...
13508 ) -> igraph_error_t;
13509}
13510unsafe extern "C" {
13511 pub fn igraph_es_all_between(
13512 es: *mut igraph_es_t,
13513 from: igraph_int_t,
13514 to: igraph_int_t,
13515 directed: igraph_bool_t,
13516 ) -> igraph_error_t;
13517}
13518unsafe extern "C" {
13519 pub fn igraph_es_destroy(es: *mut igraph_es_t);
13520}
13521unsafe extern "C" {
13522 pub fn igraph_es_is_all(es: *const igraph_es_t) -> igraph_bool_t;
13523}
13524unsafe extern "C" {
13525 pub fn igraph_es_copy(dest: *mut igraph_es_t, src: *const igraph_es_t) -> igraph_error_t;
13526}
13527unsafe extern "C" {
13528 pub fn igraph_es_as_vector(
13529 graph: *const igraph_t,
13530 es: igraph_es_t,
13531 v: *mut igraph_vector_int_t,
13532 ) -> igraph_error_t;
13533}
13534unsafe extern "C" {
13535 pub fn igraph_es_size(
13536 graph: *const igraph_t,
13537 es: *const igraph_es_t,
13538 result: *mut igraph_int_t,
13539 ) -> igraph_error_t;
13540}
13541unsafe extern "C" {
13542 pub fn igraph_es_type(es: *const igraph_es_t) -> igraph_es_type_t;
13543}
13544pub const igraph_eit_type_t_IGRAPH_EIT_RANGE: igraph_eit_type_t = 0;
13545pub const igraph_eit_type_t_IGRAPH_EIT_VECTOR: igraph_eit_type_t = 1;
13546pub const igraph_eit_type_t_IGRAPH_EIT_VECTORPTR: igraph_eit_type_t = 2;
13547pub type igraph_eit_type_t = ::std::os::raw::c_uint;
13548#[repr(C)]
13549#[derive(Debug, Copy, Clone)]
13550pub struct igraph_eit_t {
13551 pub type_: igraph_eit_type_t,
13552 pub pos: igraph_int_t,
13553 pub start: igraph_int_t,
13554 pub end: igraph_int_t,
13555 pub vec: *const igraph_vector_int_t,
13556}
13557#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13558const _: () = {
13559 ["Size of igraph_eit_t"][::std::mem::size_of::<igraph_eit_t>() - 40usize];
13560 ["Alignment of igraph_eit_t"][::std::mem::align_of::<igraph_eit_t>() - 8usize];
13561 ["Offset of field: igraph_eit_t::type_"][::std::mem::offset_of!(igraph_eit_t, type_) - 0usize];
13562 ["Offset of field: igraph_eit_t::pos"][::std::mem::offset_of!(igraph_eit_t, pos) - 8usize];
13563 ["Offset of field: igraph_eit_t::start"][::std::mem::offset_of!(igraph_eit_t, start) - 16usize];
13564 ["Offset of field: igraph_eit_t::end"][::std::mem::offset_of!(igraph_eit_t, end) - 24usize];
13565 ["Offset of field: igraph_eit_t::vec"][::std::mem::offset_of!(igraph_eit_t, vec) - 32usize];
13566};
13567unsafe extern "C" {
13568 pub fn igraph_eit_create(
13569 graph: *const igraph_t,
13570 es: igraph_es_t,
13571 eit: *mut igraph_eit_t,
13572 ) -> igraph_error_t;
13573}
13574unsafe extern "C" {
13575 pub fn igraph_eit_destroy(eit: *const igraph_eit_t);
13576}
13577unsafe extern "C" {
13578 pub fn igraph_eit_as_vector(
13579 eit: *const igraph_eit_t,
13580 v: *mut igraph_vector_int_t,
13581 ) -> igraph_error_t;
13582}
13583pub const igraph_attribute_type_t_IGRAPH_ATTRIBUTE_UNSPECIFIED: igraph_attribute_type_t = 0;
13584pub const igraph_attribute_type_t_IGRAPH_ATTRIBUTE_NUMERIC: igraph_attribute_type_t = 1;
13585pub const igraph_attribute_type_t_IGRAPH_ATTRIBUTE_BOOLEAN: igraph_attribute_type_t = 2;
13586pub const igraph_attribute_type_t_IGRAPH_ATTRIBUTE_STRING: igraph_attribute_type_t = 3;
13587pub const igraph_attribute_type_t_IGRAPH_ATTRIBUTE_OBJECT: igraph_attribute_type_t = 127;
13588#[doc = " \\typedef igraph_attribute_type_t\n \\brief The possible types of the attributes.\n\n Values of this enum are used by the attribute interface to communicate the\n type of an attribute to igraph's C core. When igraph is integrated in a\n high-level language, the attribute type reported by the interface may not\n necessarily have to match the exact data type in the high-level language as\n long as the attribute interface can provide a conversion from the native\n high-level attribute value to one of the data types listed here. When the\n high-level data type is complex and has no suitable conversion to one of the\n atomic igraph attribute types (numeric, string or Boolean), the attribute\n interface should report the attribute as having an \"object\" type, which is\n ignored by the C core. See also \\ref igraph_attribute_table_t.\n\n \\enumval IGRAPH_ATTRIBUTE_UNSPECIFIED Currently used internally\n as a \"null value\" or \"placeholder value\" in some algorithms.\n Attribute records with this type must not be passed to igraph\n functions.\n \\enumval IGRAPH_ATTRIBUTE_NUMERIC Numeric attribute.\n \\enumval IGRAPH_ATTRIBUTE_BOOLEAN Logical values, true or false.\n \\enumval IGRAPH_ATTRIBUTE_STRING String attribute.\n \\enumval IGRAPH_ATTRIBUTE_OBJECT Custom attribute type, to be\n used for special data types by client applications. The R and\n Python interfaces use this for attributes that hold R or Python\n objects. Usually ignored by igraph functions."]
13589pub type igraph_attribute_type_t = ::std::os::raw::c_uint;
13590pub const igraph_attribute_elemtype_t_IGRAPH_ATTRIBUTE_GRAPH: igraph_attribute_elemtype_t = 0;
13591pub const igraph_attribute_elemtype_t_IGRAPH_ATTRIBUTE_VERTEX: igraph_attribute_elemtype_t = 1;
13592pub const igraph_attribute_elemtype_t_IGRAPH_ATTRIBUTE_EDGE: igraph_attribute_elemtype_t = 2;
13593#[doc = " \\typedef igraph_attribute_elemtype_t\n \\brief Types of objects to which attributes can be attached.\n\n \\enumval IGRAPH_ATTRIBUTE_GRAPH Denotes that an attribute belongs to the\n entire graph.\n \\enumval IGRAPH_ATTRIBUTE_VERTEX Denotes that an attribute belongs to the\n vertices of a graph.\n \\enumval IGRAPH_ATTRIBUTE_EDGE Denotes that an attribute belongs to the\n edges of a graph."]
13594pub type igraph_attribute_elemtype_t = ::std::os::raw::c_uint;
13595#[doc = " \\typedef igraph_attribute_record_t\n \\brief An attribute record holding the name, type and values of an attribute.\n\n This composite data type is used in the attribute interface to specify a\n name-type-value triplet where the name is the name of a graph, vertex or\n edge attribute, the type is the corresponding igraph type of the attribute\n and the value is a \\em vector of attribute values. Note that for graph\n attributes we use a vector of length 1. The type of the vector depends on\n the attribute type: it is \\ref igraph_vector_t for numeric attributes,\n \\c igraph_strvector_t for string attributes and \\c igraph_vector_bool_t\n for Boolean attributes.\n\n </para><para>\n The record also stores default values for the attribute. The default values\n are used when the value vector of the record is resized with\n \\ref igraph_attribute_record_resize(). It is important that the record\n stores \\em one default value only, corresponding to the type of the\n attribute record. The default value is \\em cleared when the type of the\n record is changed."]
13596#[repr(C)]
13597#[derive(Copy, Clone)]
13598pub struct igraph_attribute_record_t {
13599 pub name: *mut ::std::os::raw::c_char,
13600 pub type_: igraph_attribute_type_t,
13601 pub value: igraph_attribute_record_t__bindgen_ty_1,
13602 pub default_value: igraph_attribute_record_t__bindgen_ty_2,
13603}
13604#[repr(C)]
13605#[derive(Copy, Clone)]
13606pub union igraph_attribute_record_t__bindgen_ty_1 {
13607 pub as_raw: *mut ::std::os::raw::c_void,
13608 pub as_vector: *mut igraph_vector_t,
13609 pub as_strvector: *mut igraph_strvector_t,
13610 pub as_vector_bool: *mut igraph_vector_bool_t,
13611}
13612#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13613const _: () = {
13614 ["Size of igraph_attribute_record_t__bindgen_ty_1"]
13615 [::std::mem::size_of::<igraph_attribute_record_t__bindgen_ty_1>() - 8usize];
13616 ["Alignment of igraph_attribute_record_t__bindgen_ty_1"]
13617 [::std::mem::align_of::<igraph_attribute_record_t__bindgen_ty_1>() - 8usize];
13618 ["Offset of field: igraph_attribute_record_t__bindgen_ty_1::as_raw"]
13619 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_1, as_raw) - 0usize];
13620 ["Offset of field: igraph_attribute_record_t__bindgen_ty_1::as_vector"]
13621 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_1, as_vector) - 0usize];
13622 ["Offset of field: igraph_attribute_record_t__bindgen_ty_1::as_strvector"]
13623 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_1, as_strvector) - 0usize];
13624 ["Offset of field: igraph_attribute_record_t__bindgen_ty_1::as_vector_bool"]
13625 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_1, as_vector_bool) - 0usize];
13626};
13627#[repr(C)]
13628#[derive(Copy, Clone)]
13629pub union igraph_attribute_record_t__bindgen_ty_2 {
13630 pub numeric: igraph_real_t,
13631 pub boolean: igraph_bool_t,
13632 pub string: *mut ::std::os::raw::c_char,
13633}
13634#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13635const _: () = {
13636 ["Size of igraph_attribute_record_t__bindgen_ty_2"]
13637 [::std::mem::size_of::<igraph_attribute_record_t__bindgen_ty_2>() - 8usize];
13638 ["Alignment of igraph_attribute_record_t__bindgen_ty_2"]
13639 [::std::mem::align_of::<igraph_attribute_record_t__bindgen_ty_2>() - 8usize];
13640 ["Offset of field: igraph_attribute_record_t__bindgen_ty_2::numeric"]
13641 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_2, numeric) - 0usize];
13642 ["Offset of field: igraph_attribute_record_t__bindgen_ty_2::boolean"]
13643 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_2, boolean) - 0usize];
13644 ["Offset of field: igraph_attribute_record_t__bindgen_ty_2::string"]
13645 [::std::mem::offset_of!(igraph_attribute_record_t__bindgen_ty_2, string) - 0usize];
13646};
13647#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13648const _: () = {
13649 ["Size of igraph_attribute_record_t"]
13650 [::std::mem::size_of::<igraph_attribute_record_t>() - 32usize];
13651 ["Alignment of igraph_attribute_record_t"]
13652 [::std::mem::align_of::<igraph_attribute_record_t>() - 8usize];
13653 ["Offset of field: igraph_attribute_record_t::name"]
13654 [::std::mem::offset_of!(igraph_attribute_record_t, name) - 0usize];
13655 ["Offset of field: igraph_attribute_record_t::type_"]
13656 [::std::mem::offset_of!(igraph_attribute_record_t, type_) - 8usize];
13657 ["Offset of field: igraph_attribute_record_t::value"]
13658 [::std::mem::offset_of!(igraph_attribute_record_t, value) - 16usize];
13659 ["Offset of field: igraph_attribute_record_t::default_value"]
13660 [::std::mem::offset_of!(igraph_attribute_record_t, default_value) - 24usize];
13661};
13662unsafe extern "C" {
13663 pub fn igraph_attribute_record_init(
13664 attr: *mut igraph_attribute_record_t,
13665 name: *const ::std::os::raw::c_char,
13666 type_: igraph_attribute_type_t,
13667 ) -> igraph_error_t;
13668}
13669unsafe extern "C" {
13670 pub fn igraph_attribute_record_init_copy(
13671 to: *mut igraph_attribute_record_t,
13672 from: *const igraph_attribute_record_t,
13673 ) -> igraph_error_t;
13674}
13675unsafe extern "C" {
13676 pub fn igraph_attribute_record_check_type(
13677 attr: *const igraph_attribute_record_t,
13678 type_: igraph_attribute_type_t,
13679 ) -> igraph_error_t;
13680}
13681unsafe extern "C" {
13682 pub fn igraph_attribute_record_size(attr: *const igraph_attribute_record_t) -> igraph_int_t;
13683}
13684unsafe extern "C" {
13685 pub fn igraph_attribute_record_resize(
13686 attr: *mut igraph_attribute_record_t,
13687 new_size: igraph_int_t,
13688 ) -> igraph_error_t;
13689}
13690unsafe extern "C" {
13691 pub fn igraph_attribute_record_set_name(
13692 attr: *mut igraph_attribute_record_t,
13693 name: *const ::std::os::raw::c_char,
13694 ) -> igraph_error_t;
13695}
13696unsafe extern "C" {
13697 pub fn igraph_attribute_record_set_default_numeric(
13698 attr: *mut igraph_attribute_record_t,
13699 value: igraph_real_t,
13700 ) -> igraph_error_t;
13701}
13702unsafe extern "C" {
13703 pub fn igraph_attribute_record_set_default_boolean(
13704 attr: *mut igraph_attribute_record_t,
13705 value: igraph_bool_t,
13706 ) -> igraph_error_t;
13707}
13708unsafe extern "C" {
13709 pub fn igraph_attribute_record_set_default_string(
13710 attr: *mut igraph_attribute_record_t,
13711 value: *const ::std::os::raw::c_char,
13712 ) -> igraph_error_t;
13713}
13714unsafe extern "C" {
13715 pub fn igraph_attribute_record_set_type(
13716 attr: *mut igraph_attribute_record_t,
13717 type_: igraph_attribute_type_t,
13718 ) -> igraph_error_t;
13719}
13720unsafe extern "C" {
13721 pub fn igraph_attribute_record_destroy(attr: *mut igraph_attribute_record_t);
13722}
13723pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_IGNORE:
13724 igraph_attribute_combination_type_t = 0;
13725pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_DEFAULT:
13726 igraph_attribute_combination_type_t = 1;
13727pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_FUNCTION:
13728 igraph_attribute_combination_type_t = 2;
13729pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_SUM:
13730 igraph_attribute_combination_type_t = 3;
13731pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_PROD:
13732 igraph_attribute_combination_type_t = 4;
13733pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_MIN:
13734 igraph_attribute_combination_type_t = 5;
13735pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_MAX:
13736 igraph_attribute_combination_type_t = 6;
13737pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_RANDOM:
13738 igraph_attribute_combination_type_t = 7;
13739pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_FIRST:
13740 igraph_attribute_combination_type_t = 8;
13741pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_LAST:
13742 igraph_attribute_combination_type_t = 9;
13743pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_MEAN:
13744 igraph_attribute_combination_type_t = 10;
13745pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_MEDIAN:
13746 igraph_attribute_combination_type_t = 11;
13747pub const igraph_attribute_combination_type_t_IGRAPH_ATTRIBUTE_COMBINE_CONCAT:
13748 igraph_attribute_combination_type_t = 12;
13749#[doc = " \\typedef igraph_attribute_combination_type_t\n The possible types of attribute combinations.\n\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_IGNORE Ignore old attributes, use an empty value.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_DEFAULT Use the default way to combine attributes (decided by the attribute handler implementation).\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_FUNCTION Supply your own function to combine\n attributes.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_SUM Take the sum of the attributes.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_PROD Take the product of the attributes.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_MIN Take the minimum attribute.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_MAX Take the maximum attribute.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_RANDOM Take a random attribute.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_FIRST Take the first attribute.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_LAST Take the last attribute.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_MEAN Take the mean of the attributes.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_MEDIAN Take the median of the attributes.\n \\enumval IGRAPH_ATTRIBUTE_COMBINE_CONCAT Concatenate the attributes."]
13750pub type igraph_attribute_combination_type_t = ::std::os::raw::c_uint;
13751pub type igraph_function_pointer_t = ::std::option::Option<unsafe extern "C" fn()>;
13752#[repr(C)]
13753#[derive(Debug, Copy, Clone)]
13754pub struct igraph_attribute_combination_record_t {
13755 pub name: *const ::std::os::raw::c_char,
13756 pub type_: igraph_attribute_combination_type_t,
13757 pub func: igraph_function_pointer_t,
13758}
13759#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13760const _: () = {
13761 ["Size of igraph_attribute_combination_record_t"]
13762 [::std::mem::size_of::<igraph_attribute_combination_record_t>() - 24usize];
13763 ["Alignment of igraph_attribute_combination_record_t"]
13764 [::std::mem::align_of::<igraph_attribute_combination_record_t>() - 8usize];
13765 ["Offset of field: igraph_attribute_combination_record_t::name"]
13766 [::std::mem::offset_of!(igraph_attribute_combination_record_t, name) - 0usize];
13767 ["Offset of field: igraph_attribute_combination_record_t::type_"]
13768 [::std::mem::offset_of!(igraph_attribute_combination_record_t, type_) - 8usize];
13769 ["Offset of field: igraph_attribute_combination_record_t::func"]
13770 [::std::mem::offset_of!(igraph_attribute_combination_record_t, func) - 16usize];
13771};
13772#[repr(C)]
13773#[derive(Debug, Copy, Clone)]
13774pub struct igraph_attribute_combination_t {
13775 pub list: igraph_vector_ptr_t,
13776}
13777#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13778const _: () = {
13779 ["Size of igraph_attribute_combination_t"]
13780 [::std::mem::size_of::<igraph_attribute_combination_t>() - 32usize];
13781 ["Alignment of igraph_attribute_combination_t"]
13782 [::std::mem::align_of::<igraph_attribute_combination_t>() - 8usize];
13783 ["Offset of field: igraph_attribute_combination_t::list"]
13784 [::std::mem::offset_of!(igraph_attribute_combination_t, list) - 0usize];
13785};
13786unsafe extern "C" {
13787 pub fn igraph_attribute_combination_init(
13788 comb: *mut igraph_attribute_combination_t,
13789 ) -> igraph_error_t;
13790}
13791unsafe extern "C" {
13792 pub fn igraph_attribute_combination(
13793 comb: *mut igraph_attribute_combination_t,
13794 ...
13795 ) -> igraph_error_t;
13796}
13797unsafe extern "C" {
13798 pub fn igraph_attribute_combination_destroy(comb: *mut igraph_attribute_combination_t);
13799}
13800unsafe extern "C" {
13801 pub fn igraph_attribute_combination_add(
13802 comb: *mut igraph_attribute_combination_t,
13803 name: *const ::std::os::raw::c_char,
13804 type_: igraph_attribute_combination_type_t,
13805 func: igraph_function_pointer_t,
13806 ) -> igraph_error_t;
13807}
13808unsafe extern "C" {
13809 pub fn igraph_attribute_combination_remove(
13810 comb: *mut igraph_attribute_combination_t,
13811 name: *const ::std::os::raw::c_char,
13812 ) -> igraph_error_t;
13813}
13814unsafe extern "C" {
13815 pub fn igraph_attribute_combination_query(
13816 comb: *const igraph_attribute_combination_t,
13817 name: *const ::std::os::raw::c_char,
13818 type_: *mut igraph_attribute_combination_type_t,
13819 func: *mut igraph_function_pointer_t,
13820 ) -> igraph_error_t;
13821}
13822#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
13823#[repr(C)]
13824#[derive(Debug, Copy, Clone)]
13825pub struct igraph_attribute_record_list_t {
13826 pub stor_begin: *mut igraph_attribute_record_t,
13827 pub stor_end: *mut igraph_attribute_record_t,
13828 pub end: *mut igraph_attribute_record_t,
13829}
13830#[allow(clippy::unnecessary_operation, clippy::identity_op)]
13831const _: () = {
13832 ["Size of igraph_attribute_record_list_t"]
13833 [::std::mem::size_of::<igraph_attribute_record_list_t>() - 24usize];
13834 ["Alignment of igraph_attribute_record_list_t"]
13835 [::std::mem::align_of::<igraph_attribute_record_list_t>() - 8usize];
13836 ["Offset of field: igraph_attribute_record_list_t::stor_begin"]
13837 [::std::mem::offset_of!(igraph_attribute_record_list_t, stor_begin) - 0usize];
13838 ["Offset of field: igraph_attribute_record_list_t::stor_end"]
13839 [::std::mem::offset_of!(igraph_attribute_record_list_t, stor_end) - 8usize];
13840 ["Offset of field: igraph_attribute_record_list_t::end"]
13841 [::std::mem::offset_of!(igraph_attribute_record_list_t, end) - 16usize];
13842};
13843unsafe extern "C" {
13844 pub fn igraph_attribute_record_list_init(
13845 v: *mut igraph_attribute_record_list_t,
13846 size: igraph_int_t,
13847 ) -> igraph_error_t;
13848}
13849unsafe extern "C" {
13850 pub fn igraph_attribute_record_list_init_copy(
13851 to: *mut igraph_attribute_record_list_t,
13852 from: *const igraph_attribute_record_list_t,
13853 ) -> igraph_error_t;
13854}
13855unsafe extern "C" {
13856 pub fn igraph_attribute_record_list_destroy(v: *mut igraph_attribute_record_list_t);
13857}
13858unsafe extern "C" {
13859 pub fn igraph_attribute_record_list_get_ptr(
13860 v: *const igraph_attribute_record_list_t,
13861 pos: igraph_int_t,
13862 ) -> *mut igraph_attribute_record_t;
13863}
13864unsafe extern "C" {
13865 pub fn igraph_attribute_record_list_set(
13866 v: *mut igraph_attribute_record_list_t,
13867 pos: igraph_int_t,
13868 e: *mut igraph_attribute_record_t,
13869 );
13870}
13871unsafe extern "C" {
13872 pub fn igraph_attribute_record_list_tail_ptr(
13873 v: *const igraph_attribute_record_list_t,
13874 ) -> *mut igraph_attribute_record_t;
13875}
13876unsafe extern "C" {
13877 pub fn igraph_attribute_record_list_capacity(
13878 v: *const igraph_attribute_record_list_t,
13879 ) -> igraph_int_t;
13880}
13881unsafe extern "C" {
13882 pub fn igraph_attribute_record_list_empty(
13883 v: *const igraph_attribute_record_list_t,
13884 ) -> igraph_bool_t;
13885}
13886unsafe extern "C" {
13887 pub fn igraph_attribute_record_list_size(
13888 v: *const igraph_attribute_record_list_t,
13889 ) -> igraph_int_t;
13890}
13891unsafe extern "C" {
13892 pub fn igraph_attribute_record_list_clear(v: *mut igraph_attribute_record_list_t);
13893}
13894unsafe extern "C" {
13895 pub fn igraph_attribute_record_list_reserve(
13896 v: *mut igraph_attribute_record_list_t,
13897 capacity: igraph_int_t,
13898 ) -> igraph_error_t;
13899}
13900unsafe extern "C" {
13901 pub fn igraph_attribute_record_list_resize(
13902 v: *mut igraph_attribute_record_list_t,
13903 new_size: igraph_int_t,
13904 ) -> igraph_error_t;
13905}
13906unsafe extern "C" {
13907 pub fn igraph_attribute_record_list_discard(
13908 v: *mut igraph_attribute_record_list_t,
13909 index: igraph_int_t,
13910 );
13911}
13912unsafe extern "C" {
13913 pub fn igraph_attribute_record_list_discard_back(v: *mut igraph_attribute_record_list_t);
13914}
13915unsafe extern "C" {
13916 pub fn igraph_attribute_record_list_discard_fast(
13917 v: *mut igraph_attribute_record_list_t,
13918 index: igraph_int_t,
13919 );
13920}
13921unsafe extern "C" {
13922 pub fn igraph_attribute_record_list_insert(
13923 v: *mut igraph_attribute_record_list_t,
13924 pos: igraph_int_t,
13925 e: *mut igraph_attribute_record_t,
13926 ) -> igraph_error_t;
13927}
13928unsafe extern "C" {
13929 pub fn igraph_attribute_record_list_insert_copy(
13930 v: *mut igraph_attribute_record_list_t,
13931 pos: igraph_int_t,
13932 e: *const igraph_attribute_record_t,
13933 ) -> igraph_error_t;
13934}
13935unsafe extern "C" {
13936 pub fn igraph_attribute_record_list_insert_new(
13937 v: *mut igraph_attribute_record_list_t,
13938 pos: igraph_int_t,
13939 result: *mut *mut igraph_attribute_record_t,
13940 ) -> igraph_error_t;
13941}
13942unsafe extern "C" {
13943 pub fn igraph_attribute_record_list_push_back(
13944 v: *mut igraph_attribute_record_list_t,
13945 e: *mut igraph_attribute_record_t,
13946 ) -> igraph_error_t;
13947}
13948unsafe extern "C" {
13949 pub fn igraph_attribute_record_list_push_back_copy(
13950 v: *mut igraph_attribute_record_list_t,
13951 e: *const igraph_attribute_record_t,
13952 ) -> igraph_error_t;
13953}
13954unsafe extern "C" {
13955 pub fn igraph_attribute_record_list_push_back_new(
13956 v: *mut igraph_attribute_record_list_t,
13957 result: *mut *mut igraph_attribute_record_t,
13958 ) -> igraph_error_t;
13959}
13960unsafe extern "C" {
13961 pub fn igraph_attribute_record_list_pop_back(
13962 v: *mut igraph_attribute_record_list_t,
13963 ) -> igraph_attribute_record_t;
13964}
13965unsafe extern "C" {
13966 pub fn igraph_attribute_record_list_remove(
13967 v: *mut igraph_attribute_record_list_t,
13968 index: igraph_int_t,
13969 e: *mut igraph_attribute_record_t,
13970 ) -> igraph_error_t;
13971}
13972unsafe extern "C" {
13973 pub fn igraph_attribute_record_list_remove_fast(
13974 v: *mut igraph_attribute_record_list_t,
13975 index: igraph_int_t,
13976 e: *mut igraph_attribute_record_t,
13977 ) -> igraph_error_t;
13978}
13979unsafe extern "C" {
13980 pub fn igraph_attribute_record_list_replace(
13981 v: *mut igraph_attribute_record_list_t,
13982 pos: igraph_int_t,
13983 e: *mut igraph_attribute_record_t,
13984 );
13985}
13986unsafe extern "C" {
13987 pub fn igraph_attribute_record_list_remove_consecutive_duplicates(
13988 v: *mut igraph_attribute_record_list_t,
13989 eq: ::std::option::Option<
13990 unsafe extern "C" fn(
13991 arg1: *const igraph_attribute_record_t,
13992 arg2: *const igraph_attribute_record_t,
13993 ) -> igraph_bool_t,
13994 >,
13995 );
13996}
13997unsafe extern "C" {
13998 pub fn igraph_attribute_record_list_permute(
13999 v: *mut igraph_attribute_record_list_t,
14000 index: *const igraph_vector_int_t,
14001 ) -> igraph_error_t;
14002}
14003unsafe extern "C" {
14004 pub fn igraph_attribute_record_list_reverse(
14005 v: *mut igraph_attribute_record_list_t,
14006 ) -> igraph_error_t;
14007}
14008unsafe extern "C" {
14009 pub fn igraph_attribute_record_list_swap(
14010 v1: *mut igraph_attribute_record_list_t,
14011 v2: *mut igraph_attribute_record_list_t,
14012 );
14013}
14014unsafe extern "C" {
14015 pub fn igraph_attribute_record_list_swap_elements(
14016 v: *mut igraph_attribute_record_list_t,
14017 i: igraph_int_t,
14018 j: igraph_int_t,
14019 );
14020}
14021unsafe extern "C" {
14022 pub fn igraph_attribute_record_list_sort(
14023 v: *mut igraph_attribute_record_list_t,
14024 cmp: ::std::option::Option<
14025 unsafe extern "C" fn(
14026 arg1: *const igraph_attribute_record_t,
14027 arg2: *const igraph_attribute_record_t,
14028 ) -> ::std::os::raw::c_int,
14029 >,
14030 );
14031}
14032unsafe extern "C" {
14033 pub fn igraph_attribute_record_list_sort_ind(
14034 v: *mut igraph_attribute_record_list_t,
14035 ind: *mut igraph_vector_int_t,
14036 cmp: ::std::option::Option<
14037 unsafe extern "C" fn(
14038 arg1: *const igraph_attribute_record_t,
14039 arg2: *const igraph_attribute_record_t,
14040 ) -> ::std::os::raw::c_int,
14041 >,
14042 ) -> igraph_error_t;
14043}
14044#[doc = " \\struct igraph_attribute_table_t\n \\brief Table of functions to perform operations on attributes.\n\n This type collects the functions defining an attribute handler.\n It has the following members:\n\n \\member init This function is called whenever a new graph object is\n created, right after it is created but before any vertices or\n edges are added. It is supposed to set the \\c attr member of the \\c\n igraph_t object, which is guaranteed to be set to a null pointer\n before this function is called. It is expected to set the \\c attr member\n to a non-null value \\em or return an error code. Leaving the \\c attr\n member at a null value while returning success is invalid and will trigger\n an error in the C core of igraph itself.\n \\member destroy This function is called whenever the graph object\n is destroyed, right before freeing the allocated memory. It is supposed\n to do any cleanup operations that are need to dispose of the \\c attr\n member of the \\c igraph_t object properly. The caller will set the\n \\c attr member to a null pointer after this function returns.\n \\member copy This function is called when the C core wants to populate the\n attributes of a graph from another graph. The structure of the target\n graph is already initialized by the time this function is called, and the\n \\c attr member of the graph is set to a null pointer. The function is\n supposed to populate the \\c attr member of the target \\c igraph_t object\n to a non-null value \\em or return an error code. Leaving the \\c attr\n member at a null value while returning success is invalid and will trigger\n an error in the C core of igraph itself.\n \\member add_vertices Called when vertices are added to a graph, after the\n base data structure was modified. The number of vertices that were added is\n supplied as an argument. The function is supposed to set up default values\n for each vertex attribute that is currently registered on the graph, for\n all the newly added vertices. Expected to return an error code.\n \\member permute_vertices Called when a new graph is created based on an\n existing one such that there is a mapping from the vertices of the new\n graph back to the vertices of the old graph (e.g. if vertices are removed\n from a graph). The supplied index vector defines which old vertex\n a new vertex corresponds to. Its length is the same as the number of\n vertices in the new graph, and for each new vertex it provides the ID\n of the corresponding vertex in the old graph. The function is supposed to\n set up the values of the vertex attributes of the new graph based on the\n attributes of the old graph and the provided index vector. Note that the\n old and the new graph \\em may be the same, in which case it is the\n responsibility of the function to ensure that the operation can safely be\n performed in-place. If the two graph instances are \\em not the same,\n implementors may safely assume that the new graph has no vertex attributes\n yet (but it may already have graph or edge attributes by the time this\n function is called).\n \\member combine_vertices This function is called when the creation\n of a new graph involves a merge (contraction, etc.) of vertices\n from another graph. The function is called after the new graph was created.\n An argument specifies how several vertices from the old graph map to a\n single vertex in the new graph. It is guaranteed that the old and the\n new graph instances are different when this callback is called.\n Implementors may safely assume that the new graph has no vertex attributes\n yet (but it may already have graph or edge attributes by the time this\n function is called).\n \\member add_edges Called when new edges are added to a graph, after the\n base data structure was modified. A vector containing the endpoints of the\n new edges are supplied as an argument. The function is supposed to set up\n default values for each edge attribute that is currently registered on the\n graph, for all the newly added edges. Expected to return an error code.\n \\member permute_edges Called when a new graph is created based on an\n existing one such that some of the edges in the new graph should copy the\n attributes of some edges from the old graph (this also includes the\n deletion of edges). The supplied index vector defines which old edge a new\n edge corresponds to. Its length is the same as the number of edges in the\n new graph, and for each edge it provides the ID of the corresponding edge\n in the old graph. The function is supposed to set up the values of the\n edge attributes of the new graph based on the attributes of the old graph\n and the provided index vector. Note that the old and the new graph \\em may\n be the same, in which case it is the responsibility of the function to\n ensure that the operation can safely be performed in-place. If the two\n graph instances are \\em not the same, implementors may safely assume that\n the new graph has no edge attributes yet (but it may already have graph or\n vertex attributes by the time this function is called).\n \\member combine_edges This function is called when the creation\n of a new graph involves a merge (contraction, etc.) of edges\n from another graph. The function is after the new graph was created.\n An argument specifies how several edges from the old graph map to a\n single edge in the new graph. It is guaranteed that the old and the\n new graph instances are different when this callback is called.\n Implementors may safely assume that the new graph has no edge attributes\n yet (but it may already have graph or vertex attributes by the time this\n function is called).\n \\member get_info Query the attributes of a graph, the names and\n types should be returned.\n \\member has_attr Check whether a graph has the named\n graph/vertex/edge attribute.\n \\member get_type Query the type of a graph/vertex/edge attribute.\n \\member get_numeric_graph_attr Query a numeric graph attribute. The\n value should be appended to the provided \\p value vector. No assumptions\n should be made about the initial contents of the \\p value vector and it is\n not guaranteed to be empty.\n \\member get_string_graph_attr Query a string graph attribute. The\n value should be appended to the provided \\p value vector. No assumptions\n should be made about the initial contents of the \\p value vector and it is\n not guaranteed to be empty.\n \\member get_bool_graph_attr Query a boolean graph attribute. The\n value should be appended to the provided \\p value vector. No assumptions\n should be made about the initial contents of the \\p value vector and it is\n not guaranteed to be empty.\n \\member get_numeric_vertex_attr Query a numeric vertex attribute,\n for the vertices included in \\p vs. The attribute values should be\n appended to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty.\n \\member get_string_vertex_attr Query a string vertex attribute,\n for the vertices included in \\p vs. The attribute values should be\n appended to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty.\n \\member get_bool_vertex_attr Query a boolean vertex attribute,\n for the vertices included in \\p vs. The attribute values should be\n appended to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty.\n \\member get_numeric_edge_attr Query a numeric edge attribute, for\n the edges included in \\p es. The attribute values should be appended\n to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty.\n \\member get_string_edge_attr Query a string edge attribute, for the\n the edges included in \\p es. The attribute values should be appended\n to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty.\n \\member get_bool_edge_attr Query a boolean edge attribute, for the\n the edges included in \\p es. The attribute values should be appended\n to the provided \\p value vector. No assumptions should be made\n about the initial contents of the \\p value vector and it is not guaranteed\n to be empty."]
14045#[repr(C)]
14046#[derive(Debug, Copy, Clone)]
14047pub struct igraph_attribute_table_t {
14048 pub init: ::std::option::Option<
14049 unsafe extern "C" fn(
14050 graph: *mut igraph_t,
14051 attr: *const igraph_attribute_record_list_t,
14052 ) -> igraph_error_t,
14053 >,
14054 pub destroy: ::std::option::Option<unsafe extern "C" fn(graph: *mut igraph_t)>,
14055 pub copy: ::std::option::Option<
14056 unsafe extern "C" fn(
14057 to: *mut igraph_t,
14058 from: *const igraph_t,
14059 ga: igraph_bool_t,
14060 va: igraph_bool_t,
14061 ea: igraph_bool_t,
14062 ) -> igraph_error_t,
14063 >,
14064 pub add_vertices: ::std::option::Option<
14065 unsafe extern "C" fn(
14066 graph: *mut igraph_t,
14067 nv: igraph_int_t,
14068 attr: *const igraph_attribute_record_list_t,
14069 ) -> igraph_error_t,
14070 >,
14071 pub permute_vertices: ::std::option::Option<
14072 unsafe extern "C" fn(
14073 graph: *const igraph_t,
14074 newgraph: *mut igraph_t,
14075 idx: *const igraph_vector_int_t,
14076 ) -> igraph_error_t,
14077 >,
14078 pub combine_vertices: ::std::option::Option<
14079 unsafe extern "C" fn(
14080 graph: *const igraph_t,
14081 newgraph: *mut igraph_t,
14082 merges: *const igraph_vector_int_list_t,
14083 comb: *const igraph_attribute_combination_t,
14084 ) -> igraph_error_t,
14085 >,
14086 pub add_edges: ::std::option::Option<
14087 unsafe extern "C" fn(
14088 graph: *mut igraph_t,
14089 edges: *const igraph_vector_int_t,
14090 attr: *const igraph_attribute_record_list_t,
14091 ) -> igraph_error_t,
14092 >,
14093 pub permute_edges: ::std::option::Option<
14094 unsafe extern "C" fn(
14095 graph: *const igraph_t,
14096 newgraph: *mut igraph_t,
14097 idx: *const igraph_vector_int_t,
14098 ) -> igraph_error_t,
14099 >,
14100 pub combine_edges: ::std::option::Option<
14101 unsafe extern "C" fn(
14102 graph: *const igraph_t,
14103 newgraph: *mut igraph_t,
14104 merges: *const igraph_vector_int_list_t,
14105 comb: *const igraph_attribute_combination_t,
14106 ) -> igraph_error_t,
14107 >,
14108 pub get_info: ::std::option::Option<
14109 unsafe extern "C" fn(
14110 graph: *const igraph_t,
14111 gnames: *mut igraph_strvector_t,
14112 gtypes: *mut igraph_vector_int_t,
14113 vnames: *mut igraph_strvector_t,
14114 vtypes: *mut igraph_vector_int_t,
14115 enames: *mut igraph_strvector_t,
14116 etypes: *mut igraph_vector_int_t,
14117 ) -> igraph_error_t,
14118 >,
14119 pub has_attr: ::std::option::Option<
14120 unsafe extern "C" fn(
14121 graph: *const igraph_t,
14122 type_: igraph_attribute_elemtype_t,
14123 name: *const ::std::os::raw::c_char,
14124 ) -> igraph_bool_t,
14125 >,
14126 pub get_type: ::std::option::Option<
14127 unsafe extern "C" fn(
14128 graph: *const igraph_t,
14129 type_: *mut igraph_attribute_type_t,
14130 elemtype: igraph_attribute_elemtype_t,
14131 name: *const ::std::os::raw::c_char,
14132 ) -> igraph_error_t,
14133 >,
14134 pub get_numeric_graph_attr: ::std::option::Option<
14135 unsafe extern "C" fn(
14136 graph: *const igraph_t,
14137 name: *const ::std::os::raw::c_char,
14138 value: *mut igraph_vector_t,
14139 ) -> igraph_error_t,
14140 >,
14141 pub get_string_graph_attr: ::std::option::Option<
14142 unsafe extern "C" fn(
14143 graph: *const igraph_t,
14144 name: *const ::std::os::raw::c_char,
14145 value: *mut igraph_strvector_t,
14146 ) -> igraph_error_t,
14147 >,
14148 pub get_bool_graph_attr: ::std::option::Option<
14149 unsafe extern "C" fn(
14150 igraph: *const igraph_t,
14151 name: *const ::std::os::raw::c_char,
14152 value: *mut igraph_vector_bool_t,
14153 ) -> igraph_error_t,
14154 >,
14155 pub get_numeric_vertex_attr: ::std::option::Option<
14156 unsafe extern "C" fn(
14157 graph: *const igraph_t,
14158 name: *const ::std::os::raw::c_char,
14159 vs: igraph_vs_t,
14160 value: *mut igraph_vector_t,
14161 ) -> igraph_error_t,
14162 >,
14163 pub get_string_vertex_attr: ::std::option::Option<
14164 unsafe extern "C" fn(
14165 graph: *const igraph_t,
14166 name: *const ::std::os::raw::c_char,
14167 vs: igraph_vs_t,
14168 value: *mut igraph_strvector_t,
14169 ) -> igraph_error_t,
14170 >,
14171 pub get_bool_vertex_attr: ::std::option::Option<
14172 unsafe extern "C" fn(
14173 graph: *const igraph_t,
14174 name: *const ::std::os::raw::c_char,
14175 vs: igraph_vs_t,
14176 value: *mut igraph_vector_bool_t,
14177 ) -> igraph_error_t,
14178 >,
14179 pub get_numeric_edge_attr: ::std::option::Option<
14180 unsafe extern "C" fn(
14181 graph: *const igraph_t,
14182 name: *const ::std::os::raw::c_char,
14183 es: igraph_es_t,
14184 value: *mut igraph_vector_t,
14185 ) -> igraph_error_t,
14186 >,
14187 pub get_string_edge_attr: ::std::option::Option<
14188 unsafe extern "C" fn(
14189 graph: *const igraph_t,
14190 name: *const ::std::os::raw::c_char,
14191 es: igraph_es_t,
14192 value: *mut igraph_strvector_t,
14193 ) -> igraph_error_t,
14194 >,
14195 pub get_bool_edge_attr: ::std::option::Option<
14196 unsafe extern "C" fn(
14197 graph: *const igraph_t,
14198 name: *const ::std::os::raw::c_char,
14199 es: igraph_es_t,
14200 value: *mut igraph_vector_bool_t,
14201 ) -> igraph_error_t,
14202 >,
14203}
14204#[allow(clippy::unnecessary_operation, clippy::identity_op)]
14205const _: () = {
14206 ["Size of igraph_attribute_table_t"]
14207 [::std::mem::size_of::<igraph_attribute_table_t>() - 168usize];
14208 ["Alignment of igraph_attribute_table_t"]
14209 [::std::mem::align_of::<igraph_attribute_table_t>() - 8usize];
14210 ["Offset of field: igraph_attribute_table_t::init"]
14211 [::std::mem::offset_of!(igraph_attribute_table_t, init) - 0usize];
14212 ["Offset of field: igraph_attribute_table_t::destroy"]
14213 [::std::mem::offset_of!(igraph_attribute_table_t, destroy) - 8usize];
14214 ["Offset of field: igraph_attribute_table_t::copy"]
14215 [::std::mem::offset_of!(igraph_attribute_table_t, copy) - 16usize];
14216 ["Offset of field: igraph_attribute_table_t::add_vertices"]
14217 [::std::mem::offset_of!(igraph_attribute_table_t, add_vertices) - 24usize];
14218 ["Offset of field: igraph_attribute_table_t::permute_vertices"]
14219 [::std::mem::offset_of!(igraph_attribute_table_t, permute_vertices) - 32usize];
14220 ["Offset of field: igraph_attribute_table_t::combine_vertices"]
14221 [::std::mem::offset_of!(igraph_attribute_table_t, combine_vertices) - 40usize];
14222 ["Offset of field: igraph_attribute_table_t::add_edges"]
14223 [::std::mem::offset_of!(igraph_attribute_table_t, add_edges) - 48usize];
14224 ["Offset of field: igraph_attribute_table_t::permute_edges"]
14225 [::std::mem::offset_of!(igraph_attribute_table_t, permute_edges) - 56usize];
14226 ["Offset of field: igraph_attribute_table_t::combine_edges"]
14227 [::std::mem::offset_of!(igraph_attribute_table_t, combine_edges) - 64usize];
14228 ["Offset of field: igraph_attribute_table_t::get_info"]
14229 [::std::mem::offset_of!(igraph_attribute_table_t, get_info) - 72usize];
14230 ["Offset of field: igraph_attribute_table_t::has_attr"]
14231 [::std::mem::offset_of!(igraph_attribute_table_t, has_attr) - 80usize];
14232 ["Offset of field: igraph_attribute_table_t::get_type"]
14233 [::std::mem::offset_of!(igraph_attribute_table_t, get_type) - 88usize];
14234 ["Offset of field: igraph_attribute_table_t::get_numeric_graph_attr"]
14235 [::std::mem::offset_of!(igraph_attribute_table_t, get_numeric_graph_attr) - 96usize];
14236 ["Offset of field: igraph_attribute_table_t::get_string_graph_attr"]
14237 [::std::mem::offset_of!(igraph_attribute_table_t, get_string_graph_attr) - 104usize];
14238 ["Offset of field: igraph_attribute_table_t::get_bool_graph_attr"]
14239 [::std::mem::offset_of!(igraph_attribute_table_t, get_bool_graph_attr) - 112usize];
14240 ["Offset of field: igraph_attribute_table_t::get_numeric_vertex_attr"]
14241 [::std::mem::offset_of!(igraph_attribute_table_t, get_numeric_vertex_attr) - 120usize];
14242 ["Offset of field: igraph_attribute_table_t::get_string_vertex_attr"]
14243 [::std::mem::offset_of!(igraph_attribute_table_t, get_string_vertex_attr) - 128usize];
14244 ["Offset of field: igraph_attribute_table_t::get_bool_vertex_attr"]
14245 [::std::mem::offset_of!(igraph_attribute_table_t, get_bool_vertex_attr) - 136usize];
14246 ["Offset of field: igraph_attribute_table_t::get_numeric_edge_attr"]
14247 [::std::mem::offset_of!(igraph_attribute_table_t, get_numeric_edge_attr) - 144usize];
14248 ["Offset of field: igraph_attribute_table_t::get_string_edge_attr"]
14249 [::std::mem::offset_of!(igraph_attribute_table_t, get_string_edge_attr) - 152usize];
14250 ["Offset of field: igraph_attribute_table_t::get_bool_edge_attr"]
14251 [::std::mem::offset_of!(igraph_attribute_table_t, get_bool_edge_attr) - 160usize];
14252};
14253unsafe extern "C" {
14254 pub fn igraph_set_attribute_table(
14255 table: *const igraph_attribute_table_t,
14256 ) -> *mut igraph_attribute_table_t;
14257}
14258unsafe extern "C" {
14259 pub fn igraph_has_attribute_table() -> igraph_bool_t;
14260}
14261unsafe extern "C" {
14262 pub static igraph_cattribute_table: igraph_attribute_table_t;
14263}
14264unsafe extern "C" {
14265 pub fn igraph_cattribute_GAN(
14266 graph: *const igraph_t,
14267 name: *const ::std::os::raw::c_char,
14268 ) -> igraph_real_t;
14269}
14270unsafe extern "C" {
14271 pub fn igraph_cattribute_GAB(
14272 graph: *const igraph_t,
14273 name: *const ::std::os::raw::c_char,
14274 ) -> igraph_bool_t;
14275}
14276unsafe extern "C" {
14277 pub fn igraph_cattribute_GAS(
14278 graph: *const igraph_t,
14279 name: *const ::std::os::raw::c_char,
14280 ) -> *const ::std::os::raw::c_char;
14281}
14282unsafe extern "C" {
14283 pub fn igraph_cattribute_VAN(
14284 graph: *const igraph_t,
14285 name: *const ::std::os::raw::c_char,
14286 vid: igraph_int_t,
14287 ) -> igraph_real_t;
14288}
14289unsafe extern "C" {
14290 pub fn igraph_cattribute_VAB(
14291 graph: *const igraph_t,
14292 name: *const ::std::os::raw::c_char,
14293 vid: igraph_int_t,
14294 ) -> igraph_bool_t;
14295}
14296unsafe extern "C" {
14297 pub fn igraph_cattribute_VAS(
14298 graph: *const igraph_t,
14299 name: *const ::std::os::raw::c_char,
14300 vid: igraph_int_t,
14301 ) -> *const ::std::os::raw::c_char;
14302}
14303unsafe extern "C" {
14304 pub fn igraph_cattribute_EAN(
14305 graph: *const igraph_t,
14306 name: *const ::std::os::raw::c_char,
14307 eid: igraph_int_t,
14308 ) -> igraph_real_t;
14309}
14310unsafe extern "C" {
14311 pub fn igraph_cattribute_EAB(
14312 graph: *const igraph_t,
14313 name: *const ::std::os::raw::c_char,
14314 eid: igraph_int_t,
14315 ) -> igraph_bool_t;
14316}
14317unsafe extern "C" {
14318 pub fn igraph_cattribute_EAS(
14319 graph: *const igraph_t,
14320 name: *const ::std::os::raw::c_char,
14321 eid: igraph_int_t,
14322 ) -> *const ::std::os::raw::c_char;
14323}
14324unsafe extern "C" {
14325 pub fn igraph_cattribute_VANV(
14326 graph: *const igraph_t,
14327 name: *const ::std::os::raw::c_char,
14328 vids: igraph_vs_t,
14329 result: *mut igraph_vector_t,
14330 ) -> igraph_error_t;
14331}
14332unsafe extern "C" {
14333 pub fn igraph_cattribute_EANV(
14334 graph: *const igraph_t,
14335 name: *const ::std::os::raw::c_char,
14336 eids: igraph_es_t,
14337 result: *mut igraph_vector_t,
14338 ) -> igraph_error_t;
14339}
14340unsafe extern "C" {
14341 pub fn igraph_cattribute_VASV(
14342 graph: *const igraph_t,
14343 name: *const ::std::os::raw::c_char,
14344 vids: igraph_vs_t,
14345 result: *mut igraph_strvector_t,
14346 ) -> igraph_error_t;
14347}
14348unsafe extern "C" {
14349 pub fn igraph_cattribute_EASV(
14350 graph: *const igraph_t,
14351 name: *const ::std::os::raw::c_char,
14352 eids: igraph_es_t,
14353 result: *mut igraph_strvector_t,
14354 ) -> igraph_error_t;
14355}
14356unsafe extern "C" {
14357 pub fn igraph_cattribute_VABV(
14358 graph: *const igraph_t,
14359 name: *const ::std::os::raw::c_char,
14360 vids: igraph_vs_t,
14361 result: *mut igraph_vector_bool_t,
14362 ) -> igraph_error_t;
14363}
14364unsafe extern "C" {
14365 pub fn igraph_cattribute_EABV(
14366 graph: *const igraph_t,
14367 name: *const ::std::os::raw::c_char,
14368 eids: igraph_es_t,
14369 result: *mut igraph_vector_bool_t,
14370 ) -> igraph_error_t;
14371}
14372unsafe extern "C" {
14373 pub fn igraph_cattribute_list(
14374 graph: *const igraph_t,
14375 gnames: *mut igraph_strvector_t,
14376 gtypes: *mut igraph_vector_int_t,
14377 vnames: *mut igraph_strvector_t,
14378 vtypes: *mut igraph_vector_int_t,
14379 enames: *mut igraph_strvector_t,
14380 etypes: *mut igraph_vector_int_t,
14381 ) -> igraph_error_t;
14382}
14383unsafe extern "C" {
14384 pub fn igraph_cattribute_has_attr(
14385 graph: *const igraph_t,
14386 type_: igraph_attribute_elemtype_t,
14387 name: *const ::std::os::raw::c_char,
14388 ) -> igraph_bool_t;
14389}
14390unsafe extern "C" {
14391 pub fn igraph_cattribute_GAN_set(
14392 graph: *mut igraph_t,
14393 name: *const ::std::os::raw::c_char,
14394 value: igraph_real_t,
14395 ) -> igraph_error_t;
14396}
14397unsafe extern "C" {
14398 pub fn igraph_cattribute_GAB_set(
14399 graph: *mut igraph_t,
14400 name: *const ::std::os::raw::c_char,
14401 value: igraph_bool_t,
14402 ) -> igraph_error_t;
14403}
14404unsafe extern "C" {
14405 pub fn igraph_cattribute_GAS_set(
14406 graph: *mut igraph_t,
14407 name: *const ::std::os::raw::c_char,
14408 value: *const ::std::os::raw::c_char,
14409 ) -> igraph_error_t;
14410}
14411unsafe extern "C" {
14412 pub fn igraph_cattribute_VAN_set(
14413 graph: *mut igraph_t,
14414 name: *const ::std::os::raw::c_char,
14415 vid: igraph_int_t,
14416 value: igraph_real_t,
14417 ) -> igraph_error_t;
14418}
14419unsafe extern "C" {
14420 pub fn igraph_cattribute_VAB_set(
14421 graph: *mut igraph_t,
14422 name: *const ::std::os::raw::c_char,
14423 vid: igraph_int_t,
14424 value: igraph_bool_t,
14425 ) -> igraph_error_t;
14426}
14427unsafe extern "C" {
14428 pub fn igraph_cattribute_VAS_set(
14429 graph: *mut igraph_t,
14430 name: *const ::std::os::raw::c_char,
14431 vid: igraph_int_t,
14432 value: *const ::std::os::raw::c_char,
14433 ) -> igraph_error_t;
14434}
14435unsafe extern "C" {
14436 pub fn igraph_cattribute_EAN_set(
14437 graph: *mut igraph_t,
14438 name: *const ::std::os::raw::c_char,
14439 eid: igraph_int_t,
14440 value: igraph_real_t,
14441 ) -> igraph_error_t;
14442}
14443unsafe extern "C" {
14444 pub fn igraph_cattribute_EAB_set(
14445 graph: *mut igraph_t,
14446 name: *const ::std::os::raw::c_char,
14447 eid: igraph_int_t,
14448 value: igraph_bool_t,
14449 ) -> igraph_error_t;
14450}
14451unsafe extern "C" {
14452 pub fn igraph_cattribute_EAS_set(
14453 graph: *mut igraph_t,
14454 name: *const ::std::os::raw::c_char,
14455 eid: igraph_int_t,
14456 value: *const ::std::os::raw::c_char,
14457 ) -> igraph_error_t;
14458}
14459unsafe extern "C" {
14460 pub fn igraph_cattribute_VAN_setv(
14461 graph: *mut igraph_t,
14462 name: *const ::std::os::raw::c_char,
14463 v: *const igraph_vector_t,
14464 ) -> igraph_error_t;
14465}
14466unsafe extern "C" {
14467 pub fn igraph_cattribute_VAB_setv(
14468 graph: *mut igraph_t,
14469 name: *const ::std::os::raw::c_char,
14470 v: *const igraph_vector_bool_t,
14471 ) -> igraph_error_t;
14472}
14473unsafe extern "C" {
14474 pub fn igraph_cattribute_VAS_setv(
14475 graph: *mut igraph_t,
14476 name: *const ::std::os::raw::c_char,
14477 sv: *const igraph_strvector_t,
14478 ) -> igraph_error_t;
14479}
14480unsafe extern "C" {
14481 pub fn igraph_cattribute_EAN_setv(
14482 graph: *mut igraph_t,
14483 name: *const ::std::os::raw::c_char,
14484 v: *const igraph_vector_t,
14485 ) -> igraph_error_t;
14486}
14487unsafe extern "C" {
14488 pub fn igraph_cattribute_EAB_setv(
14489 graph: *mut igraph_t,
14490 name: *const ::std::os::raw::c_char,
14491 v: *const igraph_vector_bool_t,
14492 ) -> igraph_error_t;
14493}
14494unsafe extern "C" {
14495 pub fn igraph_cattribute_EAS_setv(
14496 graph: *mut igraph_t,
14497 name: *const ::std::os::raw::c_char,
14498 sv: *const igraph_strvector_t,
14499 ) -> igraph_error_t;
14500}
14501unsafe extern "C" {
14502 pub fn igraph_cattribute_remove_g(graph: *mut igraph_t, name: *const ::std::os::raw::c_char);
14503}
14504unsafe extern "C" {
14505 pub fn igraph_cattribute_remove_v(graph: *mut igraph_t, name: *const ::std::os::raw::c_char);
14506}
14507unsafe extern "C" {
14508 pub fn igraph_cattribute_remove_e(graph: *mut igraph_t, name: *const ::std::os::raw::c_char);
14509}
14510unsafe extern "C" {
14511 pub fn igraph_cattribute_remove_all(
14512 graph: *mut igraph_t,
14513 g: igraph_bool_t,
14514 v: igraph_bool_t,
14515 e: igraph_bool_t,
14516 );
14517}
14518unsafe extern "C" {
14519 pub fn igraph_empty(
14520 graph: *mut igraph_t,
14521 n: igraph_int_t,
14522 directed: igraph_bool_t,
14523 ) -> igraph_error_t;
14524}
14525unsafe extern "C" {
14526 pub fn igraph_empty_attrs(
14527 graph: *mut igraph_t,
14528 n: igraph_int_t,
14529 directed: igraph_bool_t,
14530 attr: *const igraph_attribute_record_list_t,
14531 ) -> igraph_error_t;
14532}
14533unsafe extern "C" {
14534 pub fn igraph_destroy(graph: *mut igraph_t);
14535}
14536unsafe extern "C" {
14537 pub fn igraph_copy(to: *mut igraph_t, from: *const igraph_t) -> igraph_error_t;
14538}
14539unsafe extern "C" {
14540 pub fn igraph_add_edges(
14541 graph: *mut igraph_t,
14542 edges: *const igraph_vector_int_t,
14543 attr: *const igraph_attribute_record_list_t,
14544 ) -> igraph_error_t;
14545}
14546unsafe extern "C" {
14547 pub fn igraph_add_vertices(
14548 graph: *mut igraph_t,
14549 nv: igraph_int_t,
14550 attr: *const igraph_attribute_record_list_t,
14551 ) -> igraph_error_t;
14552}
14553unsafe extern "C" {
14554 pub fn igraph_delete_edges(graph: *mut igraph_t, edges: igraph_es_t) -> igraph_error_t;
14555}
14556unsafe extern "C" {
14557 pub fn igraph_delete_vertices(graph: *mut igraph_t, vertices: igraph_vs_t) -> igraph_error_t;
14558}
14559unsafe extern "C" {
14560 pub fn igraph_delete_vertices_map(
14561 graph: *mut igraph_t,
14562 vertices: igraph_vs_t,
14563 map: *mut igraph_vector_int_t,
14564 invmap: *mut igraph_vector_int_t,
14565 ) -> igraph_error_t;
14566}
14567unsafe extern "C" {
14568 pub fn igraph_vcount(graph: *const igraph_t) -> igraph_int_t;
14569}
14570unsafe extern "C" {
14571 pub fn igraph_ecount(graph: *const igraph_t) -> igraph_int_t;
14572}
14573unsafe extern "C" {
14574 pub fn igraph_neighbors(
14575 graph: *const igraph_t,
14576 neis: *mut igraph_vector_int_t,
14577 vid: igraph_int_t,
14578 mode: igraph_neimode_t,
14579 loops: igraph_loops_t,
14580 multiple: igraph_bool_t,
14581 ) -> igraph_error_t;
14582}
14583unsafe extern "C" {
14584 pub fn igraph_is_directed(graph: *const igraph_t) -> igraph_bool_t;
14585}
14586unsafe extern "C" {
14587 pub fn igraph_degree_1(
14588 graph: *const igraph_t,
14589 deg: *mut igraph_int_t,
14590 vid: igraph_int_t,
14591 mode: igraph_neimode_t,
14592 loops: igraph_loops_t,
14593 ) -> igraph_error_t;
14594}
14595unsafe extern "C" {
14596 pub fn igraph_degree(
14597 graph: *const igraph_t,
14598 res: *mut igraph_vector_int_t,
14599 vids: igraph_vs_t,
14600 mode: igraph_neimode_t,
14601 loops: igraph_loops_t,
14602 ) -> igraph_error_t;
14603}
14604unsafe extern "C" {
14605 pub fn igraph_edge(
14606 graph: *const igraph_t,
14607 eid: igraph_int_t,
14608 from: *mut igraph_int_t,
14609 to: *mut igraph_int_t,
14610 ) -> igraph_error_t;
14611}
14612unsafe extern "C" {
14613 pub fn igraph_edges(
14614 graph: *const igraph_t,
14615 eids: igraph_es_t,
14616 edges: *mut igraph_vector_int_t,
14617 bycol: igraph_bool_t,
14618 ) -> igraph_error_t;
14619}
14620unsafe extern "C" {
14621 pub fn igraph_get_eid(
14622 graph: *const igraph_t,
14623 eid: *mut igraph_int_t,
14624 from: igraph_int_t,
14625 to: igraph_int_t,
14626 directed: igraph_bool_t,
14627 error: igraph_bool_t,
14628 ) -> igraph_error_t;
14629}
14630unsafe extern "C" {
14631 pub fn igraph_get_eids(
14632 graph: *const igraph_t,
14633 eids: *mut igraph_vector_int_t,
14634 pairs: *const igraph_vector_int_t,
14635 directed: igraph_bool_t,
14636 error: igraph_bool_t,
14637 ) -> igraph_error_t;
14638}
14639unsafe extern "C" {
14640 pub fn igraph_get_all_eids_between(
14641 graph: *const igraph_t,
14642 eids: *mut igraph_vector_int_t,
14643 source: igraph_int_t,
14644 target: igraph_int_t,
14645 directed: igraph_bool_t,
14646 ) -> igraph_error_t;
14647}
14648unsafe extern "C" {
14649 pub fn igraph_incident(
14650 graph: *const igraph_t,
14651 eids: *mut igraph_vector_int_t,
14652 pnode: igraph_int_t,
14653 mode: igraph_neimode_t,
14654 loops: igraph_loops_t,
14655 ) -> igraph_error_t;
14656}
14657unsafe extern "C" {
14658 pub fn igraph_is_same_graph(
14659 graph1: *const igraph_t,
14660 graph2: *const igraph_t,
14661 res: *mut igraph_bool_t,
14662 ) -> igraph_error_t;
14663}
14664unsafe extern "C" {
14665 pub fn igraph_i_property_cache_get_bool(
14666 graph: *const igraph_t,
14667 prop: igraph_cached_property_t,
14668 ) -> igraph_bool_t;
14669}
14670unsafe extern "C" {
14671 pub fn igraph_i_property_cache_has(
14672 graph: *const igraph_t,
14673 prop: igraph_cached_property_t,
14674 ) -> igraph_bool_t;
14675}
14676unsafe extern "C" {
14677 pub fn igraph_i_property_cache_set_bool(
14678 graph: *const igraph_t,
14679 prop: igraph_cached_property_t,
14680 value: igraph_bool_t,
14681 );
14682}
14683unsafe extern "C" {
14684 pub fn igraph_i_property_cache_set_bool_checked(
14685 graph: *const igraph_t,
14686 prop: igraph_cached_property_t,
14687 value: igraph_bool_t,
14688 );
14689}
14690unsafe extern "C" {
14691 pub fn igraph_i_property_cache_invalidate(
14692 graph: *const igraph_t,
14693 prop: igraph_cached_property_t,
14694 );
14695}
14696unsafe extern "C" {
14697 pub fn igraph_i_property_cache_invalidate_all(graph: *const igraph_t);
14698}
14699unsafe extern "C" {
14700 pub fn igraph_delete_vertices_idx(
14701 graph: *mut igraph_t,
14702 vertices: igraph_vs_t,
14703 idx: *mut igraph_vector_int_t,
14704 invidx: *mut igraph_vector_int_t,
14705 ) -> igraph_error_t;
14706}
14707#[doc = " \\typedef igraph_edge_type_sw_t\n \\brief What types of non-simple edges to allow?\n\n This type is used with multiple functions to specify what types of non-simple\n edges to allow, create or consider a graph. The constants below are treated\n as \"switches\" that can be turned on individually and combined using the\n bitwise-or operator. For example,\n <code>IGRAPH_LOOPS_SW</code>\n allows only self-loops but not multi-edges, while\n <code>IGRAPH_LOOPS_SW | IGRAPH_MULTI_SW</code>\n allows both.\n\n \\enumval IGRAPH_SIMPLE_SW A shorthand for simple graphs only, which is the default\n assumption.\n \\enumval IGRAPH_LOOPS_SW Allow or consider self-loops.\n \\enumval IGRAPH_MULTI_SW Allow or consider multi-edges."]
14708pub type igraph_edge_type_sw_t = ::std::os::raw::c_uint;
14709pub const IGRAPH_SIMPLE_SW: _bindgen_ty_4 = 0;
14710pub const IGRAPH_LOOPS_SW: _bindgen_ty_4 = 1;
14711pub const IGRAPH_MULTI_SW: _bindgen_ty_4 = 6;
14712pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
14713unsafe extern "C" {
14714 pub fn igraph_is_graphical(
14715 out_degrees: *const igraph_vector_int_t,
14716 in_degrees: *const igraph_vector_int_t,
14717 allowed_edge_types: igraph_edge_type_sw_t,
14718 res: *mut igraph_bool_t,
14719 ) -> igraph_error_t;
14720}
14721unsafe extern "C" {
14722 pub fn igraph_is_bigraphical(
14723 degrees1: *const igraph_vector_int_t,
14724 degrees2: *const igraph_vector_int_t,
14725 allowed_edge_types: igraph_edge_type_sw_t,
14726 res: *mut igraph_bool_t,
14727 ) -> igraph_error_t;
14728}
14729unsafe extern "C" {
14730 pub fn igraph_create(
14731 graph: *mut igraph_t,
14732 edges: *const igraph_vector_int_t,
14733 n: igraph_int_t,
14734 directed: igraph_bool_t,
14735 ) -> igraph_error_t;
14736}
14737unsafe extern "C" {
14738 pub fn igraph_small(
14739 graph: *mut igraph_t,
14740 n: igraph_int_t,
14741 directed: igraph_bool_t,
14742 first: ::std::os::raw::c_int,
14743 ...
14744 ) -> igraph_error_t;
14745}
14746unsafe extern "C" {
14747 pub fn igraph_adjacency(
14748 graph: *mut igraph_t,
14749 adjmatrix: *const igraph_matrix_t,
14750 mode: igraph_adjacency_t,
14751 loops: igraph_loops_t,
14752 ) -> igraph_error_t;
14753}
14754unsafe extern "C" {
14755 pub fn igraph_weighted_adjacency(
14756 graph: *mut igraph_t,
14757 adjmatrix: *const igraph_matrix_t,
14758 mode: igraph_adjacency_t,
14759 weights: *mut igraph_vector_t,
14760 loops: igraph_loops_t,
14761 ) -> igraph_error_t;
14762}
14763unsafe extern "C" {
14764 pub fn igraph_sparse_adjacency(
14765 graph: *mut igraph_t,
14766 adjmatrix: *mut igraph_sparsemat_t,
14767 mode: igraph_adjacency_t,
14768 loops: igraph_loops_t,
14769 ) -> igraph_error_t;
14770}
14771unsafe extern "C" {
14772 pub fn igraph_sparse_weighted_adjacency(
14773 graph: *mut igraph_t,
14774 adjmatrix: *mut igraph_sparsemat_t,
14775 mode: igraph_adjacency_t,
14776 weights: *mut igraph_vector_t,
14777 loops: igraph_loops_t,
14778 ) -> igraph_error_t;
14779}
14780unsafe extern "C" {
14781 pub fn igraph_star(
14782 graph: *mut igraph_t,
14783 n: igraph_int_t,
14784 mode: igraph_star_mode_t,
14785 center: igraph_int_t,
14786 ) -> igraph_error_t;
14787}
14788unsafe extern "C" {
14789 pub fn igraph_wheel(
14790 graph: *mut igraph_t,
14791 n: igraph_int_t,
14792 mode: igraph_wheel_mode_t,
14793 center: igraph_int_t,
14794 ) -> igraph_error_t;
14795}
14796unsafe extern "C" {
14797 pub fn igraph_hypercube(
14798 graph: *mut igraph_t,
14799 n: igraph_int_t,
14800 directed: igraph_bool_t,
14801 ) -> igraph_error_t;
14802}
14803unsafe extern "C" {
14804 pub fn igraph_square_lattice(
14805 graph: *mut igraph_t,
14806 dimvector: *const igraph_vector_int_t,
14807 nei: igraph_int_t,
14808 directed: igraph_bool_t,
14809 mutual: igraph_bool_t,
14810 circular: *const igraph_vector_bool_t,
14811 ) -> igraph_error_t;
14812}
14813unsafe extern "C" {
14814 pub fn igraph_ring(
14815 graph: *mut igraph_t,
14816 n: igraph_int_t,
14817 directed: igraph_bool_t,
14818 mutual: igraph_bool_t,
14819 circular: igraph_bool_t,
14820 ) -> igraph_error_t;
14821}
14822unsafe extern "C" {
14823 pub fn igraph_path_graph(
14824 graph: *mut igraph_t,
14825 n: igraph_int_t,
14826 directed: igraph_bool_t,
14827 mutual: igraph_bool_t,
14828 ) -> igraph_error_t;
14829}
14830unsafe extern "C" {
14831 pub fn igraph_cycle_graph(
14832 graph: *mut igraph_t,
14833 n: igraph_int_t,
14834 directed: igraph_bool_t,
14835 mutual: igraph_bool_t,
14836 ) -> igraph_error_t;
14837}
14838unsafe extern "C" {
14839 pub fn igraph_kary_tree(
14840 graph: *mut igraph_t,
14841 n: igraph_int_t,
14842 children: igraph_int_t,
14843 type_: igraph_tree_mode_t,
14844 ) -> igraph_error_t;
14845}
14846unsafe extern "C" {
14847 pub fn igraph_symmetric_tree(
14848 graph: *mut igraph_t,
14849 branches: *const igraph_vector_int_t,
14850 type_: igraph_tree_mode_t,
14851 ) -> igraph_error_t;
14852}
14853unsafe extern "C" {
14854 pub fn igraph_regular_tree(
14855 graph: *mut igraph_t,
14856 h: igraph_int_t,
14857 k: igraph_int_t,
14858 type_: igraph_tree_mode_t,
14859 ) -> igraph_error_t;
14860}
14861unsafe extern "C" {
14862 pub fn igraph_tree_from_parent_vector(
14863 graph: *mut igraph_t,
14864 parents: *const igraph_vector_int_t,
14865 mode: igraph_tree_mode_t,
14866 ) -> igraph_error_t;
14867}
14868unsafe extern "C" {
14869 pub fn igraph_from_prufer(
14870 graph: *mut igraph_t,
14871 prufer: *const igraph_vector_int_t,
14872 ) -> igraph_error_t;
14873}
14874unsafe extern "C" {
14875 pub fn igraph_full(
14876 graph: *mut igraph_t,
14877 n: igraph_int_t,
14878 directed: igraph_bool_t,
14879 loops: igraph_bool_t,
14880 ) -> igraph_error_t;
14881}
14882unsafe extern "C" {
14883 pub fn igraph_full_multipartite(
14884 graph: *mut igraph_t,
14885 types: *mut igraph_vector_int_t,
14886 n: *const igraph_vector_int_t,
14887 directed: igraph_bool_t,
14888 mode: igraph_neimode_t,
14889 ) -> igraph_error_t;
14890}
14891unsafe extern "C" {
14892 pub fn igraph_turan(
14893 graph: *mut igraph_t,
14894 types: *mut igraph_vector_int_t,
14895 n: igraph_int_t,
14896 r: igraph_int_t,
14897 ) -> igraph_error_t;
14898}
14899unsafe extern "C" {
14900 pub fn igraph_full_citation(
14901 graph: *mut igraph_t,
14902 n: igraph_int_t,
14903 directed: igraph_bool_t,
14904 ) -> igraph_error_t;
14905}
14906unsafe extern "C" {
14907 pub fn igraph_atlas(graph: *mut igraph_t, number: igraph_int_t) -> igraph_error_t;
14908}
14909unsafe extern "C" {
14910 pub fn igraph_extended_chordal_ring(
14911 graph: *mut igraph_t,
14912 nodes: igraph_int_t,
14913 W: *const igraph_matrix_int_t,
14914 directed: igraph_bool_t,
14915 ) -> igraph_error_t;
14916}
14917unsafe extern "C" {
14918 pub fn igraph_linegraph(graph: *const igraph_t, linegraph: *mut igraph_t) -> igraph_error_t;
14919}
14920unsafe extern "C" {
14921 pub fn igraph_de_bruijn(
14922 graph: *mut igraph_t,
14923 m: igraph_int_t,
14924 n: igraph_int_t,
14925 ) -> igraph_error_t;
14926}
14927unsafe extern "C" {
14928 pub fn igraph_circulant(
14929 graph: *mut igraph_t,
14930 n: igraph_int_t,
14931 l: *const igraph_vector_int_t,
14932 directed: igraph_bool_t,
14933 ) -> igraph_error_t;
14934}
14935unsafe extern "C" {
14936 pub fn igraph_generalized_petersen(
14937 graph: *mut igraph_t,
14938 n: igraph_int_t,
14939 k: igraph_int_t,
14940 ) -> igraph_error_t;
14941}
14942unsafe extern "C" {
14943 pub fn igraph_kautz(graph: *mut igraph_t, m: igraph_int_t, n: igraph_int_t) -> igraph_error_t;
14944}
14945unsafe extern "C" {
14946 pub fn igraph_famous(
14947 graph: *mut igraph_t,
14948 name: *const ::std::os::raw::c_char,
14949 ) -> igraph_error_t;
14950}
14951unsafe extern "C" {
14952 pub fn igraph_lcf(
14953 graph: *mut igraph_t,
14954 n: igraph_int_t,
14955 shifts: *const igraph_vector_int_t,
14956 repeats: igraph_int_t,
14957 ) -> igraph_error_t;
14958}
14959unsafe extern "C" {
14960 pub fn igraph_lcf_small(graph: *mut igraph_t, n: igraph_int_t, ...) -> igraph_error_t;
14961}
14962unsafe extern "C" {
14963 pub fn igraph_realize_degree_sequence(
14964 graph: *mut igraph_t,
14965 outdeg: *const igraph_vector_int_t,
14966 indeg: *const igraph_vector_int_t,
14967 allowed_edge_types: igraph_edge_type_sw_t,
14968 method: igraph_realize_degseq_t,
14969 ) -> igraph_error_t;
14970}
14971unsafe extern "C" {
14972 pub fn igraph_triangular_lattice(
14973 graph: *mut igraph_t,
14974 dims: *const igraph_vector_int_t,
14975 directed: igraph_bool_t,
14976 mutual: igraph_bool_t,
14977 ) -> igraph_error_t;
14978}
14979unsafe extern "C" {
14980 pub fn igraph_hexagonal_lattice(
14981 graph: *mut igraph_t,
14982 dims: *const igraph_vector_int_t,
14983 directed: igraph_bool_t,
14984 mutual: igraph_bool_t,
14985 ) -> igraph_error_t;
14986}
14987unsafe extern "C" {
14988 pub fn igraph_realize_bipartite_degree_sequence(
14989 graph: *mut igraph_t,
14990 deg1: *const igraph_vector_int_t,
14991 deg2: *const igraph_vector_int_t,
14992 allowed_edge_types: igraph_edge_type_sw_t,
14993 method: igraph_realize_degseq_t,
14994 ) -> igraph_error_t;
14995}
14996unsafe extern "C" {
14997 pub fn igraph_mycielski_graph(graph: *mut igraph_t, k: igraph_int_t) -> igraph_error_t;
14998}
14999#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
15000#[repr(C)]
15001#[derive(Debug, Copy, Clone)]
15002pub struct igraph_matrix_list_t {
15003 pub stor_begin: *mut igraph_matrix_t,
15004 pub stor_end: *mut igraph_matrix_t,
15005 pub end: *mut igraph_matrix_t,
15006}
15007#[allow(clippy::unnecessary_operation, clippy::identity_op)]
15008const _: () = {
15009 ["Size of igraph_matrix_list_t"][::std::mem::size_of::<igraph_matrix_list_t>() - 24usize];
15010 ["Alignment of igraph_matrix_list_t"][::std::mem::align_of::<igraph_matrix_list_t>() - 8usize];
15011 ["Offset of field: igraph_matrix_list_t::stor_begin"]
15012 [::std::mem::offset_of!(igraph_matrix_list_t, stor_begin) - 0usize];
15013 ["Offset of field: igraph_matrix_list_t::stor_end"]
15014 [::std::mem::offset_of!(igraph_matrix_list_t, stor_end) - 8usize];
15015 ["Offset of field: igraph_matrix_list_t::end"]
15016 [::std::mem::offset_of!(igraph_matrix_list_t, end) - 16usize];
15017};
15018unsafe extern "C" {
15019 pub fn igraph_matrix_list_init(
15020 v: *mut igraph_matrix_list_t,
15021 size: igraph_int_t,
15022 ) -> igraph_error_t;
15023}
15024unsafe extern "C" {
15025 pub fn igraph_matrix_list_init_copy(
15026 to: *mut igraph_matrix_list_t,
15027 from: *const igraph_matrix_list_t,
15028 ) -> igraph_error_t;
15029}
15030unsafe extern "C" {
15031 pub fn igraph_matrix_list_destroy(v: *mut igraph_matrix_list_t);
15032}
15033unsafe extern "C" {
15034 pub fn igraph_matrix_list_get_ptr(
15035 v: *const igraph_matrix_list_t,
15036 pos: igraph_int_t,
15037 ) -> *mut igraph_matrix_t;
15038}
15039unsafe extern "C" {
15040 pub fn igraph_matrix_list_set(
15041 v: *mut igraph_matrix_list_t,
15042 pos: igraph_int_t,
15043 e: *mut igraph_matrix_t,
15044 );
15045}
15046unsafe extern "C" {
15047 pub fn igraph_matrix_list_tail_ptr(v: *const igraph_matrix_list_t) -> *mut igraph_matrix_t;
15048}
15049unsafe extern "C" {
15050 pub fn igraph_matrix_list_capacity(v: *const igraph_matrix_list_t) -> igraph_int_t;
15051}
15052unsafe extern "C" {
15053 pub fn igraph_matrix_list_empty(v: *const igraph_matrix_list_t) -> igraph_bool_t;
15054}
15055unsafe extern "C" {
15056 pub fn igraph_matrix_list_size(v: *const igraph_matrix_list_t) -> igraph_int_t;
15057}
15058unsafe extern "C" {
15059 pub fn igraph_matrix_list_clear(v: *mut igraph_matrix_list_t);
15060}
15061unsafe extern "C" {
15062 pub fn igraph_matrix_list_reserve(
15063 v: *mut igraph_matrix_list_t,
15064 capacity: igraph_int_t,
15065 ) -> igraph_error_t;
15066}
15067unsafe extern "C" {
15068 pub fn igraph_matrix_list_resize(
15069 v: *mut igraph_matrix_list_t,
15070 new_size: igraph_int_t,
15071 ) -> igraph_error_t;
15072}
15073unsafe extern "C" {
15074 pub fn igraph_matrix_list_discard(v: *mut igraph_matrix_list_t, index: igraph_int_t);
15075}
15076unsafe extern "C" {
15077 pub fn igraph_matrix_list_discard_back(v: *mut igraph_matrix_list_t);
15078}
15079unsafe extern "C" {
15080 pub fn igraph_matrix_list_discard_fast(v: *mut igraph_matrix_list_t, index: igraph_int_t);
15081}
15082unsafe extern "C" {
15083 pub fn igraph_matrix_list_insert(
15084 v: *mut igraph_matrix_list_t,
15085 pos: igraph_int_t,
15086 e: *mut igraph_matrix_t,
15087 ) -> igraph_error_t;
15088}
15089unsafe extern "C" {
15090 pub fn igraph_matrix_list_insert_copy(
15091 v: *mut igraph_matrix_list_t,
15092 pos: igraph_int_t,
15093 e: *const igraph_matrix_t,
15094 ) -> igraph_error_t;
15095}
15096unsafe extern "C" {
15097 pub fn igraph_matrix_list_insert_new(
15098 v: *mut igraph_matrix_list_t,
15099 pos: igraph_int_t,
15100 result: *mut *mut igraph_matrix_t,
15101 ) -> igraph_error_t;
15102}
15103unsafe extern "C" {
15104 pub fn igraph_matrix_list_push_back(
15105 v: *mut igraph_matrix_list_t,
15106 e: *mut igraph_matrix_t,
15107 ) -> igraph_error_t;
15108}
15109unsafe extern "C" {
15110 pub fn igraph_matrix_list_push_back_copy(
15111 v: *mut igraph_matrix_list_t,
15112 e: *const igraph_matrix_t,
15113 ) -> igraph_error_t;
15114}
15115unsafe extern "C" {
15116 pub fn igraph_matrix_list_push_back_new(
15117 v: *mut igraph_matrix_list_t,
15118 result: *mut *mut igraph_matrix_t,
15119 ) -> igraph_error_t;
15120}
15121unsafe extern "C" {
15122 pub fn igraph_matrix_list_pop_back(v: *mut igraph_matrix_list_t) -> igraph_matrix_t;
15123}
15124unsafe extern "C" {
15125 pub fn igraph_matrix_list_remove(
15126 v: *mut igraph_matrix_list_t,
15127 index: igraph_int_t,
15128 e: *mut igraph_matrix_t,
15129 ) -> igraph_error_t;
15130}
15131unsafe extern "C" {
15132 pub fn igraph_matrix_list_remove_fast(
15133 v: *mut igraph_matrix_list_t,
15134 index: igraph_int_t,
15135 e: *mut igraph_matrix_t,
15136 ) -> igraph_error_t;
15137}
15138unsafe extern "C" {
15139 pub fn igraph_matrix_list_replace(
15140 v: *mut igraph_matrix_list_t,
15141 pos: igraph_int_t,
15142 e: *mut igraph_matrix_t,
15143 );
15144}
15145unsafe extern "C" {
15146 pub fn igraph_matrix_list_remove_consecutive_duplicates(
15147 v: *mut igraph_matrix_list_t,
15148 eq: ::std::option::Option<
15149 unsafe extern "C" fn(
15150 arg1: *const igraph_matrix_t,
15151 arg2: *const igraph_matrix_t,
15152 ) -> igraph_bool_t,
15153 >,
15154 );
15155}
15156unsafe extern "C" {
15157 pub fn igraph_matrix_list_permute(
15158 v: *mut igraph_matrix_list_t,
15159 index: *const igraph_vector_int_t,
15160 ) -> igraph_error_t;
15161}
15162unsafe extern "C" {
15163 pub fn igraph_matrix_list_reverse(v: *mut igraph_matrix_list_t) -> igraph_error_t;
15164}
15165unsafe extern "C" {
15166 pub fn igraph_matrix_list_swap(v1: *mut igraph_matrix_list_t, v2: *mut igraph_matrix_list_t);
15167}
15168unsafe extern "C" {
15169 pub fn igraph_matrix_list_swap_elements(
15170 v: *mut igraph_matrix_list_t,
15171 i: igraph_int_t,
15172 j: igraph_int_t,
15173 );
15174}
15175unsafe extern "C" {
15176 pub fn igraph_matrix_list_sort(
15177 v: *mut igraph_matrix_list_t,
15178 cmp: ::std::option::Option<
15179 unsafe extern "C" fn(
15180 arg1: *const igraph_matrix_t,
15181 arg2: *const igraph_matrix_t,
15182 ) -> ::std::os::raw::c_int,
15183 >,
15184 );
15185}
15186unsafe extern "C" {
15187 pub fn igraph_matrix_list_sort_ind(
15188 v: *mut igraph_matrix_list_t,
15189 ind: *mut igraph_vector_int_t,
15190 cmp: ::std::option::Option<
15191 unsafe extern "C" fn(
15192 arg1: *const igraph_matrix_t,
15193 arg2: *const igraph_matrix_t,
15194 ) -> ::std::os::raw::c_int,
15195 >,
15196 ) -> igraph_error_t;
15197}
15198unsafe extern "C" {
15199 pub fn igraph_barabasi_game(
15200 graph: *mut igraph_t,
15201 n: igraph_int_t,
15202 power: igraph_real_t,
15203 m: igraph_int_t,
15204 outseq: *const igraph_vector_int_t,
15205 outpref: igraph_bool_t,
15206 A: igraph_real_t,
15207 directed: igraph_bool_t,
15208 algo: igraph_barabasi_algorithm_t,
15209 start_from: *const igraph_t,
15210 ) -> igraph_error_t;
15211}
15212unsafe extern "C" {
15213 pub fn igraph_erdos_renyi_game_gnp(
15214 graph: *mut igraph_t,
15215 n: igraph_int_t,
15216 p: igraph_real_t,
15217 directed: igraph_bool_t,
15218 allowed_edge_types: igraph_edge_type_sw_t,
15219 edge_labeled: igraph_bool_t,
15220 ) -> igraph_error_t;
15221}
15222unsafe extern "C" {
15223 pub fn igraph_erdos_renyi_game_gnm(
15224 graph: *mut igraph_t,
15225 n: igraph_int_t,
15226 m: igraph_int_t,
15227 directed: igraph_bool_t,
15228 allowed_edge_types: igraph_edge_type_sw_t,
15229 edge_labeled: igraph_bool_t,
15230 ) -> igraph_error_t;
15231}
15232unsafe extern "C" {
15233 pub fn igraph_iea_game(
15234 graph: *mut igraph_t,
15235 n: igraph_int_t,
15236 m: igraph_int_t,
15237 directed: igraph_bool_t,
15238 loops: igraph_bool_t,
15239 ) -> igraph_error_t;
15240}
15241unsafe extern "C" {
15242 pub fn igraph_degree_sequence_game(
15243 graph: *mut igraph_t,
15244 out_deg: *const igraph_vector_int_t,
15245 in_deg: *const igraph_vector_int_t,
15246 method: igraph_degseq_t,
15247 ) -> igraph_error_t;
15248}
15249unsafe extern "C" {
15250 pub fn igraph_growing_random_game(
15251 graph: *mut igraph_t,
15252 n: igraph_int_t,
15253 m: igraph_int_t,
15254 directed: igraph_bool_t,
15255 citation: igraph_bool_t,
15256 ) -> igraph_error_t;
15257}
15258unsafe extern "C" {
15259 pub fn igraph_barabasi_aging_game(
15260 graph: *mut igraph_t,
15261 nodes: igraph_int_t,
15262 m: igraph_int_t,
15263 outseq: *const igraph_vector_int_t,
15264 outpref: igraph_bool_t,
15265 pa_exp: igraph_real_t,
15266 aging_exp: igraph_real_t,
15267 aging_bin: igraph_int_t,
15268 zero_deg_appeal: igraph_real_t,
15269 zero_age_appeal: igraph_real_t,
15270 deg_coef: igraph_real_t,
15271 age_coef: igraph_real_t,
15272 directed: igraph_bool_t,
15273 ) -> igraph_error_t;
15274}
15275unsafe extern "C" {
15276 pub fn igraph_recent_degree_game(
15277 graph: *mut igraph_t,
15278 n: igraph_int_t,
15279 power: igraph_real_t,
15280 window: igraph_int_t,
15281 m: igraph_int_t,
15282 outseq: *const igraph_vector_int_t,
15283 outpref: igraph_bool_t,
15284 zero_appeal: igraph_real_t,
15285 directed: igraph_bool_t,
15286 ) -> igraph_error_t;
15287}
15288unsafe extern "C" {
15289 pub fn igraph_recent_degree_aging_game(
15290 graph: *mut igraph_t,
15291 nodes: igraph_int_t,
15292 m: igraph_int_t,
15293 outseq: *const igraph_vector_int_t,
15294 outpref: igraph_bool_t,
15295 pa_exp: igraph_real_t,
15296 aging_exp: igraph_real_t,
15297 aging_bin: igraph_int_t,
15298 window: igraph_int_t,
15299 zero_appeal: igraph_real_t,
15300 directed: igraph_bool_t,
15301 ) -> igraph_error_t;
15302}
15303unsafe extern "C" {
15304 pub fn igraph_callaway_traits_game(
15305 graph: *mut igraph_t,
15306 nodes: igraph_int_t,
15307 types: igraph_int_t,
15308 edges_per_step: igraph_int_t,
15309 type_dist: *const igraph_vector_t,
15310 pref_matrix: *const igraph_matrix_t,
15311 directed: igraph_bool_t,
15312 node_type_vec: *mut igraph_vector_int_t,
15313 ) -> igraph_error_t;
15314}
15315unsafe extern "C" {
15316 pub fn igraph_establishment_game(
15317 graph: *mut igraph_t,
15318 nodes: igraph_int_t,
15319 types: igraph_int_t,
15320 k: igraph_int_t,
15321 type_dist: *const igraph_vector_t,
15322 pref_matrix: *const igraph_matrix_t,
15323 directed: igraph_bool_t,
15324 node_type_vec: *mut igraph_vector_int_t,
15325 ) -> igraph_error_t;
15326}
15327unsafe extern "C" {
15328 pub fn igraph_grg_game(
15329 graph: *mut igraph_t,
15330 nodes: igraph_int_t,
15331 radius: igraph_real_t,
15332 torus: igraph_bool_t,
15333 x: *mut igraph_vector_t,
15334 y: *mut igraph_vector_t,
15335 ) -> igraph_error_t;
15336}
15337unsafe extern "C" {
15338 pub fn igraph_preference_game(
15339 graph: *mut igraph_t,
15340 nodes: igraph_int_t,
15341 types: igraph_int_t,
15342 type_dist: *const igraph_vector_t,
15343 fixed_sizes: igraph_bool_t,
15344 pref_matrix: *const igraph_matrix_t,
15345 node_type_vec: *mut igraph_vector_int_t,
15346 directed: igraph_bool_t,
15347 loops: igraph_bool_t,
15348 ) -> igraph_error_t;
15349}
15350unsafe extern "C" {
15351 pub fn igraph_asymmetric_preference_game(
15352 graph: *mut igraph_t,
15353 nodes: igraph_int_t,
15354 out_types: igraph_int_t,
15355 in_types: igraph_int_t,
15356 type_dist_matrix: *const igraph_matrix_t,
15357 pref_matrix: *const igraph_matrix_t,
15358 node_type_out_vec: *mut igraph_vector_int_t,
15359 node_type_in_vec: *mut igraph_vector_int_t,
15360 loops: igraph_bool_t,
15361 ) -> igraph_error_t;
15362}
15363unsafe extern "C" {
15364 pub fn igraph_rewire_edges(
15365 graph: *mut igraph_t,
15366 prob: igraph_real_t,
15367 allowed_edge_types: igraph_edge_type_sw_t,
15368 ) -> igraph_error_t;
15369}
15370unsafe extern "C" {
15371 pub fn igraph_rewire_directed_edges(
15372 graph: *mut igraph_t,
15373 prob: igraph_real_t,
15374 loops: igraph_bool_t,
15375 mode: igraph_neimode_t,
15376 ) -> igraph_error_t;
15377}
15378unsafe extern "C" {
15379 pub fn igraph_watts_strogatz_game(
15380 graph: *mut igraph_t,
15381 dim: igraph_int_t,
15382 size: igraph_int_t,
15383 nei: igraph_int_t,
15384 p: igraph_real_t,
15385 allowed_edge_types: igraph_edge_type_sw_t,
15386 ) -> igraph_error_t;
15387}
15388unsafe extern "C" {
15389 pub fn igraph_lastcit_game(
15390 graph: *mut igraph_t,
15391 nodes: igraph_int_t,
15392 edges_per_node: igraph_int_t,
15393 agebins: igraph_int_t,
15394 preference: *const igraph_vector_t,
15395 directed: igraph_bool_t,
15396 ) -> igraph_error_t;
15397}
15398unsafe extern "C" {
15399 pub fn igraph_cited_type_game(
15400 graph: *mut igraph_t,
15401 nodes: igraph_int_t,
15402 types: *const igraph_vector_int_t,
15403 pref: *const igraph_vector_t,
15404 edges_per_step: igraph_int_t,
15405 directed: igraph_bool_t,
15406 ) -> igraph_error_t;
15407}
15408unsafe extern "C" {
15409 pub fn igraph_citing_cited_type_game(
15410 graph: *mut igraph_t,
15411 nodes: igraph_int_t,
15412 types: *const igraph_vector_int_t,
15413 pref: *const igraph_matrix_t,
15414 edges_per_step: igraph_int_t,
15415 directed: igraph_bool_t,
15416 ) -> igraph_error_t;
15417}
15418unsafe extern "C" {
15419 pub fn igraph_forest_fire_game(
15420 graph: *mut igraph_t,
15421 nodes: igraph_int_t,
15422 fw_prob: igraph_real_t,
15423 bw_factor: igraph_real_t,
15424 ambs: igraph_int_t,
15425 directed: igraph_bool_t,
15426 ) -> igraph_error_t;
15427}
15428unsafe extern "C" {
15429 pub fn igraph_simple_interconnected_islands_game(
15430 graph: *mut igraph_t,
15431 islands_n: igraph_int_t,
15432 islands_size: igraph_int_t,
15433 islands_pin: igraph_real_t,
15434 n_inter: igraph_int_t,
15435 ) -> igraph_error_t;
15436}
15437unsafe extern "C" {
15438 pub fn igraph_static_fitness_game(
15439 graph: *mut igraph_t,
15440 no_of_edges: igraph_int_t,
15441 fitness_out: *const igraph_vector_t,
15442 fitness_in: *const igraph_vector_t,
15443 allowed_edge_types: igraph_edge_type_sw_t,
15444 ) -> igraph_error_t;
15445}
15446unsafe extern "C" {
15447 pub fn igraph_static_power_law_game(
15448 graph: *mut igraph_t,
15449 no_of_nodes: igraph_int_t,
15450 no_of_edges: igraph_int_t,
15451 exponent_out: igraph_real_t,
15452 exponent_in: igraph_real_t,
15453 allowed_edge_types: igraph_edge_type_sw_t,
15454 finite_size_correction: igraph_bool_t,
15455 ) -> igraph_error_t;
15456}
15457unsafe extern "C" {
15458 pub fn igraph_chung_lu_game(
15459 graph: *mut igraph_t,
15460 expected_out_deg: *const igraph_vector_t,
15461 expected_in_deg: *const igraph_vector_t,
15462 loops: igraph_bool_t,
15463 variant: igraph_chung_lu_t,
15464 ) -> igraph_error_t;
15465}
15466unsafe extern "C" {
15467 pub fn igraph_k_regular_game(
15468 graph: *mut igraph_t,
15469 no_of_nodes: igraph_int_t,
15470 k: igraph_int_t,
15471 directed: igraph_bool_t,
15472 multiple: igraph_bool_t,
15473 ) -> igraph_error_t;
15474}
15475unsafe extern "C" {
15476 pub fn igraph_sbm_game(
15477 graph: *mut igraph_t,
15478 pref_matrix: *const igraph_matrix_t,
15479 block_sizes: *const igraph_vector_int_t,
15480 directed: igraph_bool_t,
15481 allowed_edge_types: igraph_edge_type_sw_t,
15482 ) -> igraph_error_t;
15483}
15484unsafe extern "C" {
15485 pub fn igraph_hsbm_game(
15486 graph: *mut igraph_t,
15487 n: igraph_int_t,
15488 m: igraph_int_t,
15489 rho: *const igraph_vector_t,
15490 C: *const igraph_matrix_t,
15491 p: igraph_real_t,
15492 ) -> igraph_error_t;
15493}
15494unsafe extern "C" {
15495 pub fn igraph_hsbm_list_game(
15496 graph: *mut igraph_t,
15497 n: igraph_int_t,
15498 mlist: *const igraph_vector_int_t,
15499 rholist: *const igraph_vector_list_t,
15500 Clist: *const igraph_matrix_list_t,
15501 p: igraph_real_t,
15502 ) -> igraph_error_t;
15503}
15504unsafe extern "C" {
15505 pub fn igraph_correlated_game(
15506 new_graph: *mut igraph_t,
15507 old_graph: *const igraph_t,
15508 corr: igraph_real_t,
15509 p: igraph_real_t,
15510 permutation: *const igraph_vector_int_t,
15511 ) -> igraph_error_t;
15512}
15513unsafe extern "C" {
15514 pub fn igraph_correlated_pair_game(
15515 graph1: *mut igraph_t,
15516 graph2: *mut igraph_t,
15517 n: igraph_int_t,
15518 corr: igraph_real_t,
15519 p: igraph_real_t,
15520 directed: igraph_bool_t,
15521 permutation: *const igraph_vector_int_t,
15522 ) -> igraph_error_t;
15523}
15524unsafe extern "C" {
15525 pub fn igraph_tree_game(
15526 graph: *mut igraph_t,
15527 n: igraph_int_t,
15528 directed: igraph_bool_t,
15529 method: igraph_random_tree_t,
15530 ) -> igraph_error_t;
15531}
15532unsafe extern "C" {
15533 pub fn igraph_dot_product_game(
15534 graph: *mut igraph_t,
15535 vecs: *const igraph_matrix_t,
15536 directed: igraph_bool_t,
15537 ) -> igraph_error_t;
15538}
15539unsafe extern "C" {
15540 pub fn igraph_closeness(
15541 graph: *const igraph_t,
15542 res: *mut igraph_vector_t,
15543 reachable_count: *mut igraph_vector_int_t,
15544 all_reachable: *mut igraph_bool_t,
15545 vids: igraph_vs_t,
15546 mode: igraph_neimode_t,
15547 weights: *const igraph_vector_t,
15548 normalized: igraph_bool_t,
15549 ) -> igraph_error_t;
15550}
15551unsafe extern "C" {
15552 pub fn igraph_closeness_cutoff(
15553 graph: *const igraph_t,
15554 res: *mut igraph_vector_t,
15555 reachable_count: *mut igraph_vector_int_t,
15556 all_reachable: *mut igraph_bool_t,
15557 vids: igraph_vs_t,
15558 mode: igraph_neimode_t,
15559 weights: *const igraph_vector_t,
15560 normalized: igraph_bool_t,
15561 cutoff: igraph_real_t,
15562 ) -> igraph_error_t;
15563}
15564unsafe extern "C" {
15565 pub fn igraph_harmonic_centrality(
15566 graph: *const igraph_t,
15567 res: *mut igraph_vector_t,
15568 vids: igraph_vs_t,
15569 mode: igraph_neimode_t,
15570 weights: *const igraph_vector_t,
15571 normalized: igraph_bool_t,
15572 ) -> igraph_error_t;
15573}
15574unsafe extern "C" {
15575 pub fn igraph_harmonic_centrality_cutoff(
15576 graph: *const igraph_t,
15577 res: *mut igraph_vector_t,
15578 vids: igraph_vs_t,
15579 mode: igraph_neimode_t,
15580 weights: *const igraph_vector_t,
15581 normalized: igraph_bool_t,
15582 cutoff: igraph_real_t,
15583 ) -> igraph_error_t;
15584}
15585unsafe extern "C" {
15586 pub fn igraph_betweenness(
15587 graph: *const igraph_t,
15588 weights: *const igraph_vector_t,
15589 res: *mut igraph_vector_t,
15590 vids: igraph_vs_t,
15591 directed: igraph_bool_t,
15592 normalized: igraph_bool_t,
15593 ) -> igraph_error_t;
15594}
15595unsafe extern "C" {
15596 pub fn igraph_betweenness_cutoff(
15597 graph: *const igraph_t,
15598 weights: *const igraph_vector_t,
15599 res: *mut igraph_vector_t,
15600 vids: igraph_vs_t,
15601 directed: igraph_bool_t,
15602 normalized: igraph_bool_t,
15603 cutoff: igraph_real_t,
15604 ) -> igraph_error_t;
15605}
15606unsafe extern "C" {
15607 pub fn igraph_edge_betweenness(
15608 graph: *const igraph_t,
15609 weights: *const igraph_vector_t,
15610 res: *mut igraph_vector_t,
15611 eids: igraph_es_t,
15612 directed: igraph_bool_t,
15613 normalized: igraph_bool_t,
15614 ) -> igraph_error_t;
15615}
15616unsafe extern "C" {
15617 pub fn igraph_edge_betweenness_cutoff(
15618 graph: *const igraph_t,
15619 weights: *const igraph_vector_t,
15620 res: *mut igraph_vector_t,
15621 eids: igraph_es_t,
15622 directed: igraph_bool_t,
15623 normalized: igraph_bool_t,
15624 cutoff: igraph_real_t,
15625 ) -> igraph_error_t;
15626}
15627unsafe extern "C" {
15628 pub fn igraph_betweenness_subset(
15629 graph: *const igraph_t,
15630 weights: *const igraph_vector_t,
15631 res: *mut igraph_vector_t,
15632 sources: igraph_vs_t,
15633 targets: igraph_vs_t,
15634 vids: igraph_vs_t,
15635 directed: igraph_bool_t,
15636 normalized: igraph_bool_t,
15637 ) -> igraph_error_t;
15638}
15639unsafe extern "C" {
15640 pub fn igraph_edge_betweenness_subset(
15641 graph: *const igraph_t,
15642 weights: *const igraph_vector_t,
15643 res: *mut igraph_vector_t,
15644 sources: igraph_vs_t,
15645 targets: igraph_vs_t,
15646 eids: igraph_es_t,
15647 directed: igraph_bool_t,
15648 normalized: igraph_bool_t,
15649 ) -> igraph_error_t;
15650}
15651pub const igraph_pagerank_algo_t_IGRAPH_PAGERANK_ALGO_ARPACK: igraph_pagerank_algo_t = 1;
15652pub const igraph_pagerank_algo_t_IGRAPH_PAGERANK_ALGO_PRPACK: igraph_pagerank_algo_t = 2;
15653#[doc = " \\typedef igraph_pagerank_algo_t\n \\brief PageRank algorithm implementation.\n\n Algorithms to calculate PageRank.\n \\enumval IGRAPH_PAGERANK_ALGO_ARPACK Use the ARPACK library, this\n was the PageRank implementation in igraph from version 0.5, until\n version 0.7.\n \\enumval IGRAPH_PAGERANK_ALGO_PRPACK Use the PRPACK\n library. Currently this implementation is recommended."]
15654pub type igraph_pagerank_algo_t = ::std::os::raw::c_uint;
15655unsafe extern "C" {
15656 pub fn igraph_pagerank(
15657 graph: *const igraph_t,
15658 weights: *const igraph_vector_t,
15659 vector: *mut igraph_vector_t,
15660 value: *mut igraph_real_t,
15661 damping: igraph_real_t,
15662 directed: igraph_bool_t,
15663 vids: igraph_vs_t,
15664 algo: igraph_pagerank_algo_t,
15665 options: *mut igraph_arpack_options_t,
15666 ) -> igraph_error_t;
15667}
15668unsafe extern "C" {
15669 pub fn igraph_personalized_pagerank(
15670 graph: *const igraph_t,
15671 weights: *const igraph_vector_t,
15672 vector: *mut igraph_vector_t,
15673 value: *mut igraph_real_t,
15674 reset: *const igraph_vector_t,
15675 damping: igraph_real_t,
15676 directed: igraph_bool_t,
15677 vids: igraph_vs_t,
15678 algo: igraph_pagerank_algo_t,
15679 options: *mut igraph_arpack_options_t,
15680 ) -> igraph_error_t;
15681}
15682unsafe extern "C" {
15683 pub fn igraph_personalized_pagerank_vs(
15684 graph: *const igraph_t,
15685 weights: *const igraph_vector_t,
15686 vector: *mut igraph_vector_t,
15687 value: *mut igraph_real_t,
15688 reset_vids: igraph_vs_t,
15689 damping: igraph_real_t,
15690 directed: igraph_bool_t,
15691 vids: igraph_vs_t,
15692 algo: igraph_pagerank_algo_t,
15693 options: *mut igraph_arpack_options_t,
15694 ) -> igraph_error_t;
15695}
15696unsafe extern "C" {
15697 pub fn igraph_eigenvector_centrality(
15698 graph: *const igraph_t,
15699 vector: *mut igraph_vector_t,
15700 value: *mut igraph_real_t,
15701 mode: igraph_neimode_t,
15702 weights: *const igraph_vector_t,
15703 options: *mut igraph_arpack_options_t,
15704 ) -> igraph_error_t;
15705}
15706unsafe extern "C" {
15707 pub fn igraph_hub_and_authority_scores(
15708 graph: *const igraph_t,
15709 hub_vector: *mut igraph_vector_t,
15710 authority_vector: *mut igraph_vector_t,
15711 value: *mut igraph_real_t,
15712 weights: *const igraph_vector_t,
15713 options: *mut igraph_arpack_options_t,
15714 ) -> igraph_error_t;
15715}
15716unsafe extern "C" {
15717 pub fn igraph_constraint(
15718 graph: *const igraph_t,
15719 res: *mut igraph_vector_t,
15720 vids: igraph_vs_t,
15721 weights: *const igraph_vector_t,
15722 ) -> igraph_error_t;
15723}
15724unsafe extern "C" {
15725 pub fn igraph_convergence_degree(
15726 graph: *const igraph_t,
15727 result: *mut igraph_vector_t,
15728 ins: *mut igraph_vector_t,
15729 outs: *mut igraph_vector_t,
15730 ) -> igraph_error_t;
15731}
15732unsafe extern "C" {
15733 pub fn igraph_centralization(
15734 scores: *const igraph_vector_t,
15735 theoretical_max: igraph_real_t,
15736 normalized: igraph_bool_t,
15737 ) -> igraph_real_t;
15738}
15739unsafe extern "C" {
15740 pub fn igraph_centralization_degree(
15741 graph: *const igraph_t,
15742 res: *mut igraph_vector_t,
15743 mode: igraph_neimode_t,
15744 loops: igraph_loops_t,
15745 centralization: *mut igraph_real_t,
15746 theoretical_max: *mut igraph_real_t,
15747 normalized: igraph_bool_t,
15748 ) -> igraph_error_t;
15749}
15750unsafe extern "C" {
15751 pub fn igraph_centralization_degree_tmax(
15752 graph: *const igraph_t,
15753 nodes: igraph_int_t,
15754 mode: igraph_neimode_t,
15755 loops: igraph_loops_t,
15756 res: *mut igraph_real_t,
15757 ) -> igraph_error_t;
15758}
15759unsafe extern "C" {
15760 pub fn igraph_centralization_betweenness(
15761 graph: *const igraph_t,
15762 res: *mut igraph_vector_t,
15763 directed: igraph_bool_t,
15764 centralization: *mut igraph_real_t,
15765 theoretical_max: *mut igraph_real_t,
15766 normalized: igraph_bool_t,
15767 ) -> igraph_error_t;
15768}
15769unsafe extern "C" {
15770 pub fn igraph_centralization_betweenness_tmax(
15771 graph: *const igraph_t,
15772 nodes: igraph_int_t,
15773 directed: igraph_bool_t,
15774 res: *mut igraph_real_t,
15775 ) -> igraph_error_t;
15776}
15777unsafe extern "C" {
15778 pub fn igraph_centralization_closeness(
15779 graph: *const igraph_t,
15780 res: *mut igraph_vector_t,
15781 mode: igraph_neimode_t,
15782 centralization: *mut igraph_real_t,
15783 theoretical_max: *mut igraph_real_t,
15784 normalized: igraph_bool_t,
15785 ) -> igraph_error_t;
15786}
15787unsafe extern "C" {
15788 pub fn igraph_centralization_closeness_tmax(
15789 graph: *const igraph_t,
15790 nodes: igraph_int_t,
15791 mode: igraph_neimode_t,
15792 res: *mut igraph_real_t,
15793 ) -> igraph_error_t;
15794}
15795unsafe extern "C" {
15796 pub fn igraph_centralization_eigenvector_centrality(
15797 graph: *const igraph_t,
15798 vector: *mut igraph_vector_t,
15799 value: *mut igraph_real_t,
15800 mode: igraph_neimode_t,
15801 options: *mut igraph_arpack_options_t,
15802 centralization: *mut igraph_real_t,
15803 theoretical_max: *mut igraph_real_t,
15804 normalized: igraph_bool_t,
15805 ) -> igraph_error_t;
15806}
15807unsafe extern "C" {
15808 pub fn igraph_centralization_eigenvector_centrality_tmax(
15809 graph: *const igraph_t,
15810 nodes: igraph_int_t,
15811 mode: igraph_neimode_t,
15812 res: *mut igraph_real_t,
15813 ) -> igraph_error_t;
15814}
15815#[doc = " \\typedef igraph_astar_heuristic_func_t\n \\brief Distance estimator for A* algorithm.\n\n \\ref igraph_get_shortest_path_astar() uses a heuristic based on a distance\n estimate to the target vertex to guide its search, and determine\n which vertex to try next. The heuristic function is expected to compute\n an estimate of the distance between \\p from and \\p to. In order for\n \\ref igraph_get_shortest_path_astar() to find an exact shortest path,\n the distance must not be overestimated, i.e. the heuristic function\n must be \\em admissible.\n\n \\param result The result of the heuristic, i.e. the estimated distance.\n A lower value will mean this vertex will be a better candidate for\n exploration.\n \\param from The vertex ID of the candidate vertex will be passed here.\n \\param to The vertex ID of the endpoint of the path, i.e. the \\c to parameter\n given to \\ref igraph_get_shortest_path_astar(), will be passed here.\n \\param extra The \\c extra argument that was passed to\n \\ref igraph_get_shortest_path_astar().\n \\return Error code. Must return \\c IGRAPH_SUCCESS if there were no errors.\n This can be used to break off the algorithm if something unexpected happens,\n like a failed memory allocation (\\c IGRAPH_ENOMEM).\n\n \\sa \\ref igraph_get_shortest_path_astar()"]
15816pub type igraph_astar_heuristic_func_t = ::std::option::Option<
15817 unsafe extern "C" fn(
15818 result: *mut igraph_real_t,
15819 from: igraph_int_t,
15820 to: igraph_int_t,
15821 extra: *mut ::std::os::raw::c_void,
15822 ) -> igraph_error_t,
15823>;
15824pub const igraph_floyd_warshall_algorithm_t_IGRAPH_FLOYD_WARSHALL_AUTOMATIC:
15825 igraph_floyd_warshall_algorithm_t = 0;
15826pub const igraph_floyd_warshall_algorithm_t_IGRAPH_FLOYD_WARSHALL_ORIGINAL:
15827 igraph_floyd_warshall_algorithm_t = 1;
15828pub const igraph_floyd_warshall_algorithm_t_IGRAPH_FLOYD_WARSHALL_TREE:
15829 igraph_floyd_warshall_algorithm_t = 2;
15830pub type igraph_floyd_warshall_algorithm_t = ::std::os::raw::c_uint;
15831unsafe extern "C" {
15832 pub fn igraph_diameter(
15833 graph: *const igraph_t,
15834 weights: *const igraph_vector_t,
15835 res: *mut igraph_real_t,
15836 from: *mut igraph_int_t,
15837 to: *mut igraph_int_t,
15838 vertex_path: *mut igraph_vector_int_t,
15839 edge_path: *mut igraph_vector_int_t,
15840 directed: igraph_bool_t,
15841 unconn: igraph_bool_t,
15842 ) -> igraph_error_t;
15843}
15844unsafe extern "C" {
15845 pub fn igraph_distances(
15846 graph: *const igraph_t,
15847 weights: *const igraph_vector_t,
15848 res: *mut igraph_matrix_t,
15849 from: igraph_vs_t,
15850 to: igraph_vs_t,
15851 mode: igraph_neimode_t,
15852 ) -> igraph_error_t;
15853}
15854unsafe extern "C" {
15855 pub fn igraph_distances_bellman_ford(
15856 graph: *const igraph_t,
15857 res: *mut igraph_matrix_t,
15858 from: igraph_vs_t,
15859 to: igraph_vs_t,
15860 weights: *const igraph_vector_t,
15861 mode: igraph_neimode_t,
15862 ) -> igraph_error_t;
15863}
15864unsafe extern "C" {
15865 pub fn igraph_distances_dijkstra(
15866 graph: *const igraph_t,
15867 res: *mut igraph_matrix_t,
15868 from: igraph_vs_t,
15869 to: igraph_vs_t,
15870 weights: *const igraph_vector_t,
15871 mode: igraph_neimode_t,
15872 ) -> igraph_error_t;
15873}
15874unsafe extern "C" {
15875 pub fn igraph_distances_johnson(
15876 graph: *const igraph_t,
15877 res: *mut igraph_matrix_t,
15878 from: igraph_vs_t,
15879 to: igraph_vs_t,
15880 weights: *const igraph_vector_t,
15881 mode: igraph_neimode_t,
15882 ) -> igraph_error_t;
15883}
15884unsafe extern "C" {
15885 pub fn igraph_distances_floyd_warshall(
15886 graph: *const igraph_t,
15887 res: *mut igraph_matrix_t,
15888 from: igraph_vs_t,
15889 to: igraph_vs_t,
15890 weights: *const igraph_vector_t,
15891 mode: igraph_neimode_t,
15892 method: igraph_floyd_warshall_algorithm_t,
15893 ) -> igraph_error_t;
15894}
15895unsafe extern "C" {
15896 pub fn igraph_distances_cutoff(
15897 graph: *const igraph_t,
15898 weights: *const igraph_vector_t,
15899 res: *mut igraph_matrix_t,
15900 from: igraph_vs_t,
15901 to: igraph_vs_t,
15902 mode: igraph_neimode_t,
15903 cutoff: igraph_real_t,
15904 ) -> igraph_error_t;
15905}
15906unsafe extern "C" {
15907 pub fn igraph_distances_dijkstra_cutoff(
15908 graph: *const igraph_t,
15909 res: *mut igraph_matrix_t,
15910 from: igraph_vs_t,
15911 to: igraph_vs_t,
15912 weights: *const igraph_vector_t,
15913 mode: igraph_neimode_t,
15914 cutoff: igraph_real_t,
15915 ) -> igraph_error_t;
15916}
15917unsafe extern "C" {
15918 pub fn igraph_get_shortest_paths(
15919 graph: *const igraph_t,
15920 weights: *const igraph_vector_t,
15921 vertices: *mut igraph_vector_int_list_t,
15922 edges: *mut igraph_vector_int_list_t,
15923 from: igraph_int_t,
15924 to: igraph_vs_t,
15925 mode: igraph_neimode_t,
15926 parents: *mut igraph_vector_int_t,
15927 inbound_edges: *mut igraph_vector_int_t,
15928 ) -> igraph_error_t;
15929}
15930unsafe extern "C" {
15931 pub fn igraph_get_shortest_paths_bellman_ford(
15932 graph: *const igraph_t,
15933 vertices: *mut igraph_vector_int_list_t,
15934 edges: *mut igraph_vector_int_list_t,
15935 from: igraph_int_t,
15936 to: igraph_vs_t,
15937 weights: *const igraph_vector_t,
15938 mode: igraph_neimode_t,
15939 parents: *mut igraph_vector_int_t,
15940 inbound_edges: *mut igraph_vector_int_t,
15941 ) -> igraph_error_t;
15942}
15943unsafe extern "C" {
15944 pub fn igraph_get_shortest_paths_dijkstra(
15945 graph: *const igraph_t,
15946 vertices: *mut igraph_vector_int_list_t,
15947 edges: *mut igraph_vector_int_list_t,
15948 from: igraph_int_t,
15949 to: igraph_vs_t,
15950 weights: *const igraph_vector_t,
15951 mode: igraph_neimode_t,
15952 parents: *mut igraph_vector_int_t,
15953 inbound_edges: *mut igraph_vector_int_t,
15954 ) -> igraph_error_t;
15955}
15956unsafe extern "C" {
15957 pub fn igraph_get_shortest_path(
15958 graph: *const igraph_t,
15959 weights: *const igraph_vector_t,
15960 vertices: *mut igraph_vector_int_t,
15961 edges: *mut igraph_vector_int_t,
15962 from: igraph_int_t,
15963 to: igraph_int_t,
15964 mode: igraph_neimode_t,
15965 ) -> igraph_error_t;
15966}
15967unsafe extern "C" {
15968 pub fn igraph_get_shortest_path_bellman_ford(
15969 graph: *const igraph_t,
15970 vertices: *mut igraph_vector_int_t,
15971 edges: *mut igraph_vector_int_t,
15972 from: igraph_int_t,
15973 to: igraph_int_t,
15974 weights: *const igraph_vector_t,
15975 mode: igraph_neimode_t,
15976 ) -> igraph_error_t;
15977}
15978unsafe extern "C" {
15979 pub fn igraph_get_shortest_path_dijkstra(
15980 graph: *const igraph_t,
15981 vertices: *mut igraph_vector_int_t,
15982 edges: *mut igraph_vector_int_t,
15983 from: igraph_int_t,
15984 to: igraph_int_t,
15985 weights: *const igraph_vector_t,
15986 mode: igraph_neimode_t,
15987 ) -> igraph_error_t;
15988}
15989unsafe extern "C" {
15990 pub fn igraph_get_shortest_path_astar(
15991 graph: *const igraph_t,
15992 vertices: *mut igraph_vector_int_t,
15993 edges: *mut igraph_vector_int_t,
15994 from: igraph_int_t,
15995 to: igraph_int_t,
15996 weights: *const igraph_vector_t,
15997 mode: igraph_neimode_t,
15998 heuristic: igraph_astar_heuristic_func_t,
15999 extra: *mut ::std::os::raw::c_void,
16000 ) -> igraph_error_t;
16001}
16002unsafe extern "C" {
16003 pub fn igraph_get_all_shortest_paths(
16004 graph: *const igraph_t,
16005 weights: *const igraph_vector_t,
16006 vertices: *mut igraph_vector_int_list_t,
16007 edges: *mut igraph_vector_int_list_t,
16008 nrgeo: *mut igraph_vector_int_t,
16009 from: igraph_int_t,
16010 to: igraph_vs_t,
16011 mode: igraph_neimode_t,
16012 ) -> igraph_error_t;
16013}
16014unsafe extern "C" {
16015 pub fn igraph_get_all_shortest_paths_dijkstra(
16016 graph: *const igraph_t,
16017 vertices: *mut igraph_vector_int_list_t,
16018 edges: *mut igraph_vector_int_list_t,
16019 nrgeo: *mut igraph_vector_int_t,
16020 from: igraph_int_t,
16021 to: igraph_vs_t,
16022 weights: *const igraph_vector_t,
16023 mode: igraph_neimode_t,
16024 ) -> igraph_error_t;
16025}
16026unsafe extern "C" {
16027 pub fn igraph_average_path_length(
16028 graph: *const igraph_t,
16029 weights: *const igraph_vector_t,
16030 res: *mut igraph_real_t,
16031 unconn_pairs: *mut igraph_real_t,
16032 directed: igraph_bool_t,
16033 unconn: igraph_bool_t,
16034 ) -> igraph_error_t;
16035}
16036unsafe extern "C" {
16037 pub fn igraph_path_length_hist(
16038 graph: *const igraph_t,
16039 res: *mut igraph_vector_t,
16040 unconnected: *mut igraph_real_t,
16041 directed: igraph_bool_t,
16042 ) -> igraph_error_t;
16043}
16044unsafe extern "C" {
16045 pub fn igraph_global_efficiency(
16046 graph: *const igraph_t,
16047 weights: *const igraph_vector_t,
16048 res: *mut igraph_real_t,
16049 directed: igraph_bool_t,
16050 ) -> igraph_error_t;
16051}
16052unsafe extern "C" {
16053 pub fn igraph_local_efficiency(
16054 graph: *const igraph_t,
16055 weights: *const igraph_vector_t,
16056 res: *mut igraph_vector_t,
16057 vids: igraph_vs_t,
16058 directed: igraph_bool_t,
16059 mode: igraph_neimode_t,
16060 ) -> igraph_error_t;
16061}
16062unsafe extern "C" {
16063 pub fn igraph_average_local_efficiency(
16064 graph: *const igraph_t,
16065 weights: *const igraph_vector_t,
16066 res: *mut igraph_real_t,
16067 directed: igraph_bool_t,
16068 mode: igraph_neimode_t,
16069 ) -> igraph_error_t;
16070}
16071unsafe extern "C" {
16072 pub fn igraph_eccentricity(
16073 graph: *const igraph_t,
16074 weights: *const igraph_vector_t,
16075 res: *mut igraph_vector_t,
16076 vids: igraph_vs_t,
16077 mode: igraph_neimode_t,
16078 ) -> igraph_error_t;
16079}
16080unsafe extern "C" {
16081 pub fn igraph_radius(
16082 graph: *const igraph_t,
16083 weights: *const igraph_vector_t,
16084 radius: *mut igraph_real_t,
16085 mode: igraph_neimode_t,
16086 ) -> igraph_error_t;
16087}
16088unsafe extern "C" {
16089 pub fn igraph_graph_center(
16090 graph: *const igraph_t,
16091 weights: *const igraph_vector_t,
16092 res: *mut igraph_vector_int_t,
16093 mode: igraph_neimode_t,
16094 ) -> igraph_error_t;
16095}
16096unsafe extern "C" {
16097 pub fn igraph_pseudo_diameter(
16098 graph: *const igraph_t,
16099 weights: *const igraph_vector_t,
16100 diameter: *mut igraph_real_t,
16101 vid_start: igraph_int_t,
16102 from: *mut igraph_int_t,
16103 to: *mut igraph_int_t,
16104 directed: igraph_bool_t,
16105 unconn: igraph_bool_t,
16106 ) -> igraph_error_t;
16107}
16108unsafe extern "C" {
16109 pub fn igraph_get_all_simple_paths(
16110 graph: *const igraph_t,
16111 res: *mut igraph_vector_int_list_t,
16112 from: igraph_int_t,
16113 to: igraph_vs_t,
16114 mode: igraph_neimode_t,
16115 minlen: igraph_int_t,
16116 maxlen: igraph_int_t,
16117 max_results: igraph_int_t,
16118 ) -> igraph_error_t;
16119}
16120unsafe extern "C" {
16121 pub fn igraph_random_walk(
16122 graph: *const igraph_t,
16123 weights: *const igraph_vector_t,
16124 vertices: *mut igraph_vector_int_t,
16125 edges: *mut igraph_vector_int_t,
16126 start: igraph_int_t,
16127 mode: igraph_neimode_t,
16128 steps: igraph_int_t,
16129 stuck: igraph_random_walk_stuck_t,
16130 ) -> igraph_error_t;
16131}
16132unsafe extern "C" {
16133 pub fn igraph_get_k_shortest_paths(
16134 graph: *const igraph_t,
16135 weights: *const igraph_vector_t,
16136 vertex_paths: *mut igraph_vector_int_list_t,
16137 edge_paths: *mut igraph_vector_int_list_t,
16138 k: igraph_int_t,
16139 from: igraph_int_t,
16140 to: igraph_int_t,
16141 mode: igraph_neimode_t,
16142 ) -> igraph_error_t;
16143}
16144unsafe extern "C" {
16145 pub fn igraph_spanner(
16146 graph: *const igraph_t,
16147 spanner: *mut igraph_vector_int_t,
16148 stretch: igraph_real_t,
16149 weights: *const igraph_vector_t,
16150 ) -> igraph_error_t;
16151}
16152unsafe extern "C" {
16153 pub fn igraph_get_widest_paths(
16154 graph: *const igraph_t,
16155 vertices: *mut igraph_vector_int_list_t,
16156 edges: *mut igraph_vector_int_list_t,
16157 from: igraph_int_t,
16158 to: igraph_vs_t,
16159 weights: *const igraph_vector_t,
16160 mode: igraph_neimode_t,
16161 parents: *mut igraph_vector_int_t,
16162 inbound_edges: *mut igraph_vector_int_t,
16163 ) -> igraph_error_t;
16164}
16165unsafe extern "C" {
16166 pub fn igraph_get_widest_path(
16167 graph: *const igraph_t,
16168 vertices: *mut igraph_vector_int_t,
16169 edges: *mut igraph_vector_int_t,
16170 from: igraph_int_t,
16171 to: igraph_int_t,
16172 weights: *const igraph_vector_t,
16173 mode: igraph_neimode_t,
16174 ) -> igraph_error_t;
16175}
16176unsafe extern "C" {
16177 pub fn igraph_widest_path_widths_floyd_warshall(
16178 graph: *const igraph_t,
16179 res: *mut igraph_matrix_t,
16180 from: igraph_vs_t,
16181 to: igraph_vs_t,
16182 weights: *const igraph_vector_t,
16183 mode: igraph_neimode_t,
16184 ) -> igraph_error_t;
16185}
16186unsafe extern "C" {
16187 pub fn igraph_widest_path_widths_dijkstra(
16188 graph: *const igraph_t,
16189 res: *mut igraph_matrix_t,
16190 from: igraph_vs_t,
16191 to: igraph_vs_t,
16192 weights: *const igraph_vector_t,
16193 mode: igraph_neimode_t,
16194 ) -> igraph_error_t;
16195}
16196unsafe extern "C" {
16197 pub fn igraph_voronoi(
16198 graph: *const igraph_t,
16199 membership: *mut igraph_vector_int_t,
16200 distances: *mut igraph_vector_t,
16201 generators: *const igraph_vector_int_t,
16202 weights: *const igraph_vector_t,
16203 mode: igraph_neimode_t,
16204 tiebreaker: igraph_voronoi_tiebreaker_t,
16205 ) -> igraph_error_t;
16206}
16207unsafe extern "C" {
16208 pub fn igraph_expand_path_to_pairs(path: *mut igraph_vector_int_t) -> igraph_error_t;
16209}
16210unsafe extern "C" {
16211 pub fn igraph_vertex_path_from_edge_path(
16212 graph: *const igraph_t,
16213 start: igraph_int_t,
16214 edge_path: *const igraph_vector_int_t,
16215 vertex_path: *mut igraph_vector_int_t,
16216 mode: igraph_neimode_t,
16217 ) -> igraph_error_t;
16218}
16219unsafe extern "C" {
16220 pub fn igraph_connected_components(
16221 graph: *const igraph_t,
16222 membership: *mut igraph_vector_int_t,
16223 csize: *mut igraph_vector_int_t,
16224 no: *mut igraph_int_t,
16225 mode: igraph_connectedness_t,
16226 ) -> igraph_error_t;
16227}
16228unsafe extern "C" {
16229 pub fn igraph_is_connected(
16230 graph: *const igraph_t,
16231 res: *mut igraph_bool_t,
16232 mode: igraph_connectedness_t,
16233 ) -> igraph_error_t;
16234}
16235unsafe extern "C" {
16236 pub fn igraph_decompose(
16237 graph: *const igraph_t,
16238 components: *mut igraph_graph_list_t,
16239 mode: igraph_connectedness_t,
16240 maxcompno: igraph_int_t,
16241 minelements: igraph_int_t,
16242 ) -> igraph_error_t;
16243}
16244unsafe extern "C" {
16245 pub fn igraph_articulation_points(
16246 graph: *const igraph_t,
16247 res: *mut igraph_vector_int_t,
16248 ) -> igraph_error_t;
16249}
16250unsafe extern "C" {
16251 pub fn igraph_biconnected_components(
16252 graph: *const igraph_t,
16253 no: *mut igraph_int_t,
16254 tree_edges: *mut igraph_vector_int_list_t,
16255 component_edges: *mut igraph_vector_int_list_t,
16256 components: *mut igraph_vector_int_list_t,
16257 articulation_points: *mut igraph_vector_int_t,
16258 ) -> igraph_error_t;
16259}
16260unsafe extern "C" {
16261 pub fn igraph_is_biconnected(
16262 graph: *const igraph_t,
16263 result: *mut igraph_bool_t,
16264 ) -> igraph_error_t;
16265}
16266unsafe extern "C" {
16267 pub fn igraph_bridges(
16268 graph: *const igraph_t,
16269 bridges: *mut igraph_vector_int_t,
16270 ) -> igraph_error_t;
16271}
16272unsafe extern "C" {
16273 pub fn igraph_bond_percolation(
16274 graph: *const igraph_t,
16275 giant_size: *mut igraph_vector_int_t,
16276 vertex_count: *mut igraph_vector_int_t,
16277 edge_order: *const igraph_vector_int_t,
16278 ) -> igraph_error_t;
16279}
16280unsafe extern "C" {
16281 pub fn igraph_site_percolation(
16282 graph: *const igraph_t,
16283 giant_size: *mut igraph_vector_int_t,
16284 edge_count: *mut igraph_vector_int_t,
16285 vertex_order: *const igraph_vector_int_t,
16286 ) -> igraph_error_t;
16287}
16288unsafe extern "C" {
16289 pub fn igraph_edgelist_percolation(
16290 edges: *const igraph_vector_int_t,
16291 giant_size: *mut igraph_vector_int_t,
16292 vertex_count: *mut igraph_vector_int_t,
16293 ) -> igraph_error_t;
16294}
16295unsafe extern "C" {
16296 pub fn igraph_are_adjacent(
16297 graph: *const igraph_t,
16298 v1: igraph_int_t,
16299 v2: igraph_int_t,
16300 res: *mut igraph_bool_t,
16301 ) -> igraph_error_t;
16302}
16303unsafe extern "C" {
16304 pub fn igraph_count_multiple(
16305 graph: *const igraph_t,
16306 res: *mut igraph_vector_int_t,
16307 es: igraph_es_t,
16308 ) -> igraph_error_t;
16309}
16310unsafe extern "C" {
16311 pub fn igraph_count_multiple_1(
16312 graph: *const igraph_t,
16313 res: *mut igraph_int_t,
16314 eid: igraph_int_t,
16315 ) -> igraph_error_t;
16316}
16317unsafe extern "C" {
16318 pub fn igraph_density(
16319 graph: *const igraph_t,
16320 weights: *const igraph_vector_t,
16321 res: *mut igraph_real_t,
16322 loops: igraph_bool_t,
16323 ) -> igraph_error_t;
16324}
16325unsafe extern "C" {
16326 pub fn igraph_diversity(
16327 graph: *const igraph_t,
16328 weights: *const igraph_vector_t,
16329 res: *mut igraph_vector_t,
16330 vs: igraph_vs_t,
16331 ) -> igraph_error_t;
16332}
16333unsafe extern "C" {
16334 pub fn igraph_girth(
16335 graph: *const igraph_t,
16336 girth: *mut igraph_real_t,
16337 circle: *mut igraph_vector_int_t,
16338 ) -> igraph_error_t;
16339}
16340unsafe extern "C" {
16341 pub fn igraph_has_loop(graph: *const igraph_t, res: *mut igraph_bool_t) -> igraph_error_t;
16342}
16343unsafe extern "C" {
16344 pub fn igraph_has_multiple(graph: *const igraph_t, res: *mut igraph_bool_t) -> igraph_error_t;
16345}
16346unsafe extern "C" {
16347 pub fn igraph_count_loops(
16348 graph: *const igraph_t,
16349 loop_count: *mut igraph_int_t,
16350 ) -> igraph_error_t;
16351}
16352unsafe extern "C" {
16353 pub fn igraph_is_loop(
16354 graph: *const igraph_t,
16355 res: *mut igraph_vector_bool_t,
16356 es: igraph_es_t,
16357 ) -> igraph_error_t;
16358}
16359unsafe extern "C" {
16360 pub fn igraph_is_multiple(
16361 graph: *const igraph_t,
16362 res: *mut igraph_vector_bool_t,
16363 es: igraph_es_t,
16364 ) -> igraph_error_t;
16365}
16366unsafe extern "C" {
16367 pub fn igraph_is_mutual(
16368 graph: *const igraph_t,
16369 res: *mut igraph_vector_bool_t,
16370 es: igraph_es_t,
16371 loops: igraph_bool_t,
16372 ) -> igraph_error_t;
16373}
16374unsafe extern "C" {
16375 pub fn igraph_has_mutual(
16376 graph: *const igraph_t,
16377 res: *mut igraph_bool_t,
16378 loops: igraph_bool_t,
16379 ) -> igraph_error_t;
16380}
16381unsafe extern "C" {
16382 pub fn igraph_is_simple(
16383 graph: *const igraph_t,
16384 res: *mut igraph_bool_t,
16385 directed: igraph_bool_t,
16386 ) -> igraph_error_t;
16387}
16388unsafe extern "C" {
16389 pub fn igraph_is_tree(
16390 graph: *const igraph_t,
16391 res: *mut igraph_bool_t,
16392 root: *mut igraph_int_t,
16393 mode: igraph_neimode_t,
16394 ) -> igraph_error_t;
16395}
16396unsafe extern "C" {
16397 pub fn igraph_is_acyclic(graph: *const igraph_t, res: *mut igraph_bool_t) -> igraph_error_t;
16398}
16399unsafe extern "C" {
16400 pub fn igraph_is_forest(
16401 graph: *const igraph_t,
16402 res: *mut igraph_bool_t,
16403 roots: *mut igraph_vector_int_t,
16404 mode: igraph_neimode_t,
16405 ) -> igraph_error_t;
16406}
16407unsafe extern "C" {
16408 pub fn igraph_maxdegree(
16409 graph: *const igraph_t,
16410 res: *mut igraph_int_t,
16411 vids: igraph_vs_t,
16412 mode: igraph_neimode_t,
16413 loops: igraph_loops_t,
16414 ) -> igraph_error_t;
16415}
16416unsafe extern "C" {
16417 pub fn igraph_mean_degree(
16418 graph: *const igraph_t,
16419 res: *mut igraph_real_t,
16420 loops: igraph_bool_t,
16421 ) -> igraph_error_t;
16422}
16423unsafe extern "C" {
16424 pub fn igraph_reciprocity(
16425 graph: *const igraph_t,
16426 res: *mut igraph_real_t,
16427 ignore_loops: igraph_bool_t,
16428 mode: igraph_reciprocity_t,
16429 ) -> igraph_error_t;
16430}
16431unsafe extern "C" {
16432 pub fn igraph_strength(
16433 graph: *const igraph_t,
16434 res: *mut igraph_vector_t,
16435 vids: igraph_vs_t,
16436 mode: igraph_neimode_t,
16437 loops: igraph_loops_t,
16438 weights: *const igraph_vector_t,
16439 ) -> igraph_error_t;
16440}
16441unsafe extern "C" {
16442 pub fn igraph_sort_vertex_ids_by_degree(
16443 graph: *const igraph_t,
16444 outvids: *mut igraph_vector_int_t,
16445 vids: igraph_vs_t,
16446 mode: igraph_neimode_t,
16447 loops: igraph_loops_t,
16448 order: igraph_order_t,
16449 only_indices: igraph_bool_t,
16450 ) -> igraph_error_t;
16451}
16452unsafe extern "C" {
16453 pub fn igraph_is_perfect(graph: *const igraph_t, perfect: *mut igraph_bool_t)
16454 -> igraph_error_t;
16455}
16456unsafe extern "C" {
16457 pub fn igraph_is_complete(graph: *const igraph_t, res: *mut igraph_bool_t) -> igraph_error_t;
16458}
16459unsafe extern "C" {
16460 pub fn igraph_is_clique(
16461 graph: *const igraph_t,
16462 candidate: igraph_vs_t,
16463 directed: igraph_bool_t,
16464 res: *mut igraph_bool_t,
16465 ) -> igraph_error_t;
16466}
16467unsafe extern "C" {
16468 pub fn igraph_is_independent_vertex_set(
16469 graph: *const igraph_t,
16470 candidate: igraph_vs_t,
16471 res: *mut igraph_bool_t,
16472 ) -> igraph_error_t;
16473}
16474unsafe extern "C" {
16475 pub fn igraph_minimum_spanning_tree(
16476 graph: *const igraph_t,
16477 res: *mut igraph_vector_int_t,
16478 weights: *const igraph_vector_t,
16479 method: igraph_mst_algorithm_t,
16480 ) -> igraph_error_t;
16481}
16482unsafe extern "C" {
16483 pub fn igraph_random_spanning_tree(
16484 graph: *const igraph_t,
16485 res: *mut igraph_vector_int_t,
16486 vid: igraph_int_t,
16487 ) -> igraph_error_t;
16488}
16489unsafe extern "C" {
16490 pub fn igraph_subcomponent(
16491 graph: *const igraph_t,
16492 res: *mut igraph_vector_int_t,
16493 vid: igraph_int_t,
16494 mode: igraph_neimode_t,
16495 ) -> igraph_error_t;
16496}
16497unsafe extern "C" {
16498 pub fn igraph_unfold_tree(
16499 graph: *const igraph_t,
16500 tree: *mut igraph_t,
16501 mode: igraph_neimode_t,
16502 roots: *const igraph_vector_int_t,
16503 vertex_index: *mut igraph_vector_int_t,
16504 ) -> igraph_error_t;
16505}
16506unsafe extern "C" {
16507 pub fn igraph_maximum_cardinality_search(
16508 graph: *const igraph_t,
16509 alpha: *mut igraph_vector_int_t,
16510 alpham1: *mut igraph_vector_int_t,
16511 ) -> igraph_error_t;
16512}
16513unsafe extern "C" {
16514 pub fn igraph_is_chordal(
16515 graph: *const igraph_t,
16516 alpha: *const igraph_vector_int_t,
16517 alpham1: *const igraph_vector_int_t,
16518 chordal: *mut igraph_bool_t,
16519 fill_in: *mut igraph_vector_int_t,
16520 newgraph: *mut igraph_t,
16521 ) -> igraph_error_t;
16522}
16523unsafe extern "C" {
16524 pub fn igraph_avg_nearest_neighbor_degree(
16525 graph: *const igraph_t,
16526 vids: igraph_vs_t,
16527 mode: igraph_neimode_t,
16528 neighbor_degree_mode: igraph_neimode_t,
16529 knn: *mut igraph_vector_t,
16530 knnk: *mut igraph_vector_t,
16531 weights: *const igraph_vector_t,
16532 ) -> igraph_error_t;
16533}
16534unsafe extern "C" {
16535 pub fn igraph_degree_correlation_vector(
16536 graph: *const igraph_t,
16537 weights: *const igraph_vector_t,
16538 knnk: *mut igraph_vector_t,
16539 from_mode: igraph_neimode_t,
16540 to_mode: igraph_neimode_t,
16541 directed_neighbors: igraph_bool_t,
16542 ) -> igraph_error_t;
16543}
16544unsafe extern "C" {
16545 pub fn igraph_rich_club_sequence(
16546 graph: *const igraph_t,
16547 weights: *const igraph_vector_t,
16548 res: *mut igraph_vector_t,
16549 vertex_order: *const igraph_vector_int_t,
16550 normalized: igraph_bool_t,
16551 loops: igraph_bool_t,
16552 directed: igraph_bool_t,
16553 ) -> igraph_error_t;
16554}
16555pub const igraph_laplacian_normalization_t_IGRAPH_LAPLACIAN_UNNORMALIZED:
16556 igraph_laplacian_normalization_t = 0;
16557pub const igraph_laplacian_normalization_t_IGRAPH_LAPLACIAN_SYMMETRIC:
16558 igraph_laplacian_normalization_t = 1;
16559pub const igraph_laplacian_normalization_t_IGRAPH_LAPLACIAN_LEFT: igraph_laplacian_normalization_t =
16560 2;
16561pub const igraph_laplacian_normalization_t_IGRAPH_LAPLACIAN_RIGHT:
16562 igraph_laplacian_normalization_t = 3;
16563#[doc = " \\typedef igraph_laplacian_normalization_t\n \\brief Normalization methods for a Laplacian matrix.\n\n Normalization methods for \\ref igraph_get_laplacian() and\n \\ref igraph_get_laplacian_sparse(). In the following, \\c A refers to the\n (possibly weighted) adjacency matrix and \\c D is a diagonal matrix containing\n degrees (unweighted case) or strengths (weighted case). Out-, in- or total degrees\n are used according to the \\p mode parameter.\n\n \\enumval IGRAPH_LAPLACIAN_UNNORMALIZED Unnormalized Laplacian, <code>L = D - A</code>.\n \\enumval IGRAPH_LAPLACIAN_SYMMETRIC Symmetrically normalized Laplacian, <code>L = I - D^(-1/2) A D^(-1/2)</code>.\n \\enumval IGRAPH_LAPLACIAN_LEFT Left-stochastic normalized Laplacian, <code>L = I - D^-1 A</code>.\n \\enumval IGRAPH_LAPLACIAN_RIGHT Right-stochastic normalized Laplacian, <code>L = I - A D^-1</code>."]
16564pub type igraph_laplacian_normalization_t = ::std::os::raw::c_uint;
16565unsafe extern "C" {
16566 pub fn igraph_get_laplacian(
16567 graph: *const igraph_t,
16568 res: *mut igraph_matrix_t,
16569 mode: igraph_neimode_t,
16570 normalization: igraph_laplacian_normalization_t,
16571 weights: *const igraph_vector_t,
16572 ) -> igraph_error_t;
16573}
16574unsafe extern "C" {
16575 pub fn igraph_get_laplacian_sparse(
16576 graph: *const igraph_t,
16577 sparseres: *mut igraph_sparsemat_t,
16578 mode: igraph_neimode_t,
16579 normalization: igraph_laplacian_normalization_t,
16580 weights: *const igraph_vector_t,
16581 ) -> igraph_error_t;
16582}
16583unsafe extern "C" {
16584 pub fn igraph_transitivity_undirected(
16585 graph: *const igraph_t,
16586 res: *mut igraph_real_t,
16587 mode: igraph_transitivity_mode_t,
16588 ) -> igraph_error_t;
16589}
16590unsafe extern "C" {
16591 pub fn igraph_transitivity_local_undirected(
16592 graph: *const igraph_t,
16593 res: *mut igraph_vector_t,
16594 vids: igraph_vs_t,
16595 mode: igraph_transitivity_mode_t,
16596 ) -> igraph_error_t;
16597}
16598unsafe extern "C" {
16599 pub fn igraph_transitivity_avglocal_undirected(
16600 graph: *const igraph_t,
16601 res: *mut igraph_real_t,
16602 mode: igraph_transitivity_mode_t,
16603 ) -> igraph_error_t;
16604}
16605unsafe extern "C" {
16606 pub fn igraph_transitivity_barrat(
16607 graph: *const igraph_t,
16608 res: *mut igraph_vector_t,
16609 vids: igraph_vs_t,
16610 weights: *const igraph_vector_t,
16611 mode: igraph_transitivity_mode_t,
16612 ) -> igraph_error_t;
16613}
16614unsafe extern "C" {
16615 pub fn igraph_ecc(
16616 graph: *const igraph_t,
16617 res: *mut igraph_vector_t,
16618 eids: igraph_es_t,
16619 k: igraph_int_t,
16620 offset: igraph_bool_t,
16621 normalize: igraph_bool_t,
16622 ) -> igraph_error_t;
16623}
16624unsafe extern "C" {
16625 pub fn igraph_neighborhood_size(
16626 graph: *const igraph_t,
16627 res: *mut igraph_vector_int_t,
16628 vids: igraph_vs_t,
16629 order: igraph_int_t,
16630 mode: igraph_neimode_t,
16631 mindist: igraph_int_t,
16632 ) -> igraph_error_t;
16633}
16634unsafe extern "C" {
16635 pub fn igraph_neighborhood(
16636 graph: *const igraph_t,
16637 res: *mut igraph_vector_int_list_t,
16638 vids: igraph_vs_t,
16639 order: igraph_int_t,
16640 mode: igraph_neimode_t,
16641 mindist: igraph_int_t,
16642 ) -> igraph_error_t;
16643}
16644unsafe extern "C" {
16645 pub fn igraph_neighborhood_graphs(
16646 graph: *const igraph_t,
16647 res: *mut igraph_graph_list_t,
16648 vids: igraph_vs_t,
16649 order: igraph_int_t,
16650 mode: igraph_neimode_t,
16651 mindist: igraph_int_t,
16652 ) -> igraph_error_t;
16653}
16654unsafe extern "C" {
16655 pub fn igraph_simplify_and_colorize(
16656 graph: *const igraph_t,
16657 res: *mut igraph_t,
16658 vertex_color: *mut igraph_vector_int_t,
16659 edge_color: *mut igraph_vector_int_t,
16660 ) -> igraph_error_t;
16661}
16662unsafe extern "C" {
16663 pub fn igraph_invert_permutation(
16664 permutation: *const igraph_vector_int_t,
16665 inverse: *mut igraph_vector_int_t,
16666 ) -> igraph_error_t;
16667}
16668unsafe extern "C" {
16669 pub fn igraph_isomorphic(
16670 graph1: *const igraph_t,
16671 graph2: *const igraph_t,
16672 iso: *mut igraph_bool_t,
16673 ) -> igraph_error_t;
16674}
16675unsafe extern "C" {
16676 pub fn igraph_subisomorphic(
16677 graph1: *const igraph_t,
16678 graph2: *const igraph_t,
16679 iso: *mut igraph_bool_t,
16680 ) -> igraph_error_t;
16681}
16682unsafe extern "C" {
16683 pub fn igraph_count_automorphisms(
16684 graph: *const igraph_t,
16685 colors: *const igraph_vector_int_t,
16686 result: *mut igraph_real_t,
16687 ) -> igraph_error_t;
16688}
16689unsafe extern "C" {
16690 pub fn igraph_automorphism_group(
16691 graph: *const igraph_t,
16692 colors: *const igraph_vector_int_t,
16693 generators: *mut igraph_vector_int_list_t,
16694 ) -> igraph_error_t;
16695}
16696unsafe extern "C" {
16697 pub fn igraph_canonical_permutation(
16698 graph: *const igraph_t,
16699 colors: *const igraph_vector_int_t,
16700 labeling: *mut igraph_vector_int_t,
16701 ) -> igraph_error_t;
16702}
16703unsafe extern "C" {
16704 pub fn igraph_subisomorphic_lad(
16705 pattern: *const igraph_t,
16706 target: *const igraph_t,
16707 domains: *const igraph_vector_int_list_t,
16708 iso: *mut igraph_bool_t,
16709 map: *mut igraph_vector_int_t,
16710 maps: *mut igraph_vector_int_list_t,
16711 induced: igraph_bool_t,
16712 ) -> igraph_error_t;
16713}
16714#[doc = " \\typedef igraph_isohandler_t\n Callback type, called when an isomorphism was found\n\n See the details at the documentation of \\ref\n igraph_get_isomorphisms_vf2_callback().\n \\param map12 The mapping from the first graph to the second.\n \\param map21 The mapping from the second graph to the first, the\n inverse of \\p map12 basically.\n \\param arg This extra argument was passed to \\ref\n igraph_get_isomorphisms_vf2_callback() when it was called.\n \\return \\c IGRAPH_SUCCESS to continue the search, \\c IGRAPH_STOP to\n terminate the search. Any other return value is interpreted as an\n igraph error code, which will then abort the search and return the\n same error code from the caller function."]
16715pub type igraph_isohandler_t = ::std::option::Option<
16716 unsafe extern "C" fn(
16717 map12: *const igraph_vector_int_t,
16718 map21: *const igraph_vector_int_t,
16719 arg: *mut ::std::os::raw::c_void,
16720 ) -> igraph_error_t,
16721>;
16722#[doc = " \\typedef igraph_isocompat_t\n Callback type, called to check whether two vertices or edges are compatible\n\n VF2 (subgraph) isomorphism functions can be restricted by defining\n relations on the vertices and/or edges of the graphs, and then checking\n whether the vertices (edges) match according to these relations.\n\n </para><para>This feature is implemented by two callbacks, one for\n vertices, one for edges. Every time igraph tries to match a vertex (edge)\n of the first (sub)graph to a vertex of the second graph, the vertex\n (edge) compatibility callback is called. The callback returns a\n logical value, giving whether the two vertices match.\n\n </para><para>Both callback functions are of type \\c igraph_isocompat_t.\n \\param graph1 The first graph.\n \\param graph2 The second graph.\n \\param g1_num The id of a vertex or edge in the first graph.\n \\param g2_num The id of a vertex or edge in the second graph.\n \\param arg Extra argument to pass to the callback functions.\n \\return Logical scalar, whether vertex (or edge) \\p g1_num in \\p graph1\n is compatible with vertex (or edge) \\p g2_num in \\p graph2."]
16723pub type igraph_isocompat_t = ::std::option::Option<
16724 unsafe extern "C" fn(
16725 graph1: *const igraph_t,
16726 graph2: *const igraph_t,
16727 g1_num: igraph_int_t,
16728 g2_num: igraph_int_t,
16729 arg: *mut ::std::os::raw::c_void,
16730 ) -> igraph_bool_t,
16731>;
16732unsafe extern "C" {
16733 pub fn igraph_isomorphic_vf2(
16734 graph1: *const igraph_t,
16735 graph2: *const igraph_t,
16736 vertex_color1: *const igraph_vector_int_t,
16737 vertex_color2: *const igraph_vector_int_t,
16738 edge_color1: *const igraph_vector_int_t,
16739 edge_color2: *const igraph_vector_int_t,
16740 iso: *mut igraph_bool_t,
16741 map12: *mut igraph_vector_int_t,
16742 map21: *mut igraph_vector_int_t,
16743 node_compat_fn: igraph_isocompat_t,
16744 edge_compat_fn: igraph_isocompat_t,
16745 arg: *mut ::std::os::raw::c_void,
16746 ) -> igraph_error_t;
16747}
16748unsafe extern "C" {
16749 pub fn igraph_count_isomorphisms_vf2(
16750 graph1: *const igraph_t,
16751 graph2: *const igraph_t,
16752 vertex_color1: *const igraph_vector_int_t,
16753 vertex_color2: *const igraph_vector_int_t,
16754 edge_color1: *const igraph_vector_int_t,
16755 edge_color2: *const igraph_vector_int_t,
16756 count: *mut igraph_int_t,
16757 node_compat_fn: igraph_isocompat_t,
16758 edge_compat_fn: igraph_isocompat_t,
16759 arg: *mut ::std::os::raw::c_void,
16760 ) -> igraph_error_t;
16761}
16762unsafe extern "C" {
16763 pub fn igraph_get_isomorphisms_vf2(
16764 graph1: *const igraph_t,
16765 graph2: *const igraph_t,
16766 vertex_color1: *const igraph_vector_int_t,
16767 vertex_color2: *const igraph_vector_int_t,
16768 edge_color1: *const igraph_vector_int_t,
16769 edge_color2: *const igraph_vector_int_t,
16770 maps: *mut igraph_vector_int_list_t,
16771 node_compat_fn: igraph_isocompat_t,
16772 edge_compat_fn: igraph_isocompat_t,
16773 arg: *mut ::std::os::raw::c_void,
16774 ) -> igraph_error_t;
16775}
16776unsafe extern "C" {
16777 pub fn igraph_get_isomorphisms_vf2_callback(
16778 graph1: *const igraph_t,
16779 graph2: *const igraph_t,
16780 vertex_color1: *const igraph_vector_int_t,
16781 vertex_color2: *const igraph_vector_int_t,
16782 edge_color1: *const igraph_vector_int_t,
16783 edge_color2: *const igraph_vector_int_t,
16784 map12: *mut igraph_vector_int_t,
16785 map21: *mut igraph_vector_int_t,
16786 isohandler_fn: igraph_isohandler_t,
16787 node_compat_fn: igraph_isocompat_t,
16788 edge_compat_fn: igraph_isocompat_t,
16789 arg: *mut ::std::os::raw::c_void,
16790 ) -> igraph_error_t;
16791}
16792unsafe extern "C" {
16793 pub fn igraph_subisomorphic_vf2(
16794 graph1: *const igraph_t,
16795 graph2: *const igraph_t,
16796 vertex_color1: *const igraph_vector_int_t,
16797 vertex_color2: *const igraph_vector_int_t,
16798 edge_color1: *const igraph_vector_int_t,
16799 edge_color2: *const igraph_vector_int_t,
16800 iso: *mut igraph_bool_t,
16801 map12: *mut igraph_vector_int_t,
16802 map21: *mut igraph_vector_int_t,
16803 node_compat_fn: igraph_isocompat_t,
16804 edge_compat_fn: igraph_isocompat_t,
16805 arg: *mut ::std::os::raw::c_void,
16806 ) -> igraph_error_t;
16807}
16808unsafe extern "C" {
16809 pub fn igraph_count_subisomorphisms_vf2(
16810 graph1: *const igraph_t,
16811 graph2: *const igraph_t,
16812 vertex_color1: *const igraph_vector_int_t,
16813 vertex_color2: *const igraph_vector_int_t,
16814 edge_color1: *const igraph_vector_int_t,
16815 edge_color2: *const igraph_vector_int_t,
16816 count: *mut igraph_int_t,
16817 node_compat_fn: igraph_isocompat_t,
16818 edge_compat_fn: igraph_isocompat_t,
16819 arg: *mut ::std::os::raw::c_void,
16820 ) -> igraph_error_t;
16821}
16822unsafe extern "C" {
16823 pub fn igraph_get_subisomorphisms_vf2(
16824 graph1: *const igraph_t,
16825 graph2: *const igraph_t,
16826 vertex_color1: *const igraph_vector_int_t,
16827 vertex_color2: *const igraph_vector_int_t,
16828 edge_color1: *const igraph_vector_int_t,
16829 edge_color2: *const igraph_vector_int_t,
16830 maps: *mut igraph_vector_int_list_t,
16831 node_compat_fn: igraph_isocompat_t,
16832 edge_compat_fn: igraph_isocompat_t,
16833 arg: *mut ::std::os::raw::c_void,
16834 ) -> igraph_error_t;
16835}
16836unsafe extern "C" {
16837 pub fn igraph_get_subisomorphisms_vf2_callback(
16838 graph1: *const igraph_t,
16839 graph2: *const igraph_t,
16840 vertex_color1: *const igraph_vector_int_t,
16841 vertex_color2: *const igraph_vector_int_t,
16842 edge_color1: *const igraph_vector_int_t,
16843 edge_color2: *const igraph_vector_int_t,
16844 map12: *mut igraph_vector_int_t,
16845 map21: *mut igraph_vector_int_t,
16846 isohandler_fn: igraph_isohandler_t,
16847 node_compat_fn: igraph_isocompat_t,
16848 edge_compat_fn: igraph_isocompat_t,
16849 arg: *mut ::std::os::raw::c_void,
16850 ) -> igraph_error_t;
16851}
16852#[doc = " \\struct igraph_bliss_info_t\n \\brief Information about a Bliss run.\n\n Some secondary information found by the Bliss algorithm is stored\n here. It is useful if you wany to study the internal working of the\n algorithm.\n\n \\member nof_nodes The number of nodes in the search tree.\n \\member nof_leaf_nodes The number of leaf nodes in the search tree.\n \\member nof_bad_nodes Number of bad nodes.\n \\member nof_canupdates Number of canrep updates.\n \\member nof_generators Number of generators of the automorphism group.\n \\member max_level Maximum level.\n \\member group_size The size of the automorphism group of the graph,\n given as a string. It should be deallocated via\n \\ref igraph_free() if not needed any more.\n\n See https://users.aalto.fi/~tjunttil/bliss/\n for details about the algorithm and these parameters."]
16853#[repr(C)]
16854#[derive(Debug, Copy, Clone)]
16855pub struct igraph_bliss_info_t {
16856 pub nof_nodes: ::std::os::raw::c_ulong,
16857 pub nof_leaf_nodes: ::std::os::raw::c_ulong,
16858 pub nof_bad_nodes: ::std::os::raw::c_ulong,
16859 pub nof_canupdates: ::std::os::raw::c_ulong,
16860 pub nof_generators: ::std::os::raw::c_ulong,
16861 pub max_level: ::std::os::raw::c_ulong,
16862 pub group_size: *mut ::std::os::raw::c_char,
16863}
16864#[allow(clippy::unnecessary_operation, clippy::identity_op)]
16865const _: () = {
16866 ["Size of igraph_bliss_info_t"][::std::mem::size_of::<igraph_bliss_info_t>() - 56usize];
16867 ["Alignment of igraph_bliss_info_t"][::std::mem::align_of::<igraph_bliss_info_t>() - 8usize];
16868 ["Offset of field: igraph_bliss_info_t::nof_nodes"]
16869 [::std::mem::offset_of!(igraph_bliss_info_t, nof_nodes) - 0usize];
16870 ["Offset of field: igraph_bliss_info_t::nof_leaf_nodes"]
16871 [::std::mem::offset_of!(igraph_bliss_info_t, nof_leaf_nodes) - 8usize];
16872 ["Offset of field: igraph_bliss_info_t::nof_bad_nodes"]
16873 [::std::mem::offset_of!(igraph_bliss_info_t, nof_bad_nodes) - 16usize];
16874 ["Offset of field: igraph_bliss_info_t::nof_canupdates"]
16875 [::std::mem::offset_of!(igraph_bliss_info_t, nof_canupdates) - 24usize];
16876 ["Offset of field: igraph_bliss_info_t::nof_generators"]
16877 [::std::mem::offset_of!(igraph_bliss_info_t, nof_generators) - 32usize];
16878 ["Offset of field: igraph_bliss_info_t::max_level"]
16879 [::std::mem::offset_of!(igraph_bliss_info_t, max_level) - 40usize];
16880 ["Offset of field: igraph_bliss_info_t::group_size"]
16881 [::std::mem::offset_of!(igraph_bliss_info_t, group_size) - 48usize];
16882};
16883pub const igraph_bliss_sh_t_IGRAPH_BLISS_F: igraph_bliss_sh_t = 0;
16884pub const igraph_bliss_sh_t_IGRAPH_BLISS_FL: igraph_bliss_sh_t = 1;
16885pub const igraph_bliss_sh_t_IGRAPH_BLISS_FS: igraph_bliss_sh_t = 2;
16886pub const igraph_bliss_sh_t_IGRAPH_BLISS_FM: igraph_bliss_sh_t = 3;
16887pub const igraph_bliss_sh_t_IGRAPH_BLISS_FLM: igraph_bliss_sh_t = 4;
16888pub const igraph_bliss_sh_t_IGRAPH_BLISS_FSM: igraph_bliss_sh_t = 5;
16889#[doc = " \\typedef igraph_bliss_sh_t\n \\brief Splitting heuristics for Bliss.\n\n \\c IGRAPH_BLISS_FL provides good performance for many graphs, and is a reasonable\n default choice. \\c IGRAPH_BLISS_FSM is recommended for graphs that have some\n combinatorial structure, and is the default of the Bliss library's command\n line tool.\n\n \\enumval IGRAPH_BLISS_F First non-singleton cell.\n \\enumval IGRAPH_BLISS_FL First largest non-singleton cell.\n \\enumval IGRAPH_BLISS_FS First smallest non-singleton cell.\n \\enumval IGRAPH_BLISS_FM First maximally non-trivially connected\n non-singleton cell.\n \\enumval IGRAPH_BLISS_FLM Largest maximally non-trivially connected\n non-singleton cell.\n \\enumval IGRAPH_BLISS_FSM Smallest maximally non-trivially\n connected non-singleton cell."]
16890pub type igraph_bliss_sh_t = ::std::os::raw::c_uint;
16891unsafe extern "C" {
16892 pub fn igraph_canonical_permutation_bliss(
16893 graph: *const igraph_t,
16894 colors: *const igraph_vector_int_t,
16895 labeling: *mut igraph_vector_int_t,
16896 sh: igraph_bliss_sh_t,
16897 info: *mut igraph_bliss_info_t,
16898 ) -> igraph_error_t;
16899}
16900unsafe extern "C" {
16901 pub fn igraph_isomorphic_bliss(
16902 graph1: *const igraph_t,
16903 graph2: *const igraph_t,
16904 colors1: *const igraph_vector_int_t,
16905 colors2: *const igraph_vector_int_t,
16906 iso: *mut igraph_bool_t,
16907 map12: *mut igraph_vector_int_t,
16908 map21: *mut igraph_vector_int_t,
16909 sh: igraph_bliss_sh_t,
16910 info1: *mut igraph_bliss_info_t,
16911 info2: *mut igraph_bliss_info_t,
16912 ) -> igraph_error_t;
16913}
16914unsafe extern "C" {
16915 pub fn igraph_count_automorphisms_bliss(
16916 graph: *const igraph_t,
16917 colors: *const igraph_vector_int_t,
16918 sh: igraph_bliss_sh_t,
16919 info: *mut igraph_bliss_info_t,
16920 ) -> igraph_error_t;
16921}
16922unsafe extern "C" {
16923 pub fn igraph_automorphism_group_bliss(
16924 graph: *const igraph_t,
16925 colors: *const igraph_vector_int_t,
16926 generators: *mut igraph_vector_int_list_t,
16927 sh: igraph_bliss_sh_t,
16928 info: *mut igraph_bliss_info_t,
16929 ) -> igraph_error_t;
16930}
16931unsafe extern "C" {
16932 pub fn igraph_isoclass(graph: *const igraph_t, isoclass: *mut igraph_int_t) -> igraph_error_t;
16933}
16934unsafe extern "C" {
16935 pub fn igraph_isoclass_subgraph(
16936 graph: *const igraph_t,
16937 vids: igraph_vs_t,
16938 isoclass: *mut igraph_int_t,
16939 ) -> igraph_error_t;
16940}
16941unsafe extern "C" {
16942 pub fn igraph_isoclass_create(
16943 graph: *mut igraph_t,
16944 size: igraph_int_t,
16945 number: igraph_int_t,
16946 directed: igraph_bool_t,
16947 ) -> igraph_error_t;
16948}
16949unsafe extern "C" {
16950 pub fn igraph_graph_count(
16951 n: igraph_int_t,
16952 directed: igraph_bool_t,
16953 count: *mut igraph_int_t,
16954 ) -> igraph_error_t;
16955}
16956unsafe extern "C" {
16957 pub fn igraph_full_bipartite(
16958 graph: *mut igraph_t,
16959 types: *mut igraph_vector_bool_t,
16960 n1: igraph_int_t,
16961 n2: igraph_int_t,
16962 directed: igraph_bool_t,
16963 mode: igraph_neimode_t,
16964 ) -> igraph_error_t;
16965}
16966unsafe extern "C" {
16967 pub fn igraph_create_bipartite(
16968 g: *mut igraph_t,
16969 types: *const igraph_vector_bool_t,
16970 edges: *const igraph_vector_int_t,
16971 directed: igraph_bool_t,
16972 ) -> igraph_error_t;
16973}
16974unsafe extern "C" {
16975 pub fn igraph_bipartite_projection_size(
16976 graph: *const igraph_t,
16977 types: *const igraph_vector_bool_t,
16978 vcount1: *mut igraph_int_t,
16979 ecount1: *mut igraph_int_t,
16980 vcount2: *mut igraph_int_t,
16981 ecount2: *mut igraph_int_t,
16982 ) -> igraph_error_t;
16983}
16984unsafe extern "C" {
16985 pub fn igraph_bipartite_projection(
16986 graph: *const igraph_t,
16987 types: *const igraph_vector_bool_t,
16988 proj1: *mut igraph_t,
16989 proj2: *mut igraph_t,
16990 multiplicity1: *mut igraph_vector_int_t,
16991 multiplicity2: *mut igraph_vector_int_t,
16992 probe1: igraph_int_t,
16993 ) -> igraph_error_t;
16994}
16995unsafe extern "C" {
16996 pub fn igraph_biadjacency(
16997 graph: *mut igraph_t,
16998 types: *mut igraph_vector_bool_t,
16999 biadjmatrix: *const igraph_matrix_t,
17000 directed: igraph_bool_t,
17001 mode: igraph_neimode_t,
17002 multiple: igraph_bool_t,
17003 ) -> igraph_error_t;
17004}
17005unsafe extern "C" {
17006 pub fn igraph_weighted_biadjacency(
17007 graph: *mut igraph_t,
17008 types: *mut igraph_vector_bool_t,
17009 weights: *mut igraph_vector_t,
17010 biadjmatrix: *const igraph_matrix_t,
17011 directed: igraph_bool_t,
17012 mode: igraph_neimode_t,
17013 ) -> igraph_error_t;
17014}
17015unsafe extern "C" {
17016 pub fn igraph_get_biadjacency(
17017 graph: *const igraph_t,
17018 types: *const igraph_vector_bool_t,
17019 weights: *const igraph_vector_t,
17020 res: *mut igraph_matrix_t,
17021 row_ids: *mut igraph_vector_int_t,
17022 col_ids: *mut igraph_vector_int_t,
17023 ) -> igraph_error_t;
17024}
17025unsafe extern "C" {
17026 pub fn igraph_is_bipartite(
17027 graph: *const igraph_t,
17028 res: *mut igraph_bool_t,
17029 types: *mut igraph_vector_bool_t,
17030 ) -> igraph_error_t;
17031}
17032unsafe extern "C" {
17033 pub fn igraph_bipartite_game_gnp(
17034 graph: *mut igraph_t,
17035 types: *mut igraph_vector_bool_t,
17036 n1: igraph_int_t,
17037 n2: igraph_int_t,
17038 p: igraph_real_t,
17039 directed: igraph_bool_t,
17040 mode: igraph_neimode_t,
17041 allowed_edge_types: igraph_edge_type_sw_t,
17042 edge_labeled: igraph_bool_t,
17043 ) -> igraph_error_t;
17044}
17045unsafe extern "C" {
17046 pub fn igraph_bipartite_game_gnm(
17047 graph: *mut igraph_t,
17048 types: *mut igraph_vector_bool_t,
17049 n1: igraph_int_t,
17050 n2: igraph_int_t,
17051 m: igraph_int_t,
17052 directed: igraph_bool_t,
17053 mode: igraph_neimode_t,
17054 allowed_edge_types: igraph_edge_type_sw_t,
17055 edge_labeled: igraph_bool_t,
17056 ) -> igraph_error_t;
17057}
17058unsafe extern "C" {
17059 pub fn igraph_bipartite_iea_game(
17060 graph: *mut igraph_t,
17061 types: *mut igraph_vector_bool_t,
17062 n1: igraph_int_t,
17063 n2: igraph_int_t,
17064 m: igraph_int_t,
17065 directed: igraph_bool_t,
17066 mode: igraph_neimode_t,
17067 ) -> igraph_error_t;
17068}
17069unsafe extern "C" {
17070 pub fn igraph_maximal_cliques(
17071 graph: *const igraph_t,
17072 res: *mut igraph_vector_int_list_t,
17073 min_size: igraph_int_t,
17074 max_size: igraph_int_t,
17075 max_results: igraph_int_t,
17076 ) -> igraph_error_t;
17077}
17078unsafe extern "C" {
17079 pub fn igraph_maximal_cliques_file(
17080 graph: *const igraph_t,
17081 outfile: *mut FILE,
17082 min_size: igraph_int_t,
17083 max_size: igraph_int_t,
17084 max_results: igraph_int_t,
17085 ) -> igraph_error_t;
17086}
17087unsafe extern "C" {
17088 pub fn igraph_maximal_cliques_count(
17089 graph: *const igraph_t,
17090 res: *mut igraph_int_t,
17091 min_size: igraph_int_t,
17092 max_size: igraph_int_t,
17093 ) -> igraph_error_t;
17094}
17095unsafe extern "C" {
17096 pub fn igraph_maximal_cliques_subset(
17097 graph: *const igraph_t,
17098 subset: *const igraph_vector_int_t,
17099 res: *mut igraph_vector_int_list_t,
17100 no: *mut igraph_int_t,
17101 outfile: *mut FILE,
17102 min_size: igraph_int_t,
17103 max_size: igraph_int_t,
17104 max_results: igraph_int_t,
17105 ) -> igraph_error_t;
17106}
17107unsafe extern "C" {
17108 pub fn igraph_maximal_cliques_hist(
17109 graph: *const igraph_t,
17110 hist: *mut igraph_vector_t,
17111 min_size: igraph_int_t,
17112 max_size: igraph_int_t,
17113 ) -> igraph_error_t;
17114}
17115unsafe extern "C" {
17116 pub fn igraph_cliques(
17117 graph: *const igraph_t,
17118 res: *mut igraph_vector_int_list_t,
17119 min_size: igraph_int_t,
17120 max_size: igraph_int_t,
17121 max_results: igraph_int_t,
17122 ) -> igraph_error_t;
17123}
17124unsafe extern "C" {
17125 pub fn igraph_clique_size_hist(
17126 graph: *const igraph_t,
17127 hist: *mut igraph_vector_t,
17128 min_size: igraph_int_t,
17129 max_size: igraph_int_t,
17130 ) -> igraph_error_t;
17131}
17132unsafe extern "C" {
17133 pub fn igraph_largest_cliques(
17134 graph: *const igraph_t,
17135 cliques: *mut igraph_vector_int_list_t,
17136 ) -> igraph_error_t;
17137}
17138unsafe extern "C" {
17139 pub fn igraph_clique_number(graph: *const igraph_t, no: *mut igraph_int_t) -> igraph_error_t;
17140}
17141unsafe extern "C" {
17142 pub fn igraph_weighted_cliques(
17143 graph: *const igraph_t,
17144 vertex_weights: *const igraph_vector_t,
17145 res: *mut igraph_vector_int_list_t,
17146 maximal: igraph_bool_t,
17147 min_weight: igraph_real_t,
17148 max_weight: igraph_real_t,
17149 max_results: igraph_int_t,
17150 ) -> igraph_error_t;
17151}
17152unsafe extern "C" {
17153 pub fn igraph_largest_weighted_cliques(
17154 graph: *const igraph_t,
17155 vertex_weights: *const igraph_vector_t,
17156 res: *mut igraph_vector_int_list_t,
17157 ) -> igraph_error_t;
17158}
17159unsafe extern "C" {
17160 pub fn igraph_weighted_clique_number(
17161 graph: *const igraph_t,
17162 vertex_weights: *const igraph_vector_t,
17163 res: *mut igraph_real_t,
17164 ) -> igraph_error_t;
17165}
17166unsafe extern "C" {
17167 pub fn igraph_independent_vertex_sets(
17168 graph: *const igraph_t,
17169 res: *mut igraph_vector_int_list_t,
17170 min_size: igraph_int_t,
17171 max_size: igraph_int_t,
17172 max_results: igraph_int_t,
17173 ) -> igraph_error_t;
17174}
17175unsafe extern "C" {
17176 pub fn igraph_largest_independent_vertex_sets(
17177 graph: *const igraph_t,
17178 res: *mut igraph_vector_int_list_t,
17179 ) -> igraph_error_t;
17180}
17181unsafe extern "C" {
17182 pub fn igraph_maximal_independent_vertex_sets(
17183 graph: *const igraph_t,
17184 res: *mut igraph_vector_int_list_t,
17185 min_size: igraph_int_t,
17186 max_size: igraph_int_t,
17187 max_results: igraph_int_t,
17188 ) -> igraph_error_t;
17189}
17190unsafe extern "C" {
17191 pub fn igraph_independence_number(
17192 graph: *const igraph_t,
17193 no: *mut igraph_int_t,
17194 ) -> igraph_error_t;
17195}
17196#[doc = " \\typedef igraph_clique_handler_t\n \\brief Type of clique handler functions.\n\n Callback type, called when a clique was found.\n\n See the details at the documentation of \\ref\n igraph_cliques_callback().\n\n \\param clique The current clique. The clique is owned by the clique search\n routine. You do not need to destroy or free it if you do not want to store\n it; however, if you want to hold on to it for a longer period of time, you\n need to make a copy of it on your own and store the copy itself.\n \\param arg This extra argument was passed to \\ref\n igraph_cliques_callback() when it was called.\n \\return Error code; \\c IGRAPH_SUCCESS to continue the search or\n \\c IGRAPH_STOP to stop the search without signaling an error."]
17197pub type igraph_clique_handler_t = ::std::option::Option<
17198 unsafe extern "C" fn(
17199 clique: *const igraph_vector_int_t,
17200 arg: *mut ::std::os::raw::c_void,
17201 ) -> igraph_error_t,
17202>;
17203unsafe extern "C" {
17204 pub fn igraph_cliques_callback(
17205 graph: *const igraph_t,
17206 min_size: igraph_int_t,
17207 max_size: igraph_int_t,
17208 cliquehandler_fn: igraph_clique_handler_t,
17209 arg: *mut ::std::os::raw::c_void,
17210 ) -> igraph_error_t;
17211}
17212unsafe extern "C" {
17213 pub fn igraph_maximal_cliques_callback(
17214 graph: *const igraph_t,
17215 min_size: igraph_int_t,
17216 max_size: igraph_int_t,
17217 cliquehandler_fn: igraph_clique_handler_t,
17218 arg: *mut ::std::os::raw::c_void,
17219 ) -> igraph_error_t;
17220}
17221unsafe extern "C" {
17222 #[doc = " \\section about_layouts\n\n <para>Layout generator functions (or at least most of them) try to place the\n vertices and edges of a graph on a 2D plane or in 3D space in a way\n which visually pleases the human eye.</para>\n\n <para>They take a graph object and a number of parameters as arguments\n and return an \\type igraph_matrix_t, in which each row gives the\n coordinates of a vertex.</para>"]
17223 pub fn igraph_layout_random(
17224 graph: *const igraph_t,
17225 res: *mut igraph_matrix_t,
17226 ) -> igraph_error_t;
17227}
17228unsafe extern "C" {
17229 pub fn igraph_layout_circle(
17230 graph: *const igraph_t,
17231 res: *mut igraph_matrix_t,
17232 order: igraph_vs_t,
17233 ) -> igraph_error_t;
17234}
17235unsafe extern "C" {
17236 pub fn igraph_layout_star(
17237 graph: *const igraph_t,
17238 res: *mut igraph_matrix_t,
17239 center: igraph_int_t,
17240 order: *const igraph_vector_int_t,
17241 ) -> igraph_error_t;
17242}
17243unsafe extern "C" {
17244 pub fn igraph_layout_grid(
17245 graph: *const igraph_t,
17246 res: *mut igraph_matrix_t,
17247 width: igraph_int_t,
17248 ) -> igraph_error_t;
17249}
17250unsafe extern "C" {
17251 pub fn igraph_layout_fruchterman_reingold(
17252 graph: *const igraph_t,
17253 res: *mut igraph_matrix_t,
17254 use_seed: igraph_bool_t,
17255 niter: igraph_int_t,
17256 start_temp: igraph_real_t,
17257 grid: igraph_layout_grid_t,
17258 weights: *const igraph_vector_t,
17259 minx: *const igraph_vector_t,
17260 maxx: *const igraph_vector_t,
17261 miny: *const igraph_vector_t,
17262 maxy: *const igraph_vector_t,
17263 ) -> igraph_error_t;
17264}
17265unsafe extern "C" {
17266 pub fn igraph_layout_kamada_kawai(
17267 graph: *const igraph_t,
17268 res: *mut igraph_matrix_t,
17269 use_seed: igraph_bool_t,
17270 maxiter: igraph_int_t,
17271 epsilon: igraph_real_t,
17272 kkconst: igraph_real_t,
17273 weights: *const igraph_vector_t,
17274 minx: *const igraph_vector_t,
17275 maxx: *const igraph_vector_t,
17276 miny: *const igraph_vector_t,
17277 maxy: *const igraph_vector_t,
17278 ) -> igraph_error_t;
17279}
17280unsafe extern "C" {
17281 pub fn igraph_layout_lgl(
17282 graph: *const igraph_t,
17283 res: *mut igraph_matrix_t,
17284 maxiter: igraph_int_t,
17285 maxdelta: igraph_real_t,
17286 area: igraph_real_t,
17287 coolexp: igraph_real_t,
17288 repulserad: igraph_real_t,
17289 cellsize: igraph_real_t,
17290 root: igraph_int_t,
17291 ) -> igraph_error_t;
17292}
17293unsafe extern "C" {
17294 pub fn igraph_layout_reingold_tilford(
17295 graph: *const igraph_t,
17296 res: *mut igraph_matrix_t,
17297 mode: igraph_neimode_t,
17298 roots: *const igraph_vector_int_t,
17299 rootlevel: *const igraph_vector_int_t,
17300 ) -> igraph_error_t;
17301}
17302unsafe extern "C" {
17303 pub fn igraph_layout_reingold_tilford_circular(
17304 graph: *const igraph_t,
17305 res: *mut igraph_matrix_t,
17306 mode: igraph_neimode_t,
17307 roots: *const igraph_vector_int_t,
17308 rootlevel: *const igraph_vector_int_t,
17309 ) -> igraph_error_t;
17310}
17311unsafe extern "C" {
17312 pub fn igraph_layout_sugiyama(
17313 graph: *const igraph_t,
17314 res: *mut igraph_matrix_t,
17315 routing: *mut igraph_matrix_list_t,
17316 layers: *const igraph_vector_int_t,
17317 hgap: igraph_real_t,
17318 vgap: igraph_real_t,
17319 maxiter: igraph_int_t,
17320 weights: *const igraph_vector_t,
17321 ) -> igraph_error_t;
17322}
17323unsafe extern "C" {
17324 pub fn igraph_layout_random_3d(
17325 graph: *const igraph_t,
17326 res: *mut igraph_matrix_t,
17327 ) -> igraph_error_t;
17328}
17329unsafe extern "C" {
17330 pub fn igraph_layout_sphere(
17331 graph: *const igraph_t,
17332 res: *mut igraph_matrix_t,
17333 ) -> igraph_error_t;
17334}
17335unsafe extern "C" {
17336 pub fn igraph_layout_grid_3d(
17337 graph: *const igraph_t,
17338 res: *mut igraph_matrix_t,
17339 width: igraph_int_t,
17340 height: igraph_int_t,
17341 ) -> igraph_error_t;
17342}
17343unsafe extern "C" {
17344 pub fn igraph_layout_fruchterman_reingold_3d(
17345 graph: *const igraph_t,
17346 res: *mut igraph_matrix_t,
17347 use_seed: igraph_bool_t,
17348 niter: igraph_int_t,
17349 start_temp: igraph_real_t,
17350 weights: *const igraph_vector_t,
17351 minx: *const igraph_vector_t,
17352 maxx: *const igraph_vector_t,
17353 miny: *const igraph_vector_t,
17354 maxy: *const igraph_vector_t,
17355 minz: *const igraph_vector_t,
17356 maxz: *const igraph_vector_t,
17357 ) -> igraph_error_t;
17358}
17359unsafe extern "C" {
17360 pub fn igraph_layout_kamada_kawai_3d(
17361 graph: *const igraph_t,
17362 res: *mut igraph_matrix_t,
17363 use_seed: igraph_bool_t,
17364 maxiter: igraph_int_t,
17365 epsilon: igraph_real_t,
17366 kkconst: igraph_real_t,
17367 weights: *const igraph_vector_t,
17368 minx: *const igraph_vector_t,
17369 maxx: *const igraph_vector_t,
17370 miny: *const igraph_vector_t,
17371 maxy: *const igraph_vector_t,
17372 minz: *const igraph_vector_t,
17373 maxz: *const igraph_vector_t,
17374 ) -> igraph_error_t;
17375}
17376unsafe extern "C" {
17377 pub fn igraph_layout_graphopt(
17378 graph: *const igraph_t,
17379 res: *mut igraph_matrix_t,
17380 niter: igraph_int_t,
17381 node_charge: igraph_real_t,
17382 node_mass: igraph_real_t,
17383 spring_length: igraph_real_t,
17384 spring_constant: igraph_real_t,
17385 max_sa_movement: igraph_real_t,
17386 use_seed: igraph_bool_t,
17387 ) -> igraph_error_t;
17388}
17389unsafe extern "C" {
17390 pub fn igraph_layout_mds(
17391 graph: *const igraph_t,
17392 res: *mut igraph_matrix_t,
17393 dist: *const igraph_matrix_t,
17394 dim: igraph_int_t,
17395 ) -> igraph_error_t;
17396}
17397unsafe extern "C" {
17398 pub fn igraph_layout_bipartite(
17399 graph: *const igraph_t,
17400 types: *const igraph_vector_bool_t,
17401 res: *mut igraph_matrix_t,
17402 hgap: igraph_real_t,
17403 vgap: igraph_real_t,
17404 maxiter: igraph_int_t,
17405 ) -> igraph_error_t;
17406}
17407unsafe extern "C" {
17408 pub fn igraph_layout_umap(
17409 graph: *const igraph_t,
17410 res: *mut igraph_matrix_t,
17411 use_seed: igraph_bool_t,
17412 distances: *const igraph_vector_t,
17413 min_dist: igraph_real_t,
17414 epochs: igraph_int_t,
17415 distances_are_weights: igraph_bool_t,
17416 ) -> igraph_error_t;
17417}
17418unsafe extern "C" {
17419 pub fn igraph_layout_umap_3d(
17420 graph: *const igraph_t,
17421 res: *mut igraph_matrix_t,
17422 use_seed: igraph_bool_t,
17423 distances: *const igraph_vector_t,
17424 min_dist: igraph_real_t,
17425 epochs: igraph_int_t,
17426 distances_are_weights: igraph_bool_t,
17427 ) -> igraph_error_t;
17428}
17429unsafe extern "C" {
17430 pub fn igraph_layout_umap_compute_weights(
17431 graph: *const igraph_t,
17432 distances: *const igraph_vector_t,
17433 weights: *mut igraph_vector_t,
17434 ) -> igraph_error_t;
17435}
17436#[doc = " \\struct igraph_layout_drl_options_t\n Parameters for the DrL layout generator\n\n \\member edge_cut The edge cutting parameter.\n Edge cutting is done in the late stages of the\n algorithm in order to achieve less dense layouts. Edges are cut\n if there is a lot of stress on them (a large value in the\n objective function sum). The edge cutting parameter is a value\n between 0 and 1 with 0 representing no edge cutting and 1\n representing maximal edge cutting. The default value is 32/40.\n \\member init_iterations Number of iterations, initial phase.\n \\member init_temperature Start temperature, initial phase.\n \\member init_attraction Attraction, initial phase.\n \\member init_damping_mult Damping factor, initial phase.\n \\member liquid_iterations Number of iterations in the liquid phase.\n \\member liquid_temperature Start temperature in the liquid phase.\n \\member liquid_attraction Attraction in the liquid phase.\n \\member liquid_damping_mult Multiplicatie damping factor, liquid phase.\n \\member expansion_iterations Number of iterations in the expansion phase.\n \\member expansion_temperature Start temperature in the expansion phase.\n \\member expansion_attraction Attraction, expansion phase.\n \\member expansion_damping_mult Damping factor, expansion phase.\n \\member cooldown_iterations Number of iterations in the cooldown phase.\n \\member cooldown_temperature Start temperature in the cooldown phase.\n \\member cooldown_attraction Attraction in the cooldown phase.\n \\member cooldown_damping_mult Damping fact int the cooldown phase.\n \\member crunch_iterations Number of iterations in the crunch phase.\n \\member crunch_temperature Start temperature in the crunch phase.\n \\member crunch_attraction Attraction in the crunch phase.\n \\member crunch_damping_mult Damping factor in the crunch phase.\n \\member simmer_iterations Number of iterations in the simmer phase.\n \\member simmer_temperature Start temperature in te simmer phase.\n \\member simmer_attraction Attraction in the simmer phase.\n \\member simmer_damping_mult Multiplicative damping factor in the simmer phase."]
17437#[repr(C)]
17438#[derive(Debug, Copy, Clone)]
17439pub struct igraph_layout_drl_options_t {
17440 pub edge_cut: igraph_real_t,
17441 pub init_iterations: igraph_int_t,
17442 pub init_temperature: igraph_real_t,
17443 pub init_attraction: igraph_real_t,
17444 pub init_damping_mult: igraph_real_t,
17445 pub liquid_iterations: igraph_int_t,
17446 pub liquid_temperature: igraph_real_t,
17447 pub liquid_attraction: igraph_real_t,
17448 pub liquid_damping_mult: igraph_real_t,
17449 pub expansion_iterations: igraph_int_t,
17450 pub expansion_temperature: igraph_real_t,
17451 pub expansion_attraction: igraph_real_t,
17452 pub expansion_damping_mult: igraph_real_t,
17453 pub cooldown_iterations: igraph_int_t,
17454 pub cooldown_temperature: igraph_real_t,
17455 pub cooldown_attraction: igraph_real_t,
17456 pub cooldown_damping_mult: igraph_real_t,
17457 pub crunch_iterations: igraph_int_t,
17458 pub crunch_temperature: igraph_real_t,
17459 pub crunch_attraction: igraph_real_t,
17460 pub crunch_damping_mult: igraph_real_t,
17461 pub simmer_iterations: igraph_int_t,
17462 pub simmer_temperature: igraph_real_t,
17463 pub simmer_attraction: igraph_real_t,
17464 pub simmer_damping_mult: igraph_real_t,
17465}
17466#[allow(clippy::unnecessary_operation, clippy::identity_op)]
17467const _: () = {
17468 ["Size of igraph_layout_drl_options_t"]
17469 [::std::mem::size_of::<igraph_layout_drl_options_t>() - 200usize];
17470 ["Alignment of igraph_layout_drl_options_t"]
17471 [::std::mem::align_of::<igraph_layout_drl_options_t>() - 8usize];
17472 ["Offset of field: igraph_layout_drl_options_t::edge_cut"]
17473 [::std::mem::offset_of!(igraph_layout_drl_options_t, edge_cut) - 0usize];
17474 ["Offset of field: igraph_layout_drl_options_t::init_iterations"]
17475 [::std::mem::offset_of!(igraph_layout_drl_options_t, init_iterations) - 8usize];
17476 ["Offset of field: igraph_layout_drl_options_t::init_temperature"]
17477 [::std::mem::offset_of!(igraph_layout_drl_options_t, init_temperature) - 16usize];
17478 ["Offset of field: igraph_layout_drl_options_t::init_attraction"]
17479 [::std::mem::offset_of!(igraph_layout_drl_options_t, init_attraction) - 24usize];
17480 ["Offset of field: igraph_layout_drl_options_t::init_damping_mult"]
17481 [::std::mem::offset_of!(igraph_layout_drl_options_t, init_damping_mult) - 32usize];
17482 ["Offset of field: igraph_layout_drl_options_t::liquid_iterations"]
17483 [::std::mem::offset_of!(igraph_layout_drl_options_t, liquid_iterations) - 40usize];
17484 ["Offset of field: igraph_layout_drl_options_t::liquid_temperature"]
17485 [::std::mem::offset_of!(igraph_layout_drl_options_t, liquid_temperature) - 48usize];
17486 ["Offset of field: igraph_layout_drl_options_t::liquid_attraction"]
17487 [::std::mem::offset_of!(igraph_layout_drl_options_t, liquid_attraction) - 56usize];
17488 ["Offset of field: igraph_layout_drl_options_t::liquid_damping_mult"]
17489 [::std::mem::offset_of!(igraph_layout_drl_options_t, liquid_damping_mult) - 64usize];
17490 ["Offset of field: igraph_layout_drl_options_t::expansion_iterations"]
17491 [::std::mem::offset_of!(igraph_layout_drl_options_t, expansion_iterations) - 72usize];
17492 ["Offset of field: igraph_layout_drl_options_t::expansion_temperature"]
17493 [::std::mem::offset_of!(igraph_layout_drl_options_t, expansion_temperature) - 80usize];
17494 ["Offset of field: igraph_layout_drl_options_t::expansion_attraction"]
17495 [::std::mem::offset_of!(igraph_layout_drl_options_t, expansion_attraction) - 88usize];
17496 ["Offset of field: igraph_layout_drl_options_t::expansion_damping_mult"]
17497 [::std::mem::offset_of!(igraph_layout_drl_options_t, expansion_damping_mult) - 96usize];
17498 ["Offset of field: igraph_layout_drl_options_t::cooldown_iterations"]
17499 [::std::mem::offset_of!(igraph_layout_drl_options_t, cooldown_iterations) - 104usize];
17500 ["Offset of field: igraph_layout_drl_options_t::cooldown_temperature"]
17501 [::std::mem::offset_of!(igraph_layout_drl_options_t, cooldown_temperature) - 112usize];
17502 ["Offset of field: igraph_layout_drl_options_t::cooldown_attraction"]
17503 [::std::mem::offset_of!(igraph_layout_drl_options_t, cooldown_attraction) - 120usize];
17504 ["Offset of field: igraph_layout_drl_options_t::cooldown_damping_mult"]
17505 [::std::mem::offset_of!(igraph_layout_drl_options_t, cooldown_damping_mult) - 128usize];
17506 ["Offset of field: igraph_layout_drl_options_t::crunch_iterations"]
17507 [::std::mem::offset_of!(igraph_layout_drl_options_t, crunch_iterations) - 136usize];
17508 ["Offset of field: igraph_layout_drl_options_t::crunch_temperature"]
17509 [::std::mem::offset_of!(igraph_layout_drl_options_t, crunch_temperature) - 144usize];
17510 ["Offset of field: igraph_layout_drl_options_t::crunch_attraction"]
17511 [::std::mem::offset_of!(igraph_layout_drl_options_t, crunch_attraction) - 152usize];
17512 ["Offset of field: igraph_layout_drl_options_t::crunch_damping_mult"]
17513 [::std::mem::offset_of!(igraph_layout_drl_options_t, crunch_damping_mult) - 160usize];
17514 ["Offset of field: igraph_layout_drl_options_t::simmer_iterations"]
17515 [::std::mem::offset_of!(igraph_layout_drl_options_t, simmer_iterations) - 168usize];
17516 ["Offset of field: igraph_layout_drl_options_t::simmer_temperature"]
17517 [::std::mem::offset_of!(igraph_layout_drl_options_t, simmer_temperature) - 176usize];
17518 ["Offset of field: igraph_layout_drl_options_t::simmer_attraction"]
17519 [::std::mem::offset_of!(igraph_layout_drl_options_t, simmer_attraction) - 184usize];
17520 ["Offset of field: igraph_layout_drl_options_t::simmer_damping_mult"]
17521 [::std::mem::offset_of!(igraph_layout_drl_options_t, simmer_damping_mult) - 192usize];
17522};
17523pub const igraph_layout_drl_default_t_IGRAPH_LAYOUT_DRL_DEFAULT: igraph_layout_drl_default_t = 0;
17524pub const igraph_layout_drl_default_t_IGRAPH_LAYOUT_DRL_COARSEN: igraph_layout_drl_default_t = 1;
17525pub const igraph_layout_drl_default_t_IGRAPH_LAYOUT_DRL_COARSEST: igraph_layout_drl_default_t = 2;
17526pub const igraph_layout_drl_default_t_IGRAPH_LAYOUT_DRL_REFINE: igraph_layout_drl_default_t = 3;
17527pub const igraph_layout_drl_default_t_IGRAPH_LAYOUT_DRL_FINAL: igraph_layout_drl_default_t = 4;
17528#[doc = " \\typedef igraph_layout_drl_default_t\n Predefined parameter templates for the DrL layout generator\n\n These constants can be used to initialize a set of DrL parameters.\n These can then be modified according to the user's needs.\n \\enumval IGRAPH_LAYOUT_DRL_DEFAULT The deafult parameters.\n \\enumval IGRAPH_LAYOUT_DRL_COARSEN Slightly modified parameters to\n get a coarser layout.\n \\enumval IGRAPH_LAYOUT_DRL_COARSEST An even coarser layout.\n \\enumval IGRAPH_LAYOUT_DRL_REFINE Refine an already calculated layout.\n \\enumval IGRAPH_LAYOUT_DRL_FINAL Finalize an already refined layout."]
17529pub type igraph_layout_drl_default_t = ::std::os::raw::c_uint;
17530unsafe extern "C" {
17531 pub fn igraph_layout_drl_options_init(
17532 options: *mut igraph_layout_drl_options_t,
17533 templ: igraph_layout_drl_default_t,
17534 ) -> igraph_error_t;
17535}
17536unsafe extern "C" {
17537 pub fn igraph_layout_drl(
17538 graph: *const igraph_t,
17539 res: *mut igraph_matrix_t,
17540 use_seed: igraph_bool_t,
17541 options: *const igraph_layout_drl_options_t,
17542 weights: *const igraph_vector_t,
17543 ) -> igraph_error_t;
17544}
17545unsafe extern "C" {
17546 pub fn igraph_layout_drl_3d(
17547 graph: *const igraph_t,
17548 res: *mut igraph_matrix_t,
17549 use_seed: igraph_bool_t,
17550 options: *const igraph_layout_drl_options_t,
17551 weights: *const igraph_vector_t,
17552 ) -> igraph_error_t;
17553}
17554unsafe extern "C" {
17555 pub fn igraph_layout_merge_dla(
17556 graphs: *const igraph_vector_ptr_t,
17557 coords: *const igraph_matrix_list_t,
17558 res: *mut igraph_matrix_t,
17559 ) -> igraph_error_t;
17560}
17561unsafe extern "C" {
17562 pub fn igraph_layout_gem(
17563 graph: *const igraph_t,
17564 res: *mut igraph_matrix_t,
17565 use_seed: igraph_bool_t,
17566 maxiter: igraph_int_t,
17567 temp_max: igraph_real_t,
17568 temp_min: igraph_real_t,
17569 temp_init: igraph_real_t,
17570 ) -> igraph_error_t;
17571}
17572unsafe extern "C" {
17573 pub fn igraph_layout_davidson_harel(
17574 graph: *const igraph_t,
17575 res: *mut igraph_matrix_t,
17576 use_seed: igraph_bool_t,
17577 maxiter: igraph_int_t,
17578 fineiter: igraph_int_t,
17579 cool_fact: igraph_real_t,
17580 weight_node_dist: igraph_real_t,
17581 weight_border: igraph_real_t,
17582 weight_edge_lengths: igraph_real_t,
17583 weight_edge_crossings: igraph_real_t,
17584 weight_node_edge_dist: igraph_real_t,
17585 ) -> igraph_error_t;
17586}
17587pub const igraph_root_choice_t_IGRAPH_ROOT_CHOICE_DEGREE: igraph_root_choice_t = 0;
17588pub const igraph_root_choice_t_IGRAPH_ROOT_CHOICE_ECCENTRICITY: igraph_root_choice_t = 1;
17589#[doc = " \\typedef igraph_root_choice_t\n \\brief Root choice heuristic for tree visualizations.\n\n Used with \\ref igraph_roots_for_tree_layout()."]
17590pub type igraph_root_choice_t = ::std::os::raw::c_uint;
17591unsafe extern "C" {
17592 pub fn igraph_roots_for_tree_layout(
17593 graph: *const igraph_t,
17594 mode: igraph_neimode_t,
17595 roots: *mut igraph_vector_int_t,
17596 use_eccentricity: igraph_root_choice_t,
17597 ) -> igraph_error_t;
17598}
17599unsafe extern "C" {
17600 pub fn igraph_layout_align(
17601 graph: *const igraph_t,
17602 layout: *mut igraph_matrix_t,
17603 ) -> igraph_error_t;
17604}
17605#[doc = " \\typedef igraph_bfshandler_t\n \\brief Callback type for BFS function.\n\n \\ref igraph_bfs() is able to call a callback function, whenever a\n new vertex is found, while doing the breadth-first search. This\n callback function must be of type \\c igraph_bfshandler_t. It has\n the following arguments:\n\n \\param graph The graph that the algorithm is working on. Of course\n this must not be modified.\n \\param vid The id of the vertex just found by the breadth-first\n search.\n \\param pred The id of the previous vertex visited. It is -1 if\n there is no previous vertex, because the current vertex is the root\n is a search tree.\n \\param succ The id of the next vertex that will be visited. It is\n -1 if there is no next vertex, because the current vertex is the\n last one in a search tree.\n \\param rank The rank of the current vertex, it starts with zero.\n \\param dist The distance (number of hops) of the current vertex\n from the root of the current search tree.\n \\param extra The extra argument that was passed to \\ref\n igraph_bfs().\n \\return \\c IGRAPH_SUCCESS if the BFS should continue, \\c IGRAPH_STOP\n if the BFS should stop and return to the caller normally. Any other\n value is treated as an igraph error code, terminating the search and\n returning to the caller with the same error code. If a BFS is\n is terminated prematurely, then all elements of the result vectors\n that were not yet calculated at the point of the termination\n contain negative values.\n\n \\sa \\ref igraph_bfs()"]
17606pub type igraph_bfshandler_t = ::std::option::Option<
17607 unsafe extern "C" fn(
17608 graph: *const igraph_t,
17609 vid: igraph_int_t,
17610 pred: igraph_int_t,
17611 succ: igraph_int_t,
17612 rank: igraph_int_t,
17613 dist: igraph_int_t,
17614 extra: *mut ::std::os::raw::c_void,
17615 ) -> igraph_error_t,
17616>;
17617unsafe extern "C" {
17618 pub fn igraph_bfs(
17619 graph: *const igraph_t,
17620 root: igraph_int_t,
17621 roots: *const igraph_vector_int_t,
17622 mode: igraph_neimode_t,
17623 unreachable: igraph_bool_t,
17624 restricted: *const igraph_vector_int_t,
17625 order: *mut igraph_vector_int_t,
17626 rank: *mut igraph_vector_int_t,
17627 parents: *mut igraph_vector_int_t,
17628 pred: *mut igraph_vector_int_t,
17629 succ: *mut igraph_vector_int_t,
17630 dist: *mut igraph_vector_int_t,
17631 callback: igraph_bfshandler_t,
17632 extra: *mut ::std::os::raw::c_void,
17633 ) -> igraph_error_t;
17634}
17635unsafe extern "C" {
17636 pub fn igraph_bfs_simple(
17637 graph: *const igraph_t,
17638 root: igraph_int_t,
17639 mode: igraph_neimode_t,
17640 order: *mut igraph_vector_int_t,
17641 layers: *mut igraph_vector_int_t,
17642 parents: *mut igraph_vector_int_t,
17643 ) -> igraph_error_t;
17644}
17645#[doc = " \\function igraph_dfshandler_t\n \\brief Callback type for the DFS function.\n\n \\ref igraph_dfs() is able to call a callback function, whenever a\n new vertex is discovered, and/or whenever a subtree is\n completed. These callbacks must be of type \\c\n igraph_dfshandler_t. They have the following arguments:\n\n \\param graph The graph that the algorithm is working on. Of course\n this must not be modified.\n \\param vid The id of the vertex just found by the depth-first\n search.\n \\param dist The distance (number of hops) of the current vertex\n from the root of the current search tree.\n \\param extra The extra argument that was passed to \\ref\n igraph_dfs().\n \\return \\c IGRAPH_SUCCESS if the DFS should continue, \\c IGRAPH_STOP\n if the DFS should stop and return to the caller normally. Any other\n value is treated as an igraph error code, terminating the search and\n returning to the caller with the same error code. If a DFS is\n is terminated prematurely, then all elements of the result vectors\n that were not yet calculated at the point of the termination\n contain negative values.\n\n \\sa \\ref igraph_dfs()"]
17646pub type igraph_dfshandler_t = ::std::option::Option<
17647 unsafe extern "C" fn(
17648 graph: *const igraph_t,
17649 vid: igraph_int_t,
17650 dist: igraph_int_t,
17651 extra: *mut ::std::os::raw::c_void,
17652 ) -> igraph_error_t,
17653>;
17654unsafe extern "C" {
17655 pub fn igraph_dfs(
17656 graph: *const igraph_t,
17657 root: igraph_int_t,
17658 mode: igraph_neimode_t,
17659 unreachable: igraph_bool_t,
17660 order: *mut igraph_vector_int_t,
17661 order_out: *mut igraph_vector_int_t,
17662 parents: *mut igraph_vector_int_t,
17663 dist: *mut igraph_vector_int_t,
17664 in_callback: igraph_dfshandler_t,
17665 out_callback: igraph_dfshandler_t,
17666 extra: *mut ::std::os::raw::c_void,
17667 ) -> igraph_error_t;
17668}
17669unsafe extern "C" {
17670 pub fn igraph_coreness(
17671 graph: *const igraph_t,
17672 cores: *mut igraph_vector_int_t,
17673 mode: igraph_neimode_t,
17674 ) -> igraph_error_t;
17675}
17676unsafe extern "C" {
17677 pub fn igraph_trussness(
17678 graph: *const igraph_t,
17679 trussness: *mut igraph_vector_int_t,
17680 ) -> igraph_error_t;
17681}
17682unsafe extern "C" {
17683 pub fn igraph_community_optimal_modularity(
17684 graph: *const igraph_t,
17685 weights: *const igraph_vector_t,
17686 resolution: igraph_real_t,
17687 modularity: *mut igraph_real_t,
17688 membership: *mut igraph_vector_int_t,
17689 ) -> igraph_error_t;
17690}
17691unsafe extern "C" {
17692 pub fn igraph_community_spinglass(
17693 graph: *const igraph_t,
17694 weights: *const igraph_vector_t,
17695 modularity: *mut igraph_real_t,
17696 temperature: *mut igraph_real_t,
17697 membership: *mut igraph_vector_int_t,
17698 csize: *mut igraph_vector_int_t,
17699 spins: igraph_int_t,
17700 parupdate: igraph_bool_t,
17701 starttemp: igraph_real_t,
17702 stoptemp: igraph_real_t,
17703 coolfact: igraph_real_t,
17704 update_rule: igraph_spincomm_update_t,
17705 gamma: igraph_real_t,
17706 implementation: igraph_spinglass_implementation_t,
17707 gamma_minus: igraph_real_t,
17708 ) -> igraph_error_t;
17709}
17710unsafe extern "C" {
17711 pub fn igraph_community_spinglass_single(
17712 graph: *const igraph_t,
17713 weights: *const igraph_vector_t,
17714 vertex: igraph_int_t,
17715 community: *mut igraph_vector_int_t,
17716 cohesion: *mut igraph_real_t,
17717 adhesion: *mut igraph_real_t,
17718 inner_links: *mut igraph_real_t,
17719 outer_links: *mut igraph_real_t,
17720 spins: igraph_int_t,
17721 update_rule: igraph_spincomm_update_t,
17722 gamma: igraph_real_t,
17723 ) -> igraph_error_t;
17724}
17725unsafe extern "C" {
17726 pub fn igraph_community_walktrap(
17727 graph: *const igraph_t,
17728 weights: *const igraph_vector_t,
17729 steps: igraph_int_t,
17730 merges: *mut igraph_matrix_int_t,
17731 modularity: *mut igraph_vector_t,
17732 membership: *mut igraph_vector_int_t,
17733 ) -> igraph_error_t;
17734}
17735unsafe extern "C" {
17736 pub fn igraph_community_infomap(
17737 graph: *const igraph_t,
17738 edge_weights: *const igraph_vector_t,
17739 vertex_weights: *const igraph_vector_t,
17740 nb_trials: igraph_int_t,
17741 is_regularized: igraph_bool_t,
17742 regularization_strength: igraph_real_t,
17743 membership: *mut igraph_vector_int_t,
17744 codelength: *mut igraph_real_t,
17745 ) -> igraph_error_t;
17746}
17747unsafe extern "C" {
17748 pub fn igraph_community_edge_betweenness(
17749 graph: *const igraph_t,
17750 removed_edges: *mut igraph_vector_int_t,
17751 edge_betweenness: *mut igraph_vector_t,
17752 merges: *mut igraph_matrix_int_t,
17753 bridges: *mut igraph_vector_int_t,
17754 modularity: *mut igraph_vector_t,
17755 membership: *mut igraph_vector_int_t,
17756 directed: igraph_bool_t,
17757 weights: *const igraph_vector_t,
17758 lengths: *const igraph_vector_t,
17759 ) -> igraph_error_t;
17760}
17761unsafe extern "C" {
17762 pub fn igraph_community_eb_get_merges(
17763 graph: *const igraph_t,
17764 directed: igraph_bool_t,
17765 edges: *const igraph_vector_int_t,
17766 weights: *const igraph_vector_t,
17767 merges: *mut igraph_matrix_int_t,
17768 bridges: *mut igraph_vector_int_t,
17769 modularity: *mut igraph_vector_t,
17770 membership: *mut igraph_vector_int_t,
17771 ) -> igraph_error_t;
17772}
17773unsafe extern "C" {
17774 pub fn igraph_community_fastgreedy(
17775 graph: *const igraph_t,
17776 weights: *const igraph_vector_t,
17777 merges: *mut igraph_matrix_int_t,
17778 modularity: *mut igraph_vector_t,
17779 membership: *mut igraph_vector_int_t,
17780 ) -> igraph_error_t;
17781}
17782unsafe extern "C" {
17783 pub fn igraph_community_to_membership(
17784 merges: *const igraph_matrix_int_t,
17785 nodes: igraph_int_t,
17786 steps: igraph_int_t,
17787 membership: *mut igraph_vector_int_t,
17788 csize: *mut igraph_vector_int_t,
17789 ) -> igraph_error_t;
17790}
17791unsafe extern "C" {
17792 pub fn igraph_le_community_to_membership(
17793 merges: *const igraph_matrix_int_t,
17794 steps: igraph_int_t,
17795 membership: *mut igraph_vector_int_t,
17796 csize: *mut igraph_vector_int_t,
17797 ) -> igraph_error_t;
17798}
17799unsafe extern "C" {
17800 pub fn igraph_community_voronoi(
17801 graph: *const igraph_t,
17802 membership: *mut igraph_vector_int_t,
17803 generators: *mut igraph_vector_int_t,
17804 modularity: *mut igraph_real_t,
17805 lengths: *const igraph_vector_t,
17806 weights: *const igraph_vector_t,
17807 mode: igraph_neimode_t,
17808 r: igraph_real_t,
17809 ) -> igraph_error_t;
17810}
17811unsafe extern "C" {
17812 pub fn igraph_modularity(
17813 graph: *const igraph_t,
17814 membership: *const igraph_vector_int_t,
17815 weights: *const igraph_vector_t,
17816 resolution: igraph_real_t,
17817 directed: igraph_bool_t,
17818 modularity: *mut igraph_real_t,
17819 ) -> igraph_error_t;
17820}
17821unsafe extern "C" {
17822 pub fn igraph_modularity_matrix(
17823 graph: *const igraph_t,
17824 weights: *const igraph_vector_t,
17825 resolution: igraph_real_t,
17826 modmat: *mut igraph_matrix_t,
17827 directed: igraph_bool_t,
17828 ) -> igraph_error_t;
17829}
17830unsafe extern "C" {
17831 pub fn igraph_reindex_membership(
17832 membership: *mut igraph_vector_int_t,
17833 new_to_old: *mut igraph_vector_int_t,
17834 nb_clusters: *mut igraph_int_t,
17835 ) -> igraph_error_t;
17836}
17837pub const igraph_leading_eigenvector_community_history_t_IGRAPH_LEVC_HIST_SPLIT:
17838 igraph_leading_eigenvector_community_history_t = 1;
17839pub const igraph_leading_eigenvector_community_history_t_IGRAPH_LEVC_HIST_FAILED:
17840 igraph_leading_eigenvector_community_history_t = 2;
17841pub const igraph_leading_eigenvector_community_history_t_IGRAPH_LEVC_HIST_START_FULL:
17842 igraph_leading_eigenvector_community_history_t = 3;
17843pub const igraph_leading_eigenvector_community_history_t_IGRAPH_LEVC_HIST_START_GIVEN:
17844 igraph_leading_eigenvector_community_history_t = 4;
17845pub type igraph_leading_eigenvector_community_history_t = ::std::os::raw::c_uint;
17846#[doc = " \\typedef igraph_community_leading_eigenvector_callback_t\n Callback for the leading eigenvector community finding method.\n\n The leading eigenvector community finding implementation in igraph\n is able to call a callback function, after each eigenvalue\n calculation. This callback function must be of \\c\n igraph_community_leading_eigenvector_callback_t type.\n The following arguments are passed to the callback:\n \\param membership The actual membership vector, before recording\n the potential change implied by the newly found eigenvalue.\n \\param comm The id of the community that the algorithm tried to\n split in the last iteration. The community IDs are indexed from\n zero here!\n \\param eigenvalue The eigenvalue the algorithm has just found.\n \\param eigenvector The eigenvector corresponding to the eigenvalue\n the algorithm just found.\n \\param arpack_multiplier A function that was passed to \\ref\n igraph_arpack_rssolve() to solve the last eigenproblem.\n \\param arpack_extra The extra argument that was passed to the\n ARPACK solver.\n \\param extra Extra argument that as passed to \\ref\n igraph_community_leading_eigenvector().\n\n \\sa \\ref igraph_community_leading_eigenvector(), \\ref\n igraph_arpack_function_t, \\ref igraph_arpack_rssolve()."]
17847pub type igraph_community_leading_eigenvector_callback_t = ::std::option::Option<
17848 unsafe extern "C" fn(
17849 membership: *const igraph_vector_int_t,
17850 comm: igraph_int_t,
17851 eigenvalue: igraph_real_t,
17852 eigenvector: *const igraph_vector_t,
17853 arpack_multiplier: igraph_arpack_function_t,
17854 arpack_extra: *mut ::std::os::raw::c_void,
17855 extra: *mut ::std::os::raw::c_void,
17856 ) -> igraph_error_t,
17857>;
17858unsafe extern "C" {
17859 pub fn igraph_community_leading_eigenvector(
17860 graph: *const igraph_t,
17861 weights: *const igraph_vector_t,
17862 merges: *mut igraph_matrix_int_t,
17863 membership: *mut igraph_vector_int_t,
17864 steps: igraph_int_t,
17865 options: *mut igraph_arpack_options_t,
17866 modularity: *mut igraph_real_t,
17867 start: igraph_bool_t,
17868 eigenvalues: *mut igraph_vector_t,
17869 eigenvectors: *mut igraph_vector_list_t,
17870 history: *mut igraph_vector_int_t,
17871 callback: igraph_community_leading_eigenvector_callback_t,
17872 callback_extra: *mut ::std::os::raw::c_void,
17873 ) -> igraph_error_t;
17874}
17875unsafe extern "C" {
17876 pub fn igraph_community_fluid_communities(
17877 graph: *const igraph_t,
17878 no_of_communities: igraph_int_t,
17879 membership: *mut igraph_vector_int_t,
17880 ) -> igraph_error_t;
17881}
17882unsafe extern "C" {
17883 pub fn igraph_community_label_propagation(
17884 graph: *const igraph_t,
17885 membership: *mut igraph_vector_int_t,
17886 mode: igraph_neimode_t,
17887 weights: *const igraph_vector_t,
17888 initial: *const igraph_vector_int_t,
17889 fixed: *const igraph_vector_bool_t,
17890 variant: igraph_lpa_variant_t,
17891 ) -> igraph_error_t;
17892}
17893unsafe extern "C" {
17894 pub fn igraph_community_multilevel(
17895 graph: *const igraph_t,
17896 weights: *const igraph_vector_t,
17897 resolution: igraph_real_t,
17898 membership: *mut igraph_vector_int_t,
17899 memberships: *mut igraph_matrix_int_t,
17900 modularity: *mut igraph_vector_t,
17901 ) -> igraph_error_t;
17902}
17903pub const igraph_leiden_objective_t_IGRAPH_LEIDEN_OBJECTIVE_MODULARITY: igraph_leiden_objective_t =
17904 0;
17905pub const igraph_leiden_objective_t_IGRAPH_LEIDEN_OBJECTIVE_CPM: igraph_leiden_objective_t = 1;
17906pub const igraph_leiden_objective_t_IGRAPH_LEIDEN_OBJECTIVE_ER: igraph_leiden_objective_t = 2;
17907pub type igraph_leiden_objective_t = ::std::os::raw::c_uint;
17908unsafe extern "C" {
17909 pub fn igraph_community_leiden(
17910 graph: *const igraph_t,
17911 edge_weights: *const igraph_vector_t,
17912 vertex_out_weights: *const igraph_vector_t,
17913 vertex_in_weights: *const igraph_vector_t,
17914 resolution: igraph_real_t,
17915 beta: igraph_real_t,
17916 start: igraph_bool_t,
17917 n_iterations: igraph_int_t,
17918 membership: *mut igraph_vector_int_t,
17919 nb_clusters: *mut igraph_int_t,
17920 quality: *mut igraph_real_t,
17921 ) -> igraph_error_t;
17922}
17923unsafe extern "C" {
17924 pub fn igraph_community_leiden_simple(
17925 graph: *const igraph_t,
17926 weights: *const igraph_vector_t,
17927 objective: igraph_leiden_objective_t,
17928 resolution: igraph_real_t,
17929 beta: igraph_real_t,
17930 start: igraph_bool_t,
17931 n_iterations: igraph_int_t,
17932 membership: *mut igraph_vector_int_t,
17933 nb_clusters: *mut igraph_int_t,
17934 quality: *mut igraph_real_t,
17935 ) -> igraph_error_t;
17936}
17937unsafe extern "C" {
17938 pub fn igraph_compare_communities(
17939 comm1: *const igraph_vector_int_t,
17940 comm2: *const igraph_vector_int_t,
17941 result: *mut igraph_real_t,
17942 method: igraph_community_comparison_t,
17943 ) -> igraph_error_t;
17944}
17945unsafe extern "C" {
17946 pub fn igraph_split_join_distance(
17947 comm1: *const igraph_vector_int_t,
17948 comm2: *const igraph_vector_int_t,
17949 distance12: *mut igraph_int_t,
17950 distance21: *mut igraph_int_t,
17951 ) -> igraph_error_t;
17952}
17953unsafe extern "C" {
17954 pub fn igraph_get_adjacency(
17955 graph: *const igraph_t,
17956 res: *mut igraph_matrix_t,
17957 type_: igraph_get_adjacency_t,
17958 weights: *const igraph_vector_t,
17959 loops: igraph_loops_t,
17960 ) -> igraph_error_t;
17961}
17962unsafe extern "C" {
17963 pub fn igraph_get_adjacency_sparse(
17964 graph: *const igraph_t,
17965 res: *mut igraph_sparsemat_t,
17966 type_: igraph_get_adjacency_t,
17967 weights: *const igraph_vector_t,
17968 loops: igraph_loops_t,
17969 ) -> igraph_error_t;
17970}
17971unsafe extern "C" {
17972 pub fn igraph_get_stochastic(
17973 graph: *const igraph_t,
17974 matrix: *mut igraph_matrix_t,
17975 column_wise: igraph_bool_t,
17976 weights: *const igraph_vector_t,
17977 ) -> igraph_error_t;
17978}
17979unsafe extern "C" {
17980 pub fn igraph_get_stochastic_sparse(
17981 graph: *const igraph_t,
17982 res: *mut igraph_sparsemat_t,
17983 column_wise: igraph_bool_t,
17984 weights: *const igraph_vector_t,
17985 ) -> igraph_error_t;
17986}
17987unsafe extern "C" {
17988 pub fn igraph_get_edgelist(
17989 graph: *const igraph_t,
17990 res: *mut igraph_vector_int_t,
17991 bycol: igraph_bool_t,
17992 ) -> igraph_error_t;
17993}
17994unsafe extern "C" {
17995 pub fn igraph_to_directed(graph: *mut igraph_t, flags: igraph_to_directed_t) -> igraph_error_t;
17996}
17997unsafe extern "C" {
17998 pub fn igraph_to_undirected(
17999 graph: *mut igraph_t,
18000 mode: igraph_to_undirected_t,
18001 edge_comb: *const igraph_attribute_combination_t,
18002 ) -> igraph_error_t;
18003}
18004unsafe extern "C" {
18005 pub fn igraph_to_prufer(
18006 graph: *const igraph_t,
18007 prufer: *mut igraph_vector_int_t,
18008 ) -> igraph_error_t;
18009}
18010unsafe extern "C" {
18011 pub fn igraph_read_graph_edgelist(
18012 graph: *mut igraph_t,
18013 instream: *mut FILE,
18014 n: igraph_int_t,
18015 directed: igraph_bool_t,
18016 ) -> igraph_error_t;
18017}
18018unsafe extern "C" {
18019 pub fn igraph_read_graph_ncol(
18020 graph: *mut igraph_t,
18021 instream: *mut FILE,
18022 predefnames: *const igraph_strvector_t,
18023 names: igraph_bool_t,
18024 weights: igraph_add_weights_t,
18025 directed: igraph_bool_t,
18026 ) -> igraph_error_t;
18027}
18028unsafe extern "C" {
18029 pub fn igraph_read_graph_lgl(
18030 graph: *mut igraph_t,
18031 instream: *mut FILE,
18032 names: igraph_bool_t,
18033 weights: igraph_add_weights_t,
18034 directed: igraph_bool_t,
18035 ) -> igraph_error_t;
18036}
18037unsafe extern "C" {
18038 pub fn igraph_read_graph_pajek(graph: *mut igraph_t, instream: *mut FILE) -> igraph_error_t;
18039}
18040unsafe extern "C" {
18041 pub fn igraph_read_graph_graphml(
18042 graph: *mut igraph_t,
18043 instream: *mut FILE,
18044 index: igraph_int_t,
18045 ) -> igraph_error_t;
18046}
18047unsafe extern "C" {
18048 pub fn igraph_read_graph_dimacs_flow(
18049 graph: *mut igraph_t,
18050 instream: *mut FILE,
18051 problem: *mut igraph_strvector_t,
18052 label: *mut igraph_vector_int_t,
18053 source: *mut igraph_int_t,
18054 target: *mut igraph_int_t,
18055 capacity: *mut igraph_vector_t,
18056 directed: igraph_bool_t,
18057 ) -> igraph_error_t;
18058}
18059unsafe extern "C" {
18060 pub fn igraph_read_graph_graphdb(
18061 graph: *mut igraph_t,
18062 instream: *mut FILE,
18063 directed: igraph_bool_t,
18064 ) -> igraph_error_t;
18065}
18066unsafe extern "C" {
18067 pub fn igraph_read_graph_gml(graph: *mut igraph_t, instream: *mut FILE) -> igraph_error_t;
18068}
18069unsafe extern "C" {
18070 pub fn igraph_read_graph_dl(
18071 graph: *mut igraph_t,
18072 instream: *mut FILE,
18073 directed: igraph_bool_t,
18074 ) -> igraph_error_t;
18075}
18076pub type igraph_write_gml_sw_t = ::std::os::raw::c_uint;
18077pub const IGRAPH_WRITE_GML_DEFAULT_SW: _bindgen_ty_5 = 0;
18078pub const IGRAPH_WRITE_GML_ENCODE_ONLY_QUOT_SW: _bindgen_ty_5 = 1;
18079pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
18080unsafe extern "C" {
18081 pub fn igraph_write_graph_edgelist(
18082 graph: *const igraph_t,
18083 outstream: *mut FILE,
18084 ) -> igraph_error_t;
18085}
18086unsafe extern "C" {
18087 pub fn igraph_write_graph_ncol(
18088 graph: *const igraph_t,
18089 outstream: *mut FILE,
18090 names: *const ::std::os::raw::c_char,
18091 weights: *const ::std::os::raw::c_char,
18092 ) -> igraph_error_t;
18093}
18094unsafe extern "C" {
18095 pub fn igraph_write_graph_lgl(
18096 graph: *const igraph_t,
18097 outstream: *mut FILE,
18098 names: *const ::std::os::raw::c_char,
18099 weights: *const ::std::os::raw::c_char,
18100 isolates: igraph_bool_t,
18101 ) -> igraph_error_t;
18102}
18103unsafe extern "C" {
18104 pub fn igraph_write_graph_graphml(
18105 graph: *const igraph_t,
18106 outstream: *mut FILE,
18107 prefixattr: igraph_bool_t,
18108 ) -> igraph_error_t;
18109}
18110unsafe extern "C" {
18111 pub fn igraph_write_graph_pajek(graph: *const igraph_t, outstream: *mut FILE)
18112 -> igraph_error_t;
18113}
18114unsafe extern "C" {
18115 pub fn igraph_write_graph_dimacs_flow(
18116 graph: *const igraph_t,
18117 outstream: *mut FILE,
18118 source: igraph_int_t,
18119 target: igraph_int_t,
18120 capacity: *const igraph_vector_t,
18121 ) -> igraph_error_t;
18122}
18123unsafe extern "C" {
18124 pub fn igraph_write_graph_gml(
18125 graph: *const igraph_t,
18126 outstream: *mut FILE,
18127 options: igraph_write_gml_sw_t,
18128 id: *const igraph_vector_t,
18129 creator: *const ::std::os::raw::c_char,
18130 ) -> igraph_error_t;
18131}
18132unsafe extern "C" {
18133 pub fn igraph_write_graph_dot(graph: *const igraph_t, outstream: *mut FILE) -> igraph_error_t;
18134}
18135unsafe extern "C" {
18136 pub fn igraph_write_graph_leda(
18137 graph: *const igraph_t,
18138 outstream: *mut FILE,
18139 vertex_attr_name: *const ::std::os::raw::c_char,
18140 edge_attr_name: *const ::std::os::raw::c_char,
18141 ) -> igraph_error_t;
18142}
18143#[repr(C)]
18144#[derive(Debug, Copy, Clone)]
18145pub struct igraph_safelocale_s {
18146 _unused: [u8; 0],
18147}
18148pub type igraph_safelocale_t = *mut igraph_safelocale_s;
18149unsafe extern "C" {
18150 pub fn igraph_enter_safelocale(loc: *mut igraph_safelocale_t) -> igraph_error_t;
18151}
18152unsafe extern "C" {
18153 pub fn igraph_exit_safelocale(loc: *mut igraph_safelocale_t);
18154}
18155#[doc = " \\typedef igraph_motifs_handler_t\n \\brief Callback type for \\c igraph_motifs_randesu_callback.\n\n \\ref igraph_motifs_randesu_callback() calls a specified callback\n function whenever a new motif is found during a motif search. This\n callback function must be of type \\c igraph_motifs_handler_t. It has\n the following arguments:\n\n \\param graph The graph that that algorithm is working on. Of course\n this must not be modified.\n \\param vids The IDs of the vertices in the motif that has just been\n found. This vector is owned by the motif search algorithm, so do not\n modify or destroy it; make a copy of it if you need it later.\n \\param isoclass The isomorphism class of the motif that has just been\n found. Use \\ref igraph_graph_count() to find the maximum possible\n isoclass for graphs of a given size. See \\ref igraph_isoclass and\n \\ref igraph_isoclass_subgraph for more information.\n \\param extra The extra argument that was passed to \\ref\n igraph_motifs_randesu_callback().\n \\return \\c IGRAPH_SUCCESS to continue the motif search,\n \\c IGRAPH_STOP to stop the motif search and return to the caller\n normally. Any other return value is interpreted as an igraph error code,\n which will terminate the search and return the same error code to the\n caller.\n\n \\sa \\ref igraph_motifs_randesu_callback()"]
18156pub type igraph_motifs_handler_t = ::std::option::Option<
18157 unsafe extern "C" fn(
18158 graph: *const igraph_t,
18159 vids: *const igraph_vector_int_t,
18160 isoclass: igraph_int_t,
18161 extra: *mut ::std::os::raw::c_void,
18162 ) -> igraph_error_t,
18163>;
18164unsafe extern "C" {
18165 pub fn igraph_motifs_randesu(
18166 graph: *const igraph_t,
18167 hist: *mut igraph_vector_t,
18168 size: igraph_int_t,
18169 cut_prob: *const igraph_vector_t,
18170 ) -> igraph_error_t;
18171}
18172unsafe extern "C" {
18173 pub fn igraph_motifs_randesu_callback(
18174 graph: *const igraph_t,
18175 size: igraph_int_t,
18176 cut_prob: *const igraph_vector_t,
18177 callback: igraph_motifs_handler_t,
18178 extra: *mut ::std::os::raw::c_void,
18179 ) -> igraph_error_t;
18180}
18181unsafe extern "C" {
18182 pub fn igraph_motifs_randesu_estimate(
18183 graph: *const igraph_t,
18184 est: *mut igraph_real_t,
18185 size: igraph_int_t,
18186 cut_prob: *const igraph_vector_t,
18187 sample_size: igraph_int_t,
18188 sample: *const igraph_vector_int_t,
18189 ) -> igraph_error_t;
18190}
18191unsafe extern "C" {
18192 pub fn igraph_motifs_randesu_no(
18193 graph: *const igraph_t,
18194 no: *mut igraph_real_t,
18195 size: igraph_int_t,
18196 cut_prob: *const igraph_vector_t,
18197 ) -> igraph_error_t;
18198}
18199unsafe extern "C" {
18200 pub fn igraph_dyad_census(
18201 graph: *const igraph_t,
18202 mut_: *mut igraph_real_t,
18203 asym: *mut igraph_real_t,
18204 null: *mut igraph_real_t,
18205 ) -> igraph_error_t;
18206}
18207unsafe extern "C" {
18208 pub fn igraph_triad_census(
18209 igraph: *const igraph_t,
18210 res: *mut igraph_vector_t,
18211 ) -> igraph_error_t;
18212}
18213unsafe extern "C" {
18214 pub fn igraph_count_adjacent_triangles(
18215 graph: *const igraph_t,
18216 res: *mut igraph_vector_t,
18217 vids: igraph_vs_t,
18218 ) -> igraph_error_t;
18219}
18220unsafe extern "C" {
18221 pub fn igraph_list_triangles(
18222 graph: *const igraph_t,
18223 res: *mut igraph_vector_int_t,
18224 ) -> igraph_error_t;
18225}
18226unsafe extern "C" {
18227 pub fn igraph_count_triangles(
18228 graph: *const igraph_t,
18229 res: *mut igraph_real_t,
18230 ) -> igraph_error_t;
18231}
18232#[doc = " \\typedef igraph_rewiring_stats_t\n \\brief Data structure holding statistics from graph rewiring.\n\n \\param successful_swaps Number of successful rewiring trials (successful swaps)."]
18233#[repr(C)]
18234#[derive(Debug, Copy, Clone)]
18235pub struct igraph_rewiring_stats_t {
18236 pub successful_swaps: igraph_int_t,
18237 pub unused1_: igraph_int_t,
18238 pub unused2_: igraph_int_t,
18239 pub unused3_: igraph_int_t,
18240}
18241#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18242const _: () = {
18243 ["Size of igraph_rewiring_stats_t"][::std::mem::size_of::<igraph_rewiring_stats_t>() - 32usize];
18244 ["Alignment of igraph_rewiring_stats_t"]
18245 [::std::mem::align_of::<igraph_rewiring_stats_t>() - 8usize];
18246 ["Offset of field: igraph_rewiring_stats_t::successful_swaps"]
18247 [::std::mem::offset_of!(igraph_rewiring_stats_t, successful_swaps) - 0usize];
18248 ["Offset of field: igraph_rewiring_stats_t::unused1_"]
18249 [::std::mem::offset_of!(igraph_rewiring_stats_t, unused1_) - 8usize];
18250 ["Offset of field: igraph_rewiring_stats_t::unused2_"]
18251 [::std::mem::offset_of!(igraph_rewiring_stats_t, unused2_) - 16usize];
18252 ["Offset of field: igraph_rewiring_stats_t::unused3_"]
18253 [::std::mem::offset_of!(igraph_rewiring_stats_t, unused3_) - 24usize];
18254};
18255unsafe extern "C" {
18256 pub fn igraph_add_edge(
18257 graph: *mut igraph_t,
18258 from: igraph_int_t,
18259 to: igraph_int_t,
18260 ) -> igraph_error_t;
18261}
18262unsafe extern "C" {
18263 pub fn igraph_disjoint_union(
18264 res: *mut igraph_t,
18265 left: *const igraph_t,
18266 right: *const igraph_t,
18267 ) -> igraph_error_t;
18268}
18269unsafe extern "C" {
18270 pub fn igraph_disjoint_union_many(
18271 res: *mut igraph_t,
18272 graphs: *const igraph_vector_ptr_t,
18273 ) -> igraph_error_t;
18274}
18275unsafe extern "C" {
18276 pub fn igraph_union(
18277 res: *mut igraph_t,
18278 left: *const igraph_t,
18279 right: *const igraph_t,
18280 edge_map1: *mut igraph_vector_int_t,
18281 edge_map2: *mut igraph_vector_int_t,
18282 ) -> igraph_error_t;
18283}
18284unsafe extern "C" {
18285 pub fn igraph_union_many(
18286 res: *mut igraph_t,
18287 graphs: *const igraph_vector_ptr_t,
18288 edgemaps: *mut igraph_vector_int_list_t,
18289 ) -> igraph_error_t;
18290}
18291unsafe extern "C" {
18292 pub fn igraph_join(
18293 res: *mut igraph_t,
18294 left: *const igraph_t,
18295 right: *const igraph_t,
18296 ) -> igraph_error_t;
18297}
18298unsafe extern "C" {
18299 pub fn igraph_intersection(
18300 res: *mut igraph_t,
18301 left: *const igraph_t,
18302 right: *const igraph_t,
18303 edge_map1: *mut igraph_vector_int_t,
18304 edge_map2: *mut igraph_vector_int_t,
18305 ) -> igraph_error_t;
18306}
18307unsafe extern "C" {
18308 pub fn igraph_intersection_many(
18309 res: *mut igraph_t,
18310 graphs: *const igraph_vector_ptr_t,
18311 edgemaps: *mut igraph_vector_int_list_t,
18312 ) -> igraph_error_t;
18313}
18314unsafe extern "C" {
18315 pub fn igraph_difference(
18316 res: *mut igraph_t,
18317 orig: *const igraph_t,
18318 sub: *const igraph_t,
18319 ) -> igraph_error_t;
18320}
18321unsafe extern "C" {
18322 pub fn igraph_complementer(
18323 res: *mut igraph_t,
18324 graph: *const igraph_t,
18325 loops: igraph_bool_t,
18326 ) -> igraph_error_t;
18327}
18328unsafe extern "C" {
18329 pub fn igraph_compose(
18330 res: *mut igraph_t,
18331 g1: *const igraph_t,
18332 g2: *const igraph_t,
18333 edge_map1: *mut igraph_vector_int_t,
18334 edge_map2: *mut igraph_vector_int_t,
18335 ) -> igraph_error_t;
18336}
18337unsafe extern "C" {
18338 pub fn igraph_contract_vertices(
18339 graph: *mut igraph_t,
18340 mapping: *const igraph_vector_int_t,
18341 vertex_comb: *const igraph_attribute_combination_t,
18342 ) -> igraph_error_t;
18343}
18344unsafe extern "C" {
18345 pub fn igraph_permute_vertices(
18346 graph: *const igraph_t,
18347 res: *mut igraph_t,
18348 permutation: *const igraph_vector_int_t,
18349 ) -> igraph_error_t;
18350}
18351unsafe extern "C" {
18352 pub fn igraph_connect_neighborhood(
18353 graph: *mut igraph_t,
18354 order: igraph_int_t,
18355 mode: igraph_neimode_t,
18356 ) -> igraph_error_t;
18357}
18358unsafe extern "C" {
18359 pub fn igraph_graph_power(
18360 graph: *const igraph_t,
18361 res: *mut igraph_t,
18362 order: igraph_int_t,
18363 directed: igraph_bool_t,
18364 ) -> igraph_error_t;
18365}
18366unsafe extern "C" {
18367 pub fn igraph_rewire(
18368 graph: *mut igraph_t,
18369 n: igraph_int_t,
18370 allowed_edge_types: igraph_edge_type_sw_t,
18371 stats: *mut igraph_rewiring_stats_t,
18372 ) -> igraph_error_t;
18373}
18374unsafe extern "C" {
18375 pub fn igraph_simplify(
18376 graph: *mut igraph_t,
18377 remove_multiple: igraph_bool_t,
18378 remove_loops: igraph_bool_t,
18379 edge_comb: *const igraph_attribute_combination_t,
18380 ) -> igraph_error_t;
18381}
18382unsafe extern "C" {
18383 pub fn igraph_induced_subgraph_map(
18384 graph: *const igraph_t,
18385 res: *mut igraph_t,
18386 vids: igraph_vs_t,
18387 impl_: igraph_subgraph_implementation_t,
18388 map: *mut igraph_vector_int_t,
18389 invmap: *mut igraph_vector_int_t,
18390 ) -> igraph_error_t;
18391}
18392unsafe extern "C" {
18393 pub fn igraph_induced_subgraph(
18394 graph: *const igraph_t,
18395 res: *mut igraph_t,
18396 vids: igraph_vs_t,
18397 impl_: igraph_subgraph_implementation_t,
18398 ) -> igraph_error_t;
18399}
18400unsafe extern "C" {
18401 pub fn igraph_induced_subgraph_edges(
18402 graph: *const igraph_t,
18403 vids: igraph_vs_t,
18404 edges: *mut igraph_vector_int_t,
18405 ) -> igraph_error_t;
18406}
18407unsafe extern "C" {
18408 pub fn igraph_subgraph_from_edges(
18409 graph: *const igraph_t,
18410 res: *mut igraph_t,
18411 eids: igraph_es_t,
18412 delete_vertices: igraph_bool_t,
18413 ) -> igraph_error_t;
18414}
18415unsafe extern "C" {
18416 pub fn igraph_reverse_edges(graph: *mut igraph_t, eids: igraph_es_t) -> igraph_error_t;
18417}
18418unsafe extern "C" {
18419 pub fn igraph_product(
18420 res: *mut igraph_t,
18421 g1: *const igraph_t,
18422 g2: *const igraph_t,
18423 type_: igraph_product_t,
18424 ) -> igraph_error_t;
18425}
18426unsafe extern "C" {
18427 pub fn igraph_rooted_product(
18428 res: *mut igraph_t,
18429 g1: *const igraph_t,
18430 g2: *const igraph_t,
18431 root: igraph_int_t,
18432 ) -> igraph_error_t;
18433}
18434unsafe extern "C" {
18435 pub fn igraph_mycielskian(
18436 graph: *const igraph_t,
18437 res: *mut igraph_t,
18438 k: igraph_int_t,
18439 ) -> igraph_error_t;
18440}
18441#[doc = " \\typedef igraph_maxflow_stats_t\n \\brief Data structure holding statistics from the push-relabel maximum flow solver.\n\n \\param nopush The number of push operations performed.\n \\param norelabel The number of relabel operarions performed.\n \\param nogap The number of times the gap heuristics was used.\n \\param nogapnodes The total number of vertices that were\n omitted form further calculations because of the gap\n heuristics.\n \\param nobfs The number of times the reverse BFS was run to\n assign good values to the height function. This includes\n an initial run before the whole algorithm, so it is always\n at least one."]
18442#[repr(C)]
18443#[derive(Debug, Copy, Clone)]
18444pub struct igraph_maxflow_stats_t {
18445 pub nopush: igraph_int_t,
18446 pub norelabel: igraph_int_t,
18447 pub nogap: igraph_int_t,
18448 pub nogapnodes: igraph_int_t,
18449 pub nobfs: igraph_int_t,
18450}
18451#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18452const _: () = {
18453 ["Size of igraph_maxflow_stats_t"][::std::mem::size_of::<igraph_maxflow_stats_t>() - 40usize];
18454 ["Alignment of igraph_maxflow_stats_t"]
18455 [::std::mem::align_of::<igraph_maxflow_stats_t>() - 8usize];
18456 ["Offset of field: igraph_maxflow_stats_t::nopush"]
18457 [::std::mem::offset_of!(igraph_maxflow_stats_t, nopush) - 0usize];
18458 ["Offset of field: igraph_maxflow_stats_t::norelabel"]
18459 [::std::mem::offset_of!(igraph_maxflow_stats_t, norelabel) - 8usize];
18460 ["Offset of field: igraph_maxflow_stats_t::nogap"]
18461 [::std::mem::offset_of!(igraph_maxflow_stats_t, nogap) - 16usize];
18462 ["Offset of field: igraph_maxflow_stats_t::nogapnodes"]
18463 [::std::mem::offset_of!(igraph_maxflow_stats_t, nogapnodes) - 24usize];
18464 ["Offset of field: igraph_maxflow_stats_t::nobfs"]
18465 [::std::mem::offset_of!(igraph_maxflow_stats_t, nobfs) - 32usize];
18466};
18467unsafe extern "C" {
18468 pub fn igraph_maxflow(
18469 graph: *const igraph_t,
18470 value: *mut igraph_real_t,
18471 flow: *mut igraph_vector_t,
18472 cut: *mut igraph_vector_int_t,
18473 partition: *mut igraph_vector_int_t,
18474 partition2: *mut igraph_vector_int_t,
18475 source: igraph_int_t,
18476 target: igraph_int_t,
18477 capacity: *const igraph_vector_t,
18478 stats: *mut igraph_maxflow_stats_t,
18479 ) -> igraph_error_t;
18480}
18481unsafe extern "C" {
18482 pub fn igraph_maxflow_value(
18483 graph: *const igraph_t,
18484 value: *mut igraph_real_t,
18485 source: igraph_int_t,
18486 target: igraph_int_t,
18487 capacity: *const igraph_vector_t,
18488 stats: *mut igraph_maxflow_stats_t,
18489 ) -> igraph_error_t;
18490}
18491unsafe extern "C" {
18492 pub fn igraph_st_mincut(
18493 graph: *const igraph_t,
18494 value: *mut igraph_real_t,
18495 cut: *mut igraph_vector_int_t,
18496 partition: *mut igraph_vector_int_t,
18497 partition2: *mut igraph_vector_int_t,
18498 source: igraph_int_t,
18499 target: igraph_int_t,
18500 capacity: *const igraph_vector_t,
18501 ) -> igraph_error_t;
18502}
18503unsafe extern "C" {
18504 pub fn igraph_st_mincut_value(
18505 graph: *const igraph_t,
18506 res: *mut igraph_real_t,
18507 source: igraph_int_t,
18508 target: igraph_int_t,
18509 capacity: *const igraph_vector_t,
18510 ) -> igraph_error_t;
18511}
18512unsafe extern "C" {
18513 pub fn igraph_mincut_value(
18514 graph: *const igraph_t,
18515 res: *mut igraph_real_t,
18516 capacity: *const igraph_vector_t,
18517 ) -> igraph_error_t;
18518}
18519unsafe extern "C" {
18520 pub fn igraph_mincut(
18521 graph: *const igraph_t,
18522 value: *mut igraph_real_t,
18523 partition: *mut igraph_vector_int_t,
18524 partition2: *mut igraph_vector_int_t,
18525 cut: *mut igraph_vector_int_t,
18526 capacity: *const igraph_vector_t,
18527 ) -> igraph_error_t;
18528}
18529unsafe extern "C" {
18530 pub fn igraph_st_vertex_connectivity(
18531 graph: *const igraph_t,
18532 res: *mut igraph_int_t,
18533 source: igraph_int_t,
18534 target: igraph_int_t,
18535 neighbors: igraph_vconn_nei_t,
18536 ) -> igraph_error_t;
18537}
18538unsafe extern "C" {
18539 pub fn igraph_vertex_connectivity(
18540 graph: *const igraph_t,
18541 res: *mut igraph_int_t,
18542 checks: igraph_bool_t,
18543 ) -> igraph_error_t;
18544}
18545unsafe extern "C" {
18546 pub fn igraph_st_edge_connectivity(
18547 graph: *const igraph_t,
18548 res: *mut igraph_int_t,
18549 source: igraph_int_t,
18550 target: igraph_int_t,
18551 ) -> igraph_error_t;
18552}
18553unsafe extern "C" {
18554 pub fn igraph_edge_connectivity(
18555 graph: *const igraph_t,
18556 res: *mut igraph_int_t,
18557 checks: igraph_bool_t,
18558 ) -> igraph_error_t;
18559}
18560unsafe extern "C" {
18561 pub fn igraph_edge_disjoint_paths(
18562 graph: *const igraph_t,
18563 res: *mut igraph_int_t,
18564 source: igraph_int_t,
18565 target: igraph_int_t,
18566 ) -> igraph_error_t;
18567}
18568unsafe extern "C" {
18569 pub fn igraph_vertex_disjoint_paths(
18570 graph: *const igraph_t,
18571 res: *mut igraph_int_t,
18572 source: igraph_int_t,
18573 target: igraph_int_t,
18574 ) -> igraph_error_t;
18575}
18576unsafe extern "C" {
18577 pub fn igraph_adhesion(
18578 graph: *const igraph_t,
18579 res: *mut igraph_int_t,
18580 checks: igraph_bool_t,
18581 ) -> igraph_error_t;
18582}
18583unsafe extern "C" {
18584 pub fn igraph_cohesion(
18585 graph: *const igraph_t,
18586 res: *mut igraph_int_t,
18587 checks: igraph_bool_t,
18588 ) -> igraph_error_t;
18589}
18590unsafe extern "C" {
18591 pub fn igraph_even_tarjan_reduction(
18592 graph: *const igraph_t,
18593 graphbar: *mut igraph_t,
18594 capacity: *mut igraph_vector_t,
18595 ) -> igraph_error_t;
18596}
18597unsafe extern "C" {
18598 pub fn igraph_residual_graph(
18599 graph: *const igraph_t,
18600 capacity: *const igraph_vector_t,
18601 residual: *mut igraph_t,
18602 residual_capacity: *mut igraph_vector_t,
18603 flow: *const igraph_vector_t,
18604 ) -> igraph_error_t;
18605}
18606unsafe extern "C" {
18607 pub fn igraph_reverse_residual_graph(
18608 graph: *const igraph_t,
18609 capacity: *const igraph_vector_t,
18610 residual: *mut igraph_t,
18611 flow: *const igraph_vector_t,
18612 ) -> igraph_error_t;
18613}
18614unsafe extern "C" {
18615 pub fn igraph_dominator_tree(
18616 graph: *const igraph_t,
18617 root: igraph_int_t,
18618 dom: *mut igraph_vector_int_t,
18619 domtree: *mut igraph_t,
18620 leftout: *mut igraph_vector_int_t,
18621 mode: igraph_neimode_t,
18622 ) -> igraph_error_t;
18623}
18624unsafe extern "C" {
18625 pub fn igraph_all_st_cuts(
18626 graph: *const igraph_t,
18627 cuts: *mut igraph_vector_int_list_t,
18628 partition1s: *mut igraph_vector_int_list_t,
18629 source: igraph_int_t,
18630 target: igraph_int_t,
18631 ) -> igraph_error_t;
18632}
18633unsafe extern "C" {
18634 pub fn igraph_all_st_mincuts(
18635 graph: *const igraph_t,
18636 value: *mut igraph_real_t,
18637 cuts: *mut igraph_vector_int_list_t,
18638 partition1s: *mut igraph_vector_int_list_t,
18639 source: igraph_int_t,
18640 target: igraph_int_t,
18641 capacity: *const igraph_vector_t,
18642 ) -> igraph_error_t;
18643}
18644unsafe extern "C" {
18645 pub fn igraph_gomory_hu_tree(
18646 graph: *const igraph_t,
18647 tree: *mut igraph_t,
18648 flows: *mut igraph_vector_t,
18649 capacity: *const igraph_vector_t,
18650 ) -> igraph_error_t;
18651}
18652#[doc = " \\struct igraph_plfit_result_t\n \\brief Result of fitting a power-law distribution to a vector.\n\n This data structure contains the result of \\ref igraph_power_law_fit(),\n which tries to fit a power-law distribution to a vector of numbers. The\n structure contains the following members:\n\n \\member continuous Whether the fitted power-law distribution was continuous\n or discrete.\n \\member alpha The exponent of the fitted power-law distribution.\n \\member xmin The minimum value from which the power-law distribution was\n fitted. In other words, only the values larger than \\c xmin\n were used from the input vector.\n \\member L The log-likelihood of the fitted parameters; in other words,\n the probability of observing the input vector given the\n parameters.\n \\member D The test statistic of a Kolmogorov-Smirnov test that compares\n the fitted distribution with the input vector. Smaller scores\n denote better fit.\n \\member p The p-value of the Kolmogorov-Smirnov test; \\c NaN if it has\n not been calculated yet. Small p-values (less than 0.05)\n indicate that the test rejected the hypothesis that the\n original data could have been drawn from the fitted power-law\n distribution.\n \\member data The vector containing the original input data. May not be valid\n any more if the caller already destroyed the vector."]
18653#[repr(C)]
18654#[derive(Debug, Copy, Clone)]
18655pub struct igraph_plfit_result_t {
18656 pub continuous: igraph_bool_t,
18657 pub alpha: igraph_real_t,
18658 pub xmin: igraph_real_t,
18659 pub L: igraph_real_t,
18660 pub D: igraph_real_t,
18661 pub data: *const igraph_vector_t,
18662}
18663#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18664const _: () = {
18665 ["Size of igraph_plfit_result_t"][::std::mem::size_of::<igraph_plfit_result_t>() - 48usize];
18666 ["Alignment of igraph_plfit_result_t"]
18667 [::std::mem::align_of::<igraph_plfit_result_t>() - 8usize];
18668 ["Offset of field: igraph_plfit_result_t::continuous"]
18669 [::std::mem::offset_of!(igraph_plfit_result_t, continuous) - 0usize];
18670 ["Offset of field: igraph_plfit_result_t::alpha"]
18671 [::std::mem::offset_of!(igraph_plfit_result_t, alpha) - 8usize];
18672 ["Offset of field: igraph_plfit_result_t::xmin"]
18673 [::std::mem::offset_of!(igraph_plfit_result_t, xmin) - 16usize];
18674 ["Offset of field: igraph_plfit_result_t::L"]
18675 [::std::mem::offset_of!(igraph_plfit_result_t, L) - 24usize];
18676 ["Offset of field: igraph_plfit_result_t::D"]
18677 [::std::mem::offset_of!(igraph_plfit_result_t, D) - 32usize];
18678 ["Offset of field: igraph_plfit_result_t::data"]
18679 [::std::mem::offset_of!(igraph_plfit_result_t, data) - 40usize];
18680};
18681unsafe extern "C" {
18682 pub fn igraph_running_mean(
18683 data: *const igraph_vector_t,
18684 res: *mut igraph_vector_t,
18685 binwidth: igraph_int_t,
18686 ) -> igraph_error_t;
18687}
18688unsafe extern "C" {
18689 pub fn igraph_random_sample(
18690 res: *mut igraph_vector_int_t,
18691 l: igraph_int_t,
18692 h: igraph_int_t,
18693 length: igraph_int_t,
18694 ) -> igraph_error_t;
18695}
18696unsafe extern "C" {
18697 pub fn igraph_almost_equals(a: f64, b: f64, eps: f64) -> igraph_bool_t;
18698}
18699unsafe extern "C" {
18700 pub fn igraph_cmp_epsilon(a: f64, b: f64, eps: f64) -> ::std::os::raw::c_int;
18701}
18702unsafe extern "C" {
18703 pub fn igraph_power_law_fit(
18704 vector: *const igraph_vector_t,
18705 result: *mut igraph_plfit_result_t,
18706 xmin: igraph_real_t,
18707 force_continuous: igraph_bool_t,
18708 ) -> igraph_error_t;
18709}
18710unsafe extern "C" {
18711 pub fn igraph_plfit_result_calculate_p_value(
18712 model: *const igraph_plfit_result_t,
18713 result: *mut igraph_real_t,
18714 precision: igraph_real_t,
18715 ) -> igraph_error_t;
18716}
18717unsafe extern "C" {
18718 pub fn igraph_cocitation(
18719 graph: *const igraph_t,
18720 res: *mut igraph_matrix_t,
18721 vids: igraph_vs_t,
18722 ) -> igraph_error_t;
18723}
18724unsafe extern "C" {
18725 pub fn igraph_bibcoupling(
18726 graph: *const igraph_t,
18727 res: *mut igraph_matrix_t,
18728 vids: igraph_vs_t,
18729 ) -> igraph_error_t;
18730}
18731unsafe extern "C" {
18732 pub fn igraph_similarity_jaccard(
18733 graph: *const igraph_t,
18734 res: *mut igraph_matrix_t,
18735 vit_from: igraph_vs_t,
18736 vit_to: igraph_vs_t,
18737 mode: igraph_neimode_t,
18738 loops: igraph_bool_t,
18739 ) -> igraph_error_t;
18740}
18741unsafe extern "C" {
18742 pub fn igraph_similarity_jaccard_pairs(
18743 graph: *const igraph_t,
18744 res: *mut igraph_vector_t,
18745 pairs: *const igraph_vector_int_t,
18746 mode: igraph_neimode_t,
18747 loops: igraph_bool_t,
18748 ) -> igraph_error_t;
18749}
18750unsafe extern "C" {
18751 pub fn igraph_similarity_jaccard_es(
18752 graph: *const igraph_t,
18753 res: *mut igraph_vector_t,
18754 es: igraph_es_t,
18755 mode: igraph_neimode_t,
18756 loops: igraph_bool_t,
18757 ) -> igraph_error_t;
18758}
18759unsafe extern "C" {
18760 pub fn igraph_similarity_dice(
18761 graph: *const igraph_t,
18762 res: *mut igraph_matrix_t,
18763 vit_from: igraph_vs_t,
18764 vit_to: igraph_vs_t,
18765 mode: igraph_neimode_t,
18766 loops: igraph_bool_t,
18767 ) -> igraph_error_t;
18768}
18769unsafe extern "C" {
18770 pub fn igraph_similarity_dice_pairs(
18771 graph: *const igraph_t,
18772 res: *mut igraph_vector_t,
18773 pairs: *const igraph_vector_int_t,
18774 mode: igraph_neimode_t,
18775 loops: igraph_bool_t,
18776 ) -> igraph_error_t;
18777}
18778unsafe extern "C" {
18779 pub fn igraph_similarity_dice_es(
18780 graph: *const igraph_t,
18781 res: *mut igraph_vector_t,
18782 es: igraph_es_t,
18783 mode: igraph_neimode_t,
18784 loops: igraph_bool_t,
18785 ) -> igraph_error_t;
18786}
18787unsafe extern "C" {
18788 pub fn igraph_similarity_inverse_log_weighted(
18789 graph: *const igraph_t,
18790 res: *mut igraph_matrix_t,
18791 vids: igraph_vs_t,
18792 mode: igraph_neimode_t,
18793 ) -> igraph_error_t;
18794}
18795#[repr(C)]
18796#[derive(Debug, Copy, Clone)]
18797pub struct igraph_adjlist_t {
18798 pub length: igraph_int_t,
18799 pub adjs: *mut igraph_vector_int_t,
18800}
18801#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18802const _: () = {
18803 ["Size of igraph_adjlist_t"][::std::mem::size_of::<igraph_adjlist_t>() - 16usize];
18804 ["Alignment of igraph_adjlist_t"][::std::mem::align_of::<igraph_adjlist_t>() - 8usize];
18805 ["Offset of field: igraph_adjlist_t::length"]
18806 [::std::mem::offset_of!(igraph_adjlist_t, length) - 0usize];
18807 ["Offset of field: igraph_adjlist_t::adjs"]
18808 [::std::mem::offset_of!(igraph_adjlist_t, adjs) - 8usize];
18809};
18810#[repr(C)]
18811#[derive(Debug, Copy, Clone)]
18812pub struct igraph_inclist_t {
18813 pub length: igraph_int_t,
18814 pub incs: *mut igraph_vector_int_t,
18815}
18816#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18817const _: () = {
18818 ["Size of igraph_inclist_t"][::std::mem::size_of::<igraph_inclist_t>() - 16usize];
18819 ["Alignment of igraph_inclist_t"][::std::mem::align_of::<igraph_inclist_t>() - 8usize];
18820 ["Offset of field: igraph_inclist_t::length"]
18821 [::std::mem::offset_of!(igraph_inclist_t, length) - 0usize];
18822 ["Offset of field: igraph_inclist_t::incs"]
18823 [::std::mem::offset_of!(igraph_inclist_t, incs) - 8usize];
18824};
18825unsafe extern "C" {
18826 pub fn igraph_adjlist_init(
18827 graph: *const igraph_t,
18828 al: *mut igraph_adjlist_t,
18829 mode: igraph_neimode_t,
18830 loops: igraph_loops_t,
18831 multiple: igraph_bool_t,
18832 ) -> igraph_error_t;
18833}
18834unsafe extern "C" {
18835 pub fn igraph_adjlist_init_empty(
18836 al: *mut igraph_adjlist_t,
18837 no_of_nodes: igraph_int_t,
18838 ) -> igraph_error_t;
18839}
18840unsafe extern "C" {
18841 pub fn igraph_adjlist_size(al: *const igraph_adjlist_t) -> igraph_int_t;
18842}
18843unsafe extern "C" {
18844 pub fn igraph_adjlist_init_complementer(
18845 graph: *const igraph_t,
18846 al: *mut igraph_adjlist_t,
18847 mode: igraph_neimode_t,
18848 loops: igraph_loops_t,
18849 ) -> igraph_error_t;
18850}
18851unsafe extern "C" {
18852 pub fn igraph_adjlist_init_from_inclist(
18853 graph: *const igraph_t,
18854 al: *mut igraph_adjlist_t,
18855 il: *const igraph_inclist_t,
18856 ) -> igraph_error_t;
18857}
18858unsafe extern "C" {
18859 pub fn igraph_adjlist_destroy(al: *mut igraph_adjlist_t);
18860}
18861unsafe extern "C" {
18862 pub fn igraph_adjlist_clear(al: *mut igraph_adjlist_t);
18863}
18864unsafe extern "C" {
18865 pub fn igraph_adjlist_sort(al: *mut igraph_adjlist_t);
18866}
18867unsafe extern "C" {
18868 pub fn igraph_adjlist_simplify(al: *mut igraph_adjlist_t) -> igraph_error_t;
18869}
18870unsafe extern "C" {
18871 pub fn igraph_adjlist_print(al: *const igraph_adjlist_t) -> igraph_error_t;
18872}
18873unsafe extern "C" {
18874 pub fn igraph_adjlist_fprint(al: *const igraph_adjlist_t, outfile: *mut FILE)
18875 -> igraph_error_t;
18876}
18877unsafe extern "C" {
18878 pub fn igraph_adjlist_has_edge(
18879 al: *mut igraph_adjlist_t,
18880 from: igraph_int_t,
18881 to: igraph_int_t,
18882 directed: igraph_bool_t,
18883 ) -> igraph_bool_t;
18884}
18885unsafe extern "C" {
18886 pub fn igraph_adjlist_replace_edge(
18887 al: *mut igraph_adjlist_t,
18888 from: igraph_int_t,
18889 oldto: igraph_int_t,
18890 newto: igraph_int_t,
18891 directed: igraph_bool_t,
18892 ) -> igraph_error_t;
18893}
18894unsafe extern "C" {
18895 pub fn igraph_adjlist(
18896 graph: *mut igraph_t,
18897 adjlist: *const igraph_adjlist_t,
18898 mode: igraph_neimode_t,
18899 duplicate: igraph_bool_t,
18900 ) -> igraph_error_t;
18901}
18902unsafe extern "C" {
18903 pub fn igraph_inclist_init(
18904 graph: *const igraph_t,
18905 il: *mut igraph_inclist_t,
18906 mode: igraph_neimode_t,
18907 loops: igraph_loops_t,
18908 ) -> igraph_error_t;
18909}
18910unsafe extern "C" {
18911 pub fn igraph_inclist_init_empty(il: *mut igraph_inclist_t, n: igraph_int_t) -> igraph_error_t;
18912}
18913unsafe extern "C" {
18914 pub fn igraph_inclist_size(al: *const igraph_inclist_t) -> igraph_int_t;
18915}
18916unsafe extern "C" {
18917 pub fn igraph_inclist_destroy(il: *mut igraph_inclist_t);
18918}
18919unsafe extern "C" {
18920 pub fn igraph_inclist_clear(il: *mut igraph_inclist_t);
18921}
18922unsafe extern "C" {
18923 pub fn igraph_inclist_print(il: *const igraph_inclist_t) -> igraph_error_t;
18924}
18925unsafe extern "C" {
18926 pub fn igraph_inclist_fprint(il: *const igraph_inclist_t, outfile: *mut FILE)
18927 -> igraph_error_t;
18928}
18929#[repr(C)]
18930#[derive(Debug, Copy, Clone)]
18931pub struct igraph_lazy_adjlist_t {
18932 pub graph: *const igraph_t,
18933 pub length: igraph_int_t,
18934 pub adjs: *mut *mut igraph_vector_int_t,
18935 pub mode: igraph_neimode_t,
18936 pub loops: igraph_loops_t,
18937 pub multiple: igraph_bool_t,
18938}
18939#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18940const _: () = {
18941 ["Size of igraph_lazy_adjlist_t"][::std::mem::size_of::<igraph_lazy_adjlist_t>() - 40usize];
18942 ["Alignment of igraph_lazy_adjlist_t"]
18943 [::std::mem::align_of::<igraph_lazy_adjlist_t>() - 8usize];
18944 ["Offset of field: igraph_lazy_adjlist_t::graph"]
18945 [::std::mem::offset_of!(igraph_lazy_adjlist_t, graph) - 0usize];
18946 ["Offset of field: igraph_lazy_adjlist_t::length"]
18947 [::std::mem::offset_of!(igraph_lazy_adjlist_t, length) - 8usize];
18948 ["Offset of field: igraph_lazy_adjlist_t::adjs"]
18949 [::std::mem::offset_of!(igraph_lazy_adjlist_t, adjs) - 16usize];
18950 ["Offset of field: igraph_lazy_adjlist_t::mode"]
18951 [::std::mem::offset_of!(igraph_lazy_adjlist_t, mode) - 24usize];
18952 ["Offset of field: igraph_lazy_adjlist_t::loops"]
18953 [::std::mem::offset_of!(igraph_lazy_adjlist_t, loops) - 28usize];
18954 ["Offset of field: igraph_lazy_adjlist_t::multiple"]
18955 [::std::mem::offset_of!(igraph_lazy_adjlist_t, multiple) - 32usize];
18956};
18957unsafe extern "C" {
18958 pub fn igraph_lazy_adjlist_init(
18959 graph: *const igraph_t,
18960 al: *mut igraph_lazy_adjlist_t,
18961 mode: igraph_neimode_t,
18962 loops: igraph_loops_t,
18963 multiple: igraph_bool_t,
18964 ) -> igraph_error_t;
18965}
18966unsafe extern "C" {
18967 pub fn igraph_lazy_adjlist_destroy(al: *mut igraph_lazy_adjlist_t);
18968}
18969unsafe extern "C" {
18970 pub fn igraph_lazy_adjlist_clear(al: *mut igraph_lazy_adjlist_t);
18971}
18972unsafe extern "C" {
18973 pub fn igraph_lazy_adjlist_size(al: *const igraph_lazy_adjlist_t) -> igraph_int_t;
18974}
18975unsafe extern "C" {
18976 pub fn igraph_i_lazy_adjlist_get_real(
18977 al: *mut igraph_lazy_adjlist_t,
18978 no: igraph_int_t,
18979 ) -> *mut igraph_vector_int_t;
18980}
18981#[repr(C)]
18982#[derive(Debug, Copy, Clone)]
18983pub struct igraph_lazy_inclist_t {
18984 pub graph: *const igraph_t,
18985 pub length: igraph_int_t,
18986 pub incs: *mut *mut igraph_vector_int_t,
18987 pub mode: igraph_neimode_t,
18988 pub loops: igraph_loops_t,
18989}
18990#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18991const _: () = {
18992 ["Size of igraph_lazy_inclist_t"][::std::mem::size_of::<igraph_lazy_inclist_t>() - 32usize];
18993 ["Alignment of igraph_lazy_inclist_t"]
18994 [::std::mem::align_of::<igraph_lazy_inclist_t>() - 8usize];
18995 ["Offset of field: igraph_lazy_inclist_t::graph"]
18996 [::std::mem::offset_of!(igraph_lazy_inclist_t, graph) - 0usize];
18997 ["Offset of field: igraph_lazy_inclist_t::length"]
18998 [::std::mem::offset_of!(igraph_lazy_inclist_t, length) - 8usize];
18999 ["Offset of field: igraph_lazy_inclist_t::incs"]
19000 [::std::mem::offset_of!(igraph_lazy_inclist_t, incs) - 16usize];
19001 ["Offset of field: igraph_lazy_inclist_t::mode"]
19002 [::std::mem::offset_of!(igraph_lazy_inclist_t, mode) - 24usize];
19003 ["Offset of field: igraph_lazy_inclist_t::loops"]
19004 [::std::mem::offset_of!(igraph_lazy_inclist_t, loops) - 28usize];
19005};
19006unsafe extern "C" {
19007 pub fn igraph_lazy_inclist_init(
19008 graph: *const igraph_t,
19009 il: *mut igraph_lazy_inclist_t,
19010 mode: igraph_neimode_t,
19011 loops: igraph_loops_t,
19012 ) -> igraph_error_t;
19013}
19014unsafe extern "C" {
19015 pub fn igraph_lazy_inclist_destroy(il: *mut igraph_lazy_inclist_t);
19016}
19017unsafe extern "C" {
19018 pub fn igraph_lazy_inclist_clear(il: *mut igraph_lazy_inclist_t);
19019}
19020unsafe extern "C" {
19021 pub fn igraph_lazy_inclist_size(il: *const igraph_lazy_inclist_t) -> igraph_int_t;
19022}
19023unsafe extern "C" {
19024 pub fn igraph_i_lazy_inclist_get_real(
19025 il: *mut igraph_lazy_inclist_t,
19026 no: igraph_int_t,
19027 ) -> *mut igraph_vector_int_t;
19028}
19029unsafe extern "C" {
19030 #[doc = " \\section about_blas BLAS interface in igraph\n\n <para>\n BLAS is a highly optimized library for basic linear algebra operations\n such as vector-vector, matrix-vector and matrix-matrix product.\n Please see http://www.netlib.org/blas/ for details and a reference\n implementation in Fortran. igraph contains some wrapper functions\n that can be used to call BLAS routines in a somewhat more\n user-friendly way. Not all BLAS routines are included in igraph,\n and even those which are included might not have wrappers;\n the extension of the set of wrapped functions will probably be driven\n by igraph's internal requirements. The wrapper functions usually\n substitute double-precision floating point arrays used by BLAS with\n \\type igraph_vector_t and \\type igraph_matrix_t instances and also\n remove those parameters (such as the number of rows/columns) that\n can be inferred from the passed arguments directly.\n </para>"]
19031 pub fn igraph_blas_dgemv(
19032 transpose: igraph_bool_t,
19033 alpha: igraph_real_t,
19034 a: *const igraph_matrix_t,
19035 x: *const igraph_vector_t,
19036 beta: igraph_real_t,
19037 y: *mut igraph_vector_t,
19038 ) -> igraph_error_t;
19039}
19040unsafe extern "C" {
19041 pub fn igraph_blas_dgemm(
19042 transpose_a: igraph_bool_t,
19043 transpose_b: igraph_bool_t,
19044 alpha: igraph_real_t,
19045 a: *const igraph_matrix_t,
19046 b: *const igraph_matrix_t,
19047 beta: igraph_real_t,
19048 c: *mut igraph_matrix_t,
19049 ) -> igraph_error_t;
19050}
19051unsafe extern "C" {
19052 pub fn igraph_blas_dgemv_array(
19053 transpose: igraph_bool_t,
19054 alpha: igraph_real_t,
19055 a: *const igraph_matrix_t,
19056 x: *const igraph_real_t,
19057 beta: igraph_real_t,
19058 y: *mut igraph_real_t,
19059 ) -> igraph_error_t;
19060}
19061unsafe extern "C" {
19062 pub fn igraph_blas_dnrm2(v: *const igraph_vector_t) -> igraph_real_t;
19063}
19064unsafe extern "C" {
19065 pub fn igraph_blas_ddot(
19066 v1: *const igraph_vector_t,
19067 v2: *const igraph_vector_t,
19068 res: *mut igraph_real_t,
19069 ) -> igraph_error_t;
19070}
19071unsafe extern "C" {
19072 #[doc = " \\section about_lapack LAPACK interface in igraph\n\n <para>\n LAPACK is written in Fortran90 and provides routines for solving\n systems of simultaneous linear equations, least-squares solutions\n of linear systems of equations, eigenvalue problems, and singular\n value problems. The associated matrix factorizations (LU, Cholesky,\n QR, SVD, Schur, generalized Schur) are also provided, as are\n related computations such as reordering of the Schur factorizations\n and estimating condition numbers. Dense and banded matrices are\n handled, but not general sparse matrices. In all areas, similar\n functionality is provided for real and complex matrices, in both\n single and double precision.\n </para>\n\n <para>\n igraph provides an interface to a very limited set of LAPACK\n functions, using the regular igraph data structures.\n </para>\n\n <para>\n See more about LAPACK at http://www.netlib.org/lapack/\n </para>"]
19073 pub fn igraph_lapack_dgetrf(
19074 a: *mut igraph_matrix_t,
19075 ipiv: *mut igraph_vector_int_t,
19076 info: *mut ::std::os::raw::c_int,
19077 ) -> igraph_error_t;
19078}
19079unsafe extern "C" {
19080 pub fn igraph_lapack_dgetrs(
19081 transpose: igraph_bool_t,
19082 a: *const igraph_matrix_t,
19083 ipiv: *const igraph_vector_int_t,
19084 b: *mut igraph_matrix_t,
19085 ) -> igraph_error_t;
19086}
19087unsafe extern "C" {
19088 pub fn igraph_lapack_dgesv(
19089 a: *mut igraph_matrix_t,
19090 ipiv: *mut igraph_vector_int_t,
19091 b: *mut igraph_matrix_t,
19092 info: *mut ::std::os::raw::c_int,
19093 ) -> igraph_error_t;
19094}
19095pub const igraph_lapack_dsyev_which_t_IGRAPH_LAPACK_DSYEV_ALL: igraph_lapack_dsyev_which_t = 0;
19096pub const igraph_lapack_dsyev_which_t_IGRAPH_LAPACK_DSYEV_INTERVAL: igraph_lapack_dsyev_which_t = 1;
19097pub const igraph_lapack_dsyev_which_t_IGRAPH_LAPACK_DSYEV_SELECT: igraph_lapack_dsyev_which_t = 2;
19098pub type igraph_lapack_dsyev_which_t = ::std::os::raw::c_uint;
19099unsafe extern "C" {
19100 pub fn igraph_lapack_dsyevr(
19101 A: *const igraph_matrix_t,
19102 which: igraph_lapack_dsyev_which_t,
19103 vl: igraph_real_t,
19104 vu: igraph_real_t,
19105 vestimate: ::std::os::raw::c_int,
19106 il: ::std::os::raw::c_int,
19107 iu: ::std::os::raw::c_int,
19108 abstol: igraph_real_t,
19109 values: *mut igraph_vector_t,
19110 vectors: *mut igraph_matrix_t,
19111 support: *mut igraph_vector_int_t,
19112 ) -> igraph_error_t;
19113}
19114unsafe extern "C" {
19115 pub fn igraph_lapack_dgeev(
19116 A: *const igraph_matrix_t,
19117 valuesreal: *mut igraph_vector_t,
19118 valuesimag: *mut igraph_vector_t,
19119 vectorsleft: *mut igraph_matrix_t,
19120 vectorsright: *mut igraph_matrix_t,
19121 info: *mut ::std::os::raw::c_int,
19122 ) -> igraph_error_t;
19123}
19124pub const igraph_lapack_dgeevx_balance_t_IGRAPH_LAPACK_DGEEVX_BALANCE_NONE:
19125 igraph_lapack_dgeevx_balance_t = 0;
19126pub const igraph_lapack_dgeevx_balance_t_IGRAPH_LAPACK_DGEEVX_BALANCE_PERM:
19127 igraph_lapack_dgeevx_balance_t = 1;
19128pub const igraph_lapack_dgeevx_balance_t_IGRAPH_LAPACK_DGEEVX_BALANCE_SCALE:
19129 igraph_lapack_dgeevx_balance_t = 2;
19130pub const igraph_lapack_dgeevx_balance_t_IGRAPH_LAPACK_DGEEVX_BALANCE_BOTH:
19131 igraph_lapack_dgeevx_balance_t = 3;
19132pub type igraph_lapack_dgeevx_balance_t = ::std::os::raw::c_uint;
19133unsafe extern "C" {
19134 pub fn igraph_lapack_dgeevx(
19135 balance: igraph_lapack_dgeevx_balance_t,
19136 A: *const igraph_matrix_t,
19137 valuesreal: *mut igraph_vector_t,
19138 valuesimag: *mut igraph_vector_t,
19139 vectorsleft: *mut igraph_matrix_t,
19140 vectorsright: *mut igraph_matrix_t,
19141 ilo: *mut ::std::os::raw::c_int,
19142 ihi: *mut ::std::os::raw::c_int,
19143 scale: *mut igraph_vector_t,
19144 abnrm: *mut igraph_real_t,
19145 rconde: *mut igraph_vector_t,
19146 rcondv: *mut igraph_vector_t,
19147 info: *mut ::std::os::raw::c_int,
19148 ) -> igraph_error_t;
19149}
19150unsafe extern "C" {
19151 pub fn igraph_lapack_dgehrd(
19152 A: *const igraph_matrix_t,
19153 ilo: ::std::os::raw::c_int,
19154 ihi: ::std::os::raw::c_int,
19155 result: *mut igraph_matrix_t,
19156 ) -> igraph_error_t;
19157}
19158unsafe extern "C" {
19159 pub fn igraph_assortativity_nominal(
19160 graph: *const igraph_t,
19161 weights: *const igraph_vector_t,
19162 types: *const igraph_vector_int_t,
19163 res: *mut igraph_real_t,
19164 directed: igraph_bool_t,
19165 normalized: igraph_bool_t,
19166 ) -> igraph_error_t;
19167}
19168unsafe extern "C" {
19169 pub fn igraph_assortativity(
19170 graph: *const igraph_t,
19171 weights: *const igraph_vector_t,
19172 values: *const igraph_vector_t,
19173 values_in: *const igraph_vector_t,
19174 res: *mut igraph_real_t,
19175 directed: igraph_bool_t,
19176 normalized: igraph_bool_t,
19177 ) -> igraph_error_t;
19178}
19179unsafe extern "C" {
19180 pub fn igraph_assortativity_degree(
19181 graph: *const igraph_t,
19182 res: *mut igraph_real_t,
19183 directed: igraph_bool_t,
19184 ) -> igraph_error_t;
19185}
19186unsafe extern "C" {
19187 pub fn igraph_joint_degree_matrix(
19188 graph: *const igraph_t,
19189 weights: *const igraph_vector_t,
19190 jdm: *mut igraph_matrix_t,
19191 dout: igraph_int_t,
19192 din: igraph_int_t,
19193 ) -> igraph_error_t;
19194}
19195unsafe extern "C" {
19196 pub fn igraph_joint_degree_distribution(
19197 graph: *const igraph_t,
19198 weights: *const igraph_vector_t,
19199 p: *mut igraph_matrix_t,
19200 from_mode: igraph_neimode_t,
19201 to_mode: igraph_neimode_t,
19202 directed_neighbors: igraph_bool_t,
19203 normalized: igraph_bool_t,
19204 max_from_degree: igraph_int_t,
19205 max_to_degree: igraph_int_t,
19206 ) -> igraph_error_t;
19207}
19208unsafe extern "C" {
19209 pub fn igraph_joint_type_distribution(
19210 graph: *const igraph_t,
19211 weights: *const igraph_vector_t,
19212 p: *mut igraph_matrix_t,
19213 from_types: *const igraph_vector_int_t,
19214 to_types: *const igraph_vector_int_t,
19215 directed: igraph_bool_t,
19216 normalized: igraph_bool_t,
19217 ) -> igraph_error_t;
19218}
19219unsafe extern "C" {
19220 pub fn igraph_is_separator(
19221 graph: *const igraph_t,
19222 candidate: igraph_vs_t,
19223 res: *mut igraph_bool_t,
19224 ) -> igraph_error_t;
19225}
19226unsafe extern "C" {
19227 pub fn igraph_all_minimal_st_separators(
19228 graph: *const igraph_t,
19229 separators: *mut igraph_vector_int_list_t,
19230 ) -> igraph_error_t;
19231}
19232unsafe extern "C" {
19233 pub fn igraph_is_minimal_separator(
19234 graph: *const igraph_t,
19235 candidate: igraph_vs_t,
19236 res: *mut igraph_bool_t,
19237 ) -> igraph_error_t;
19238}
19239unsafe extern "C" {
19240 pub fn igraph_minimum_size_separators(
19241 graph: *const igraph_t,
19242 separators: *mut igraph_vector_int_list_t,
19243 ) -> igraph_error_t;
19244}
19245unsafe extern "C" {
19246 pub fn igraph_cohesive_blocks(
19247 graph: *const igraph_t,
19248 blocks: *mut igraph_vector_int_list_t,
19249 cohesion: *mut igraph_vector_int_t,
19250 parent: *mut igraph_vector_int_t,
19251 block_tree: *mut igraph_t,
19252 ) -> igraph_error_t;
19253}
19254pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_AUTO: igraph_eigen_algorithm_t = 0;
19255pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_LAPACK: igraph_eigen_algorithm_t = 1;
19256pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_ARPACK: igraph_eigen_algorithm_t = 2;
19257pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_COMP_AUTO: igraph_eigen_algorithm_t = 3;
19258pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_COMP_LAPACK: igraph_eigen_algorithm_t = 4;
19259pub const igraph_eigen_algorithm_t_IGRAPH_EIGEN_COMP_ARPACK: igraph_eigen_algorithm_t = 5;
19260pub type igraph_eigen_algorithm_t = ::std::os::raw::c_uint;
19261pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_LM: igraph_eigen_which_position_t = 0;
19262pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_SM: igraph_eigen_which_position_t = 1;
19263pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_LA: igraph_eigen_which_position_t = 2;
19264pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_SA: igraph_eigen_which_position_t = 3;
19265pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_BE: igraph_eigen_which_position_t = 4;
19266pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_LR: igraph_eigen_which_position_t = 5;
19267pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_SR: igraph_eigen_which_position_t = 6;
19268pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_LI: igraph_eigen_which_position_t = 7;
19269pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_SI: igraph_eigen_which_position_t = 8;
19270pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_ALL: igraph_eigen_which_position_t = 9;
19271pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_INTERVAL: igraph_eigen_which_position_t = 10;
19272pub const igraph_eigen_which_position_t_IGRAPH_EIGEN_SELECT: igraph_eigen_which_position_t = 11;
19273pub type igraph_eigen_which_position_t = ::std::os::raw::c_uint;
19274#[repr(C)]
19275#[derive(Debug, Copy, Clone)]
19276pub struct igraph_eigen_which_t {
19277 pub pos: igraph_eigen_which_position_t,
19278 pub howmany: ::std::os::raw::c_int,
19279 pub il: ::std::os::raw::c_int,
19280 pub iu: ::std::os::raw::c_int,
19281 pub vl: igraph_real_t,
19282 pub vu: igraph_real_t,
19283 pub vestimate: ::std::os::raw::c_int,
19284 pub balance: igraph_lapack_dgeevx_balance_t,
19285}
19286#[allow(clippy::unnecessary_operation, clippy::identity_op)]
19287const _: () = {
19288 ["Size of igraph_eigen_which_t"][::std::mem::size_of::<igraph_eigen_which_t>() - 40usize];
19289 ["Alignment of igraph_eigen_which_t"][::std::mem::align_of::<igraph_eigen_which_t>() - 8usize];
19290 ["Offset of field: igraph_eigen_which_t::pos"]
19291 [::std::mem::offset_of!(igraph_eigen_which_t, pos) - 0usize];
19292 ["Offset of field: igraph_eigen_which_t::howmany"]
19293 [::std::mem::offset_of!(igraph_eigen_which_t, howmany) - 4usize];
19294 ["Offset of field: igraph_eigen_which_t::il"]
19295 [::std::mem::offset_of!(igraph_eigen_which_t, il) - 8usize];
19296 ["Offset of field: igraph_eigen_which_t::iu"]
19297 [::std::mem::offset_of!(igraph_eigen_which_t, iu) - 12usize];
19298 ["Offset of field: igraph_eigen_which_t::vl"]
19299 [::std::mem::offset_of!(igraph_eigen_which_t, vl) - 16usize];
19300 ["Offset of field: igraph_eigen_which_t::vu"]
19301 [::std::mem::offset_of!(igraph_eigen_which_t, vu) - 24usize];
19302 ["Offset of field: igraph_eigen_which_t::vestimate"]
19303 [::std::mem::offset_of!(igraph_eigen_which_t, vestimate) - 32usize];
19304 ["Offset of field: igraph_eigen_which_t::balance"]
19305 [::std::mem::offset_of!(igraph_eigen_which_t, balance) - 36usize];
19306};
19307unsafe extern "C" {
19308 pub fn igraph_eigen_matrix_symmetric(
19309 A: *const igraph_matrix_t,
19310 sA: *const igraph_sparsemat_t,
19311 fun: igraph_arpack_function_t,
19312 n: ::std::os::raw::c_int,
19313 extra: *mut ::std::os::raw::c_void,
19314 algorithm: igraph_eigen_algorithm_t,
19315 which: *const igraph_eigen_which_t,
19316 options: *mut igraph_arpack_options_t,
19317 storage: *mut igraph_arpack_storage_t,
19318 values: *mut igraph_vector_t,
19319 vectors: *mut igraph_matrix_t,
19320 ) -> igraph_error_t;
19321}
19322unsafe extern "C" {
19323 pub fn igraph_eigen_matrix(
19324 A: *const igraph_matrix_t,
19325 sA: *const igraph_sparsemat_t,
19326 fun: igraph_arpack_function_t,
19327 n: ::std::os::raw::c_int,
19328 extra: *mut ::std::os::raw::c_void,
19329 algorithm: igraph_eigen_algorithm_t,
19330 which: *const igraph_eigen_which_t,
19331 options: *mut igraph_arpack_options_t,
19332 storage: *mut igraph_arpack_storage_t,
19333 values: *mut igraph_vector_complex_t,
19334 vectors: *mut igraph_matrix_complex_t,
19335 ) -> igraph_error_t;
19336}
19337unsafe extern "C" {
19338 pub fn igraph_eigen_adjacency(
19339 graph: *const igraph_t,
19340 algorithm: igraph_eigen_algorithm_t,
19341 which: *const igraph_eigen_which_t,
19342 options: *mut igraph_arpack_options_t,
19343 storage: *mut igraph_arpack_storage_t,
19344 values: *mut igraph_vector_t,
19345 vectors: *mut igraph_matrix_t,
19346 cmplxvalues: *mut igraph_vector_complex_t,
19347 cmplxvectors: *mut igraph_matrix_complex_t,
19348 ) -> igraph_error_t;
19349}
19350#[doc = " \\struct igraph_hrg_t\n \\brief Data structure to store a hierarchical random graph.\n\n A hierarchical random graph (HRG) can be given as a binary tree,\n where the internal vertices are labeled with real numbers.\n\n </para><para>Note that you don't necessarily have to know this\n internal representation for using the HRG functions, just pass the\n HRG objects created by one igraph function, to another igraph\n function.\n\n </para><para>\n It has the following members:\n\n \\member left Vector that contains the left children of the internal\n tree vertices. The first vertex is always the root vertex, so\n the first element of the vector is the left child of the root\n vertex. Internal vertices are denoted with negative numbers,\n starting from -1 and going down, i.e. the root vertex is\n -1. Leaf vertices are denoted by non-negative number, starting\n from zero and up.\n \\member right Vector that contains the right children of the\n vertices, with the same encoding as the \\c left vector.\n \\member prob The connection probabilities attached to the internal\n vertices, the first number belongs to the root vertex\n (i.e. internal vertex -1), the second to internal vertex -2,\n etc.\n \\member edges The number of edges in the subtree below the given\n internal vertex.\n \\member vertices The number of vertices in the subtree below the\n given internal vertex, including itself."]
19351#[repr(C)]
19352#[derive(Debug, Clone)]
19353pub struct igraph_hrg_t {
19354 pub left: igraph_vector_int_t,
19355 pub right: igraph_vector_int_t,
19356 pub prob: igraph_vector_t,
19357 pub vertices: igraph_vector_int_t,
19358 pub edges: igraph_vector_int_t,
19359}
19360#[allow(clippy::unnecessary_operation, clippy::identity_op)]
19361const _: () = {
19362 ["Size of igraph_hrg_t"][::std::mem::size_of::<igraph_hrg_t>() - 120usize];
19363 ["Alignment of igraph_hrg_t"][::std::mem::align_of::<igraph_hrg_t>() - 8usize];
19364 ["Offset of field: igraph_hrg_t::left"][::std::mem::offset_of!(igraph_hrg_t, left) - 0usize];
19365 ["Offset of field: igraph_hrg_t::right"][::std::mem::offset_of!(igraph_hrg_t, right) - 24usize];
19366 ["Offset of field: igraph_hrg_t::prob"][::std::mem::offset_of!(igraph_hrg_t, prob) - 48usize];
19367 ["Offset of field: igraph_hrg_t::vertices"]
19368 [::std::mem::offset_of!(igraph_hrg_t, vertices) - 72usize];
19369 ["Offset of field: igraph_hrg_t::edges"][::std::mem::offset_of!(igraph_hrg_t, edges) - 96usize];
19370};
19371unsafe extern "C" {
19372 pub fn igraph_hrg_init(hrg: *mut igraph_hrg_t, n: igraph_int_t) -> igraph_error_t;
19373}
19374unsafe extern "C" {
19375 pub fn igraph_hrg_destroy(hrg: *mut igraph_hrg_t);
19376}
19377unsafe extern "C" {
19378 pub fn igraph_hrg_size(hrg: *const igraph_hrg_t) -> igraph_int_t;
19379}
19380unsafe extern "C" {
19381 pub fn igraph_hrg_resize(hrg: *mut igraph_hrg_t, newsize: igraph_int_t) -> igraph_error_t;
19382}
19383unsafe extern "C" {
19384 pub fn igraph_hrg_fit(
19385 graph: *const igraph_t,
19386 hrg: *mut igraph_hrg_t,
19387 start: igraph_bool_t,
19388 steps: igraph_int_t,
19389 ) -> igraph_error_t;
19390}
19391unsafe extern "C" {
19392 pub fn igraph_hrg_sample(hrg: *const igraph_hrg_t, sample: *mut igraph_t) -> igraph_error_t;
19393}
19394unsafe extern "C" {
19395 pub fn igraph_hrg_sample_many(
19396 hrg: *const igraph_hrg_t,
19397 samples: *mut igraph_graph_list_t,
19398 num_samples: igraph_int_t,
19399 ) -> igraph_error_t;
19400}
19401unsafe extern "C" {
19402 pub fn igraph_hrg_game(graph: *mut igraph_t, hrg: *const igraph_hrg_t) -> igraph_error_t;
19403}
19404unsafe extern "C" {
19405 pub fn igraph_from_hrg_dendrogram(
19406 graph: *mut igraph_t,
19407 hrg: *const igraph_hrg_t,
19408 prob: *mut igraph_vector_t,
19409 ) -> igraph_error_t;
19410}
19411unsafe extern "C" {
19412 pub fn igraph_hrg_consensus(
19413 graph: *const igraph_t,
19414 parents: *mut igraph_vector_int_t,
19415 weights: *mut igraph_vector_t,
19416 hrg: *mut igraph_hrg_t,
19417 start: igraph_bool_t,
19418 num_samples: igraph_int_t,
19419 ) -> igraph_error_t;
19420}
19421unsafe extern "C" {
19422 pub fn igraph_hrg_predict(
19423 graph: *const igraph_t,
19424 edges: *mut igraph_vector_int_t,
19425 prob: *mut igraph_vector_t,
19426 hrg: *mut igraph_hrg_t,
19427 start: igraph_bool_t,
19428 num_samples: igraph_int_t,
19429 num_bins: igraph_int_t,
19430 ) -> igraph_error_t;
19431}
19432unsafe extern "C" {
19433 pub fn igraph_hrg_create(
19434 hrg: *mut igraph_hrg_t,
19435 graph: *const igraph_t,
19436 prob: *const igraph_vector_t,
19437 ) -> igraph_error_t;
19438}
19439unsafe extern "C" {
19440 pub fn igraph_hrg_dendrogram(graph: *mut igraph_t, hrg: *const igraph_hrg_t) -> igraph_error_t;
19441}
19442#[doc = " \\typedef igraph_interruption_handler_t\n\n This is the type of the interruption handler functions.\n\n \\return false if the calculation should go on, true if the calculation\n should be interrupted."]
19443pub type igraph_interruption_handler_t =
19444 ::std::option::Option<unsafe extern "C" fn() -> igraph_bool_t>;
19445unsafe extern "C" {
19446 #[doc = " \\function igraph_allow_interruption\n\n This is the function which is called (usually via the\n \\ref IGRAPH_ALLOW_INTERRUPTION macro) if \\a igraph is checking for interruption\n requests.\n\n \\return false if the calculation should go on, true if the calculation\n should be interrupted."]
19447 pub fn igraph_allow_interruption() -> igraph_bool_t;
19448}
19449unsafe extern "C" {
19450 pub fn igraph_set_interruption_handler(
19451 new_handler: igraph_interruption_handler_t,
19452 ) -> igraph_interruption_handler_t;
19453}
19454unsafe extern "C" {
19455 pub fn igraph_is_matching(
19456 graph: *const igraph_t,
19457 types: *const igraph_vector_bool_t,
19458 matching: *const igraph_vector_int_t,
19459 result: *mut igraph_bool_t,
19460 ) -> igraph_error_t;
19461}
19462unsafe extern "C" {
19463 pub fn igraph_is_maximal_matching(
19464 graph: *const igraph_t,
19465 types: *const igraph_vector_bool_t,
19466 matching: *const igraph_vector_int_t,
19467 result: *mut igraph_bool_t,
19468 ) -> igraph_error_t;
19469}
19470unsafe extern "C" {
19471 pub fn igraph_maximum_bipartite_matching(
19472 graph: *const igraph_t,
19473 types: *const igraph_vector_bool_t,
19474 matching_size: *mut igraph_int_t,
19475 matching_weight: *mut igraph_real_t,
19476 matching: *mut igraph_vector_int_t,
19477 weights: *const igraph_vector_t,
19478 eps: igraph_real_t,
19479 ) -> igraph_error_t;
19480}
19481unsafe extern "C" {
19482 pub fn igraph_adjacency_spectral_embedding(
19483 graph: *const igraph_t,
19484 no: igraph_int_t,
19485 weights: *const igraph_vector_t,
19486 which: igraph_eigen_which_position_t,
19487 scaled: igraph_bool_t,
19488 X: *mut igraph_matrix_t,
19489 Y: *mut igraph_matrix_t,
19490 D: *mut igraph_vector_t,
19491 cvec: *const igraph_vector_t,
19492 options: *mut igraph_arpack_options_t,
19493 ) -> igraph_error_t;
19494}
19495pub const igraph_laplacian_spectral_embedding_type_t_IGRAPH_EMBEDDING_D_A:
19496 igraph_laplacian_spectral_embedding_type_t = 0;
19497pub const igraph_laplacian_spectral_embedding_type_t_IGRAPH_EMBEDDING_I_DAD:
19498 igraph_laplacian_spectral_embedding_type_t = 1;
19499pub const igraph_laplacian_spectral_embedding_type_t_IGRAPH_EMBEDDING_DAD:
19500 igraph_laplacian_spectral_embedding_type_t = 2;
19501pub const igraph_laplacian_spectral_embedding_type_t_IGRAPH_EMBEDDING_OAP:
19502 igraph_laplacian_spectral_embedding_type_t = 3;
19503pub type igraph_laplacian_spectral_embedding_type_t = ::std::os::raw::c_uint;
19504unsafe extern "C" {
19505 pub fn igraph_laplacian_spectral_embedding(
19506 graph: *const igraph_t,
19507 no: igraph_int_t,
19508 weights: *const igraph_vector_t,
19509 which: igraph_eigen_which_position_t,
19510 type_: igraph_laplacian_spectral_embedding_type_t,
19511 scaled: igraph_bool_t,
19512 X: *mut igraph_matrix_t,
19513 Y: *mut igraph_matrix_t,
19514 D: *mut igraph_vector_t,
19515 options: *mut igraph_arpack_options_t,
19516 ) -> igraph_error_t;
19517}
19518unsafe extern "C" {
19519 pub fn igraph_dim_select(sv: *const igraph_vector_t, dim: *mut igraph_int_t) -> igraph_error_t;
19520}
19521unsafe extern "C" {
19522 pub fn igraph_local_scan_0(
19523 graph: *const igraph_t,
19524 res: *mut igraph_vector_t,
19525 weights: *const igraph_vector_t,
19526 mode: igraph_neimode_t,
19527 ) -> igraph_error_t;
19528}
19529unsafe extern "C" {
19530 pub fn igraph_local_scan_0_them(
19531 us: *const igraph_t,
19532 them: *const igraph_t,
19533 res: *mut igraph_vector_t,
19534 weights_them: *const igraph_vector_t,
19535 mode: igraph_neimode_t,
19536 ) -> igraph_error_t;
19537}
19538unsafe extern "C" {
19539 pub fn igraph_local_scan_1_ecount(
19540 graph: *const igraph_t,
19541 res: *mut igraph_vector_t,
19542 weights: *const igraph_vector_t,
19543 mode: igraph_neimode_t,
19544 ) -> igraph_error_t;
19545}
19546unsafe extern "C" {
19547 pub fn igraph_local_scan_1_ecount_them(
19548 us: *const igraph_t,
19549 them: *const igraph_t,
19550 res: *mut igraph_vector_t,
19551 weights: *const igraph_vector_t,
19552 mode: igraph_neimode_t,
19553 ) -> igraph_error_t;
19554}
19555unsafe extern "C" {
19556 pub fn igraph_local_scan_k_ecount(
19557 graph: *const igraph_t,
19558 k: igraph_int_t,
19559 res: *mut igraph_vector_t,
19560 weights: *const igraph_vector_t,
19561 mode: igraph_neimode_t,
19562 ) -> igraph_error_t;
19563}
19564unsafe extern "C" {
19565 pub fn igraph_local_scan_k_ecount_them(
19566 us: *const igraph_t,
19567 them: *const igraph_t,
19568 k: igraph_int_t,
19569 res: *mut igraph_vector_t,
19570 weights_them: *const igraph_vector_t,
19571 mode: igraph_neimode_t,
19572 ) -> igraph_error_t;
19573}
19574unsafe extern "C" {
19575 pub fn igraph_local_scan_neighborhood_ecount(
19576 graph: *const igraph_t,
19577 res: *mut igraph_vector_t,
19578 weights: *const igraph_vector_t,
19579 neighborhoods: *const igraph_vector_int_list_t,
19580 ) -> igraph_error_t;
19581}
19582unsafe extern "C" {
19583 pub fn igraph_local_scan_subset_ecount(
19584 graph: *const igraph_t,
19585 res: *mut igraph_vector_t,
19586 weights: *const igraph_vector_t,
19587 neighborhoods: *const igraph_vector_int_list_t,
19588 ) -> igraph_error_t;
19589}
19590unsafe extern "C" {
19591 pub fn igraph_graphlets_candidate_basis(
19592 graph: *const igraph_t,
19593 weights: *const igraph_vector_t,
19594 cliques: *mut igraph_vector_int_list_t,
19595 thresholds: *mut igraph_vector_t,
19596 ) -> igraph_error_t;
19597}
19598unsafe extern "C" {
19599 pub fn igraph_graphlets_project(
19600 graph: *const igraph_t,
19601 weights: *const igraph_vector_t,
19602 cliques: *const igraph_vector_int_list_t,
19603 Mu: *mut igraph_vector_t,
19604 startMu: igraph_bool_t,
19605 niter: igraph_int_t,
19606 ) -> igraph_error_t;
19607}
19608unsafe extern "C" {
19609 pub fn igraph_graphlets(
19610 graph: *const igraph_t,
19611 weights: *const igraph_vector_t,
19612 cliques: *mut igraph_vector_int_list_t,
19613 Mu: *mut igraph_vector_t,
19614 niter: igraph_int_t,
19615 ) -> igraph_error_t;
19616}
19617#[doc = " \\struct igraph_sir_t\n \\brief The result of one SIR model simulation.\n\n Data structure to store the results of one simulation\n of the SIR (susceptible-infected-recovered) model on a graph.\n\n It has the following members. They are all (real or integer)\n vectors, and they are of the same length.\n\n \\member times A vector, the times of the events are stored here.\n \\member no_s An integer vector, the number of susceptibles in\n each time step is stored here.\n \\member no_i An integer vector, the number of infected individuals\n at each time step, is stored here.\n \\member no_r An integer vector, the number of recovered individuals\n is stored here at each time step."]
19618#[repr(C)]
19619#[derive(Debug, Clone)]
19620pub struct igraph_sir_t {
19621 pub times: igraph_vector_t,
19622 pub no_s: igraph_vector_int_t,
19623 pub no_i: igraph_vector_int_t,
19624 pub no_r: igraph_vector_int_t,
19625}
19626#[allow(clippy::unnecessary_operation, clippy::identity_op)]
19627const _: () = {
19628 ["Size of igraph_sir_t"][::std::mem::size_of::<igraph_sir_t>() - 96usize];
19629 ["Alignment of igraph_sir_t"][::std::mem::align_of::<igraph_sir_t>() - 8usize];
19630 ["Offset of field: igraph_sir_t::times"][::std::mem::offset_of!(igraph_sir_t, times) - 0usize];
19631 ["Offset of field: igraph_sir_t::no_s"][::std::mem::offset_of!(igraph_sir_t, no_s) - 24usize];
19632 ["Offset of field: igraph_sir_t::no_i"][::std::mem::offset_of!(igraph_sir_t, no_i) - 48usize];
19633 ["Offset of field: igraph_sir_t::no_r"][::std::mem::offset_of!(igraph_sir_t, no_r) - 72usize];
19634};
19635unsafe extern "C" {
19636 pub fn igraph_sir_init(sir: *mut igraph_sir_t) -> igraph_error_t;
19637}
19638unsafe extern "C" {
19639 pub fn igraph_sir_destroy(sir: *mut igraph_sir_t);
19640}
19641unsafe extern "C" {
19642 pub fn igraph_sir(
19643 graph: *const igraph_t,
19644 beta: igraph_real_t,
19645 gamma: igraph_real_t,
19646 no_sim: igraph_int_t,
19647 result: *mut igraph_vector_ptr_t,
19648 ) -> igraph_error_t;
19649}
19650unsafe extern "C" {
19651 pub fn igraph_solve_lsap(
19652 c: *const igraph_matrix_t,
19653 n: igraph_int_t,
19654 p: *mut igraph_vector_int_t,
19655 ) -> igraph_error_t;
19656}
19657pub const igraph_coloring_greedy_t_IGRAPH_COLORING_GREEDY_COLORED_NEIGHBORS:
19658 igraph_coloring_greedy_t = 0;
19659pub const igraph_coloring_greedy_t_IGRAPH_COLORING_GREEDY_DSATUR: igraph_coloring_greedy_t = 1;
19660#[doc = " \\typedef igraph_coloring_greedy_t\n \\brief Ordering heuristics for greedy graph coloring.\n\n Ordering heuristics for \\ref igraph_vertex_coloring_greedy().\n\n \\enumval IGRAPH_COLORING_GREEDY_COLORED_NEIGHBORS\n Choose the vertex with largest number of already colored neighbors.\n \\enumval IGRAPH_COLORING_GREEDY_DSATUR\n Choose the vertex with largest number of unique colors in its neighborhood, i.e. its\n \"saturation degree\". When multiple vertices have the same saturation degree, choose\n the one with the most not yet colored neighbors. Added in igraph 0.10.4. This heuristic\n is known as \"DSatur\", and was proposed in\n Daniel Brélaz: New methods to color the vertices of a graph,\n Commun. ACM 22, 4 (1979), 251–256. https://doi.org/10.1145/359094.359101"]
19661pub type igraph_coloring_greedy_t = ::std::os::raw::c_uint;
19662unsafe extern "C" {
19663 pub fn igraph_vertex_coloring_greedy(
19664 graph: *const igraph_t,
19665 colors: *mut igraph_vector_int_t,
19666 heuristic: igraph_coloring_greedy_t,
19667 ) -> igraph_error_t;
19668}
19669unsafe extern "C" {
19670 pub fn igraph_is_vertex_coloring(
19671 graph: *const igraph_t,
19672 types: *const igraph_vector_int_t,
19673 res: *mut igraph_bool_t,
19674 ) -> igraph_error_t;
19675}
19676unsafe extern "C" {
19677 pub fn igraph_is_bipartite_coloring(
19678 graph: *const igraph_t,
19679 types: *const igraph_vector_bool_t,
19680 res: *mut igraph_bool_t,
19681 mode: *mut igraph_neimode_t,
19682 ) -> igraph_error_t;
19683}
19684unsafe extern "C" {
19685 pub fn igraph_is_edge_coloring(
19686 graph: *const igraph_t,
19687 types: *const igraph_vector_int_t,
19688 res: *mut igraph_bool_t,
19689 ) -> igraph_error_t;
19690}
19691unsafe extern "C" {
19692 pub fn igraph_is_eulerian(
19693 graph: *const igraph_t,
19694 has_path: *mut igraph_bool_t,
19695 has_cycle: *mut igraph_bool_t,
19696 ) -> igraph_error_t;
19697}
19698unsafe extern "C" {
19699 pub fn igraph_eulerian_path(
19700 graph: *const igraph_t,
19701 edge_res: *mut igraph_vector_int_t,
19702 vertex_res: *mut igraph_vector_int_t,
19703 ) -> igraph_error_t;
19704}
19705unsafe extern "C" {
19706 pub fn igraph_eulerian_cycle(
19707 graph: *const igraph_t,
19708 edge_res: *mut igraph_vector_int_t,
19709 vertex_res: *mut igraph_vector_int_t,
19710 ) -> igraph_error_t;
19711}
19712unsafe extern "C" {
19713 pub fn igraph_topological_sorting(
19714 graph: *const igraph_t,
19715 res: *mut igraph_vector_int_t,
19716 mode: igraph_neimode_t,
19717 ) -> igraph_error_t;
19718}
19719unsafe extern "C" {
19720 pub fn igraph_is_dag(graph: *const igraph_t, res: *mut igraph_bool_t) -> igraph_error_t;
19721}
19722unsafe extern "C" {
19723 pub fn igraph_fundamental_cycles(
19724 graph: *const igraph_t,
19725 weights: *const igraph_vector_t,
19726 result: *mut igraph_vector_int_list_t,
19727 start_vid: igraph_int_t,
19728 bfs_cutoff: igraph_real_t,
19729 ) -> igraph_error_t;
19730}
19731unsafe extern "C" {
19732 pub fn igraph_minimum_cycle_basis(
19733 graph: *const igraph_t,
19734 weights: *const igraph_vector_t,
19735 result: *mut igraph_vector_int_list_t,
19736 bfs_cutoff: igraph_real_t,
19737 complete: igraph_bool_t,
19738 use_cycle_order: igraph_bool_t,
19739 ) -> igraph_error_t;
19740}
19741unsafe extern "C" {
19742 pub fn igraph_find_cycle(
19743 graph: *const igraph_t,
19744 vertices: *mut igraph_vector_int_t,
19745 edges: *mut igraph_vector_int_t,
19746 mode: igraph_neimode_t,
19747 ) -> igraph_error_t;
19748}
19749#[doc = " \\typedef igraph_cycle_handler_t\n \\brief Type of cycle handler functions.\n\n Callback type, called by \\ref igraph_simple_cycles_callback() when\n a cycle is found.\n\n \\param vertices The vertices of the current cycle. Must not be modified.\n \\param edges The edges of the current cycle. Must not be modified.\n \\param arg The extra parameter passed to \\ref igraph_simple_cycles_callback()\n \\return Error code; \\c IGRAPH_SUCCESS to continue the search or\n \\c IGRAPH_STOP to stop the search without signaling an error."]
19750pub type igraph_cycle_handler_t = ::std::option::Option<
19751 unsafe extern "C" fn(
19752 vertices: *const igraph_vector_int_t,
19753 edges: *const igraph_vector_int_t,
19754 arg: *mut ::std::os::raw::c_void,
19755 ) -> igraph_error_t,
19756>;
19757unsafe extern "C" {
19758 pub fn igraph_simple_cycles_callback(
19759 graph: *const igraph_t,
19760 mode: igraph_neimode_t,
19761 min_cycle_length: igraph_int_t,
19762 max_cycle_length: igraph_int_t,
19763 callback: igraph_cycle_handler_t,
19764 arg: *mut ::std::os::raw::c_void,
19765 ) -> igraph_error_t;
19766}
19767unsafe extern "C" {
19768 pub fn igraph_simple_cycles(
19769 graph: *const igraph_t,
19770 vertices: *mut igraph_vector_int_list_t,
19771 edges: *mut igraph_vector_int_list_t,
19772 mode: igraph_neimode_t,
19773 min_cycle_length: igraph_int_t,
19774 max_cycle_length: igraph_int_t,
19775 max_results: igraph_int_t,
19776 ) -> igraph_error_t;
19777}
19778unsafe extern "C" {
19779 pub fn igraph_feedback_arc_set(
19780 graph: *const igraph_t,
19781 result: *mut igraph_vector_int_t,
19782 weights: *const igraph_vector_t,
19783 algo: igraph_fas_algorithm_t,
19784 ) -> igraph_error_t;
19785}
19786unsafe extern "C" {
19787 pub fn igraph_feedback_vertex_set(
19788 graph: *const igraph_t,
19789 result: *mut igraph_vector_int_t,
19790 vertex_weights: *const igraph_vector_t,
19791 algo: igraph_fvs_algorithm_t,
19792 ) -> igraph_error_t;
19793}
19794#[doc = " Vector list, dealing with lists of typed vectors efficiently.\n \\ingroup types"]
19795#[repr(C)]
19796#[derive(Debug, Copy, Clone)]
19797pub struct igraph_bitset_list_t {
19798 pub stor_begin: *mut igraph_bitset_t,
19799 pub stor_end: *mut igraph_bitset_t,
19800 pub end: *mut igraph_bitset_t,
19801}
19802#[allow(clippy::unnecessary_operation, clippy::identity_op)]
19803const _: () = {
19804 ["Size of igraph_bitset_list_t"][::std::mem::size_of::<igraph_bitset_list_t>() - 24usize];
19805 ["Alignment of igraph_bitset_list_t"][::std::mem::align_of::<igraph_bitset_list_t>() - 8usize];
19806 ["Offset of field: igraph_bitset_list_t::stor_begin"]
19807 [::std::mem::offset_of!(igraph_bitset_list_t, stor_begin) - 0usize];
19808 ["Offset of field: igraph_bitset_list_t::stor_end"]
19809 [::std::mem::offset_of!(igraph_bitset_list_t, stor_end) - 8usize];
19810 ["Offset of field: igraph_bitset_list_t::end"]
19811 [::std::mem::offset_of!(igraph_bitset_list_t, end) - 16usize];
19812};
19813unsafe extern "C" {
19814 pub fn igraph_bitset_list_init(
19815 v: *mut igraph_bitset_list_t,
19816 size: igraph_int_t,
19817 ) -> igraph_error_t;
19818}
19819unsafe extern "C" {
19820 pub fn igraph_bitset_list_init_copy(
19821 to: *mut igraph_bitset_list_t,
19822 from: *const igraph_bitset_list_t,
19823 ) -> igraph_error_t;
19824}
19825unsafe extern "C" {
19826 pub fn igraph_bitset_list_destroy(v: *mut igraph_bitset_list_t);
19827}
19828unsafe extern "C" {
19829 pub fn igraph_bitset_list_get_ptr(
19830 v: *const igraph_bitset_list_t,
19831 pos: igraph_int_t,
19832 ) -> *mut igraph_bitset_t;
19833}
19834unsafe extern "C" {
19835 pub fn igraph_bitset_list_set(
19836 v: *mut igraph_bitset_list_t,
19837 pos: igraph_int_t,
19838 e: *mut igraph_bitset_t,
19839 );
19840}
19841unsafe extern "C" {
19842 pub fn igraph_bitset_list_tail_ptr(v: *const igraph_bitset_list_t) -> *mut igraph_bitset_t;
19843}
19844unsafe extern "C" {
19845 pub fn igraph_bitset_list_capacity(v: *const igraph_bitset_list_t) -> igraph_int_t;
19846}
19847unsafe extern "C" {
19848 pub fn igraph_bitset_list_empty(v: *const igraph_bitset_list_t) -> igraph_bool_t;
19849}
19850unsafe extern "C" {
19851 pub fn igraph_bitset_list_size(v: *const igraph_bitset_list_t) -> igraph_int_t;
19852}
19853unsafe extern "C" {
19854 pub fn igraph_bitset_list_clear(v: *mut igraph_bitset_list_t);
19855}
19856unsafe extern "C" {
19857 pub fn igraph_bitset_list_reserve(
19858 v: *mut igraph_bitset_list_t,
19859 capacity: igraph_int_t,
19860 ) -> igraph_error_t;
19861}
19862unsafe extern "C" {
19863 pub fn igraph_bitset_list_resize(
19864 v: *mut igraph_bitset_list_t,
19865 new_size: igraph_int_t,
19866 ) -> igraph_error_t;
19867}
19868unsafe extern "C" {
19869 pub fn igraph_bitset_list_discard(v: *mut igraph_bitset_list_t, index: igraph_int_t);
19870}
19871unsafe extern "C" {
19872 pub fn igraph_bitset_list_discard_back(v: *mut igraph_bitset_list_t);
19873}
19874unsafe extern "C" {
19875 pub fn igraph_bitset_list_discard_fast(v: *mut igraph_bitset_list_t, index: igraph_int_t);
19876}
19877unsafe extern "C" {
19878 pub fn igraph_bitset_list_insert(
19879 v: *mut igraph_bitset_list_t,
19880 pos: igraph_int_t,
19881 e: *mut igraph_bitset_t,
19882 ) -> igraph_error_t;
19883}
19884unsafe extern "C" {
19885 pub fn igraph_bitset_list_insert_copy(
19886 v: *mut igraph_bitset_list_t,
19887 pos: igraph_int_t,
19888 e: *const igraph_bitset_t,
19889 ) -> igraph_error_t;
19890}
19891unsafe extern "C" {
19892 pub fn igraph_bitset_list_insert_new(
19893 v: *mut igraph_bitset_list_t,
19894 pos: igraph_int_t,
19895 result: *mut *mut igraph_bitset_t,
19896 ) -> igraph_error_t;
19897}
19898unsafe extern "C" {
19899 pub fn igraph_bitset_list_push_back(
19900 v: *mut igraph_bitset_list_t,
19901 e: *mut igraph_bitset_t,
19902 ) -> igraph_error_t;
19903}
19904unsafe extern "C" {
19905 pub fn igraph_bitset_list_push_back_copy(
19906 v: *mut igraph_bitset_list_t,
19907 e: *const igraph_bitset_t,
19908 ) -> igraph_error_t;
19909}
19910unsafe extern "C" {
19911 pub fn igraph_bitset_list_push_back_new(
19912 v: *mut igraph_bitset_list_t,
19913 result: *mut *mut igraph_bitset_t,
19914 ) -> igraph_error_t;
19915}
19916unsafe extern "C" {
19917 pub fn igraph_bitset_list_pop_back(v: *mut igraph_bitset_list_t) -> igraph_bitset_t;
19918}
19919unsafe extern "C" {
19920 pub fn igraph_bitset_list_remove(
19921 v: *mut igraph_bitset_list_t,
19922 index: igraph_int_t,
19923 e: *mut igraph_bitset_t,
19924 ) -> igraph_error_t;
19925}
19926unsafe extern "C" {
19927 pub fn igraph_bitset_list_remove_fast(
19928 v: *mut igraph_bitset_list_t,
19929 index: igraph_int_t,
19930 e: *mut igraph_bitset_t,
19931 ) -> igraph_error_t;
19932}
19933unsafe extern "C" {
19934 pub fn igraph_bitset_list_replace(
19935 v: *mut igraph_bitset_list_t,
19936 pos: igraph_int_t,
19937 e: *mut igraph_bitset_t,
19938 );
19939}
19940unsafe extern "C" {
19941 pub fn igraph_bitset_list_remove_consecutive_duplicates(
19942 v: *mut igraph_bitset_list_t,
19943 eq: ::std::option::Option<
19944 unsafe extern "C" fn(
19945 arg1: *const igraph_bitset_t,
19946 arg2: *const igraph_bitset_t,
19947 ) -> igraph_bool_t,
19948 >,
19949 );
19950}
19951unsafe extern "C" {
19952 pub fn igraph_bitset_list_permute(
19953 v: *mut igraph_bitset_list_t,
19954 index: *const igraph_vector_int_t,
19955 ) -> igraph_error_t;
19956}
19957unsafe extern "C" {
19958 pub fn igraph_bitset_list_reverse(v: *mut igraph_bitset_list_t) -> igraph_error_t;
19959}
19960unsafe extern "C" {
19961 pub fn igraph_bitset_list_swap(v1: *mut igraph_bitset_list_t, v2: *mut igraph_bitset_list_t);
19962}
19963unsafe extern "C" {
19964 pub fn igraph_bitset_list_swap_elements(
19965 v: *mut igraph_bitset_list_t,
19966 i: igraph_int_t,
19967 j: igraph_int_t,
19968 );
19969}
19970unsafe extern "C" {
19971 pub fn igraph_bitset_list_sort(
19972 v: *mut igraph_bitset_list_t,
19973 cmp: ::std::option::Option<
19974 unsafe extern "C" fn(
19975 arg1: *const igraph_bitset_t,
19976 arg2: *const igraph_bitset_t,
19977 ) -> ::std::os::raw::c_int,
19978 >,
19979 );
19980}
19981unsafe extern "C" {
19982 pub fn igraph_bitset_list_sort_ind(
19983 v: *mut igraph_bitset_list_t,
19984 ind: *mut igraph_vector_int_t,
19985 cmp: ::std::option::Option<
19986 unsafe extern "C" fn(
19987 arg1: *const igraph_bitset_t,
19988 arg2: *const igraph_bitset_t,
19989 ) -> ::std::os::raw::c_int,
19990 >,
19991 ) -> igraph_error_t;
19992}
19993unsafe extern "C" {
19994 pub fn igraph_reachability(
19995 graph: *const igraph_t,
19996 membership: *mut igraph_vector_int_t,
19997 csize: *mut igraph_vector_int_t,
19998 no_of_components: *mut igraph_int_t,
19999 reach: *mut igraph_bitset_list_t,
20000 mode: igraph_neimode_t,
20001 ) -> igraph_error_t;
20002}
20003unsafe extern "C" {
20004 pub fn igraph_count_reachable(
20005 graph: *const igraph_t,
20006 counts: *mut igraph_vector_int_t,
20007 mode: igraph_neimode_t,
20008 ) -> igraph_error_t;
20009}
20010unsafe extern "C" {
20011 pub fn igraph_transitive_closure(
20012 graph: *const igraph_t,
20013 closure: *mut igraph_t,
20014 ) -> igraph_error_t;
20015}
20016unsafe extern "C" {
20017 pub fn igraph_delaunay_graph(
20018 graph: *mut igraph_t,
20019 points: *const igraph_matrix_t,
20020 ) -> igraph_error_t;
20021}
20022unsafe extern "C" {
20023 pub fn igraph_lune_beta_skeleton(
20024 graph: *mut igraph_t,
20025 points: *const igraph_matrix_t,
20026 beta: igraph_real_t,
20027 ) -> igraph_error_t;
20028}
20029unsafe extern "C" {
20030 pub fn igraph_circle_beta_skeleton(
20031 graph: *mut igraph_t,
20032 points: *const igraph_matrix_t,
20033 beta: igraph_real_t,
20034 ) -> igraph_error_t;
20035}
20036unsafe extern "C" {
20037 pub fn igraph_beta_weighted_gabriel_graph(
20038 graph: *mut igraph_t,
20039 weights: *mut igraph_vector_t,
20040 points: *const igraph_matrix_t,
20041 max_beta: igraph_real_t,
20042 ) -> igraph_error_t;
20043}
20044unsafe extern "C" {
20045 pub fn igraph_gabriel_graph(
20046 graph: *mut igraph_t,
20047 points: *const igraph_matrix_t,
20048 ) -> igraph_error_t;
20049}
20050unsafe extern "C" {
20051 pub fn igraph_relative_neighborhood_graph(
20052 graph: *mut igraph_t,
20053 points: *const igraph_matrix_t,
20054 ) -> igraph_error_t;
20055}
20056pub const igraph_metric_t_IGRAPH_METRIC_EUCLIDEAN: igraph_metric_t = 0;
20057pub const igraph_metric_t_IGRAPH_METRIC_L2: igraph_metric_t = 0;
20058pub const igraph_metric_t_IGRAPH_METRIC_MANHATTAN: igraph_metric_t = 1;
20059pub const igraph_metric_t_IGRAPH_METRIC_L1: igraph_metric_t = 1;
20060#[doc = " \\typedef igraph_metric_t\n \\brief Metric functions for use with spatial computation.\n\n \\enumval IGRAPH_METRIC_EUCLIDEAN The Euclidean distance, i.e. L2 metric.\n \\enumval IGRAPH_METRIC_MANHATTAN The Manhattan distance, i.e. L1 metric."]
20061pub type igraph_metric_t = ::std::os::raw::c_uint;
20062unsafe extern "C" {
20063 pub fn igraph_nearest_neighbor_graph(
20064 graph: *mut igraph_t,
20065 points: *const igraph_matrix_t,
20066 metric: igraph_metric_t,
20067 neighbors: igraph_int_t,
20068 cutoff: igraph_real_t,
20069 directed: igraph_bool_t,
20070 ) -> igraph_error_t;
20071}
20072unsafe extern "C" {
20073 pub fn igraph_spatial_edge_lengths(
20074 graph: *const igraph_t,
20075 lengths: *mut igraph_vector_t,
20076 points: *const igraph_matrix_t,
20077 metric: igraph_metric_t,
20078 ) -> igraph_error_t;
20079}
20080unsafe extern "C" {
20081 pub fn igraph_convex_hull_2d(
20082 data: *const igraph_matrix_t,
20083 resverts: *mut igraph_vector_int_t,
20084 rescoords: *mut igraph_matrix_t,
20085 ) -> igraph_error_t;
20086}
20087unsafe extern "C" {
20088 pub fn igraph_rng_sample_sphere_surface(
20089 rng: *mut igraph_rng_t,
20090 dim: igraph_int_t,
20091 n: igraph_int_t,
20092 radius: igraph_real_t,
20093 positive: igraph_bool_t,
20094 res: *mut igraph_matrix_t,
20095 ) -> igraph_error_t;
20096}
20097unsafe extern "C" {
20098 pub fn igraph_rng_sample_sphere_volume(
20099 rng: *mut igraph_rng_t,
20100 dim: igraph_int_t,
20101 n: igraph_int_t,
20102 radius: igraph_real_t,
20103 positive: igraph_bool_t,
20104 res: *mut igraph_matrix_t,
20105 ) -> igraph_error_t;
20106}
20107unsafe extern "C" {
20108 pub fn igraph_rng_sample_dirichlet(
20109 rng: *mut igraph_rng_t,
20110 n: igraph_int_t,
20111 alpha: *const igraph_vector_t,
20112 res: *mut igraph_matrix_t,
20113 ) -> igraph_error_t;
20114}
20115pub type __builtin_va_list = *mut ::std::os::raw::c_char;
20116pub type __uint128_t = u128;