#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
pub const qhDEFlibqhull: u32 = 1;
pub const FLT_HAS_SUBNORM: u32 = 1;
pub const DBL_HAS_SUBNORM: u32 = 1;
pub const LDBL_HAS_SUBNORM: u32 = 1;
pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
pub const __DARWIN_UNIX03: u32 = 1;
pub const __DARWIN_64_BIT_INO_T: u32 = 1;
pub const __DARWIN_VERS_1050: u32 = 1;
pub const __DARWIN_NON_CANCELABLE: u32 = 0;
pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
pub const __DARWIN_C_ANSI: u32 = 4096;
pub const __DARWIN_C_FULL: u32 = 900000;
pub const __DARWIN_C_LEVEL: u32 = 900000;
pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
pub const __DARWIN_NO_LONG_LONG: u32 = 0;
pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
pub const __DARWIN_CLK_TCK: u32 = 100;
pub const CHAR_BIT: u32 = 8;
pub const MB_LEN_MAX: u32 = 6;
pub const CLK_TCK: u32 = 100;
pub const SCHAR_MAX: u32 = 127;
pub const SCHAR_MIN: i32 = -128;
pub const UCHAR_MAX: u32 = 255;
pub const CHAR_MAX: u32 = 127;
pub const CHAR_MIN: i32 = -128;
pub const USHRT_MAX: u32 = 65535;
pub const SHRT_MAX: u32 = 32767;
pub const SHRT_MIN: i32 = -32768;
pub const UINT_MAX: u32 = 4294967295;
pub const INT_MAX: u32 = 2147483647;
pub const INT_MIN: i32 = -2147483648;
pub const ULONG_MAX: i32 = -1;
pub const LONG_MAX: u64 = 9223372036854775807;
pub const LONG_MIN: i64 = -9223372036854775808;
pub const ULLONG_MAX: i32 = -1;
pub const LLONG_MAX: u64 = 9223372036854775807;
pub const LLONG_MIN: i64 = -9223372036854775808;
pub const LONG_BIT: u32 = 64;
pub const SSIZE_MAX: u64 = 9223372036854775807;
pub const WORD_BIT: u32 = 32;
pub const SIZE_T_MAX: i32 = -1;
pub const UQUAD_MAX: i32 = -1;
pub const QUAD_MAX: u64 = 9223372036854775807;
pub const QUAD_MIN: i64 = -9223372036854775808;
pub const ARG_MAX: u32 = 262144;
pub const CHILD_MAX: u32 = 266;
pub const GID_MAX: u32 = 2147483647;
pub const LINK_MAX: u32 = 32767;
pub const MAX_CANON: u32 = 1024;
pub const MAX_INPUT: u32 = 1024;
pub const NAME_MAX: u32 = 255;
pub const NGROUPS_MAX: u32 = 16;
pub const UID_MAX: u32 = 2147483647;
pub const OPEN_MAX: u32 = 10240;
pub const PATH_MAX: u32 = 1024;
pub const PIPE_BUF: u32 = 512;
pub const BC_BASE_MAX: u32 = 99;
pub const BC_DIM_MAX: u32 = 2048;
pub const BC_SCALE_MAX: u32 = 99;
pub const BC_STRING_MAX: u32 = 1000;
pub const CHARCLASS_NAME_MAX: u32 = 14;
pub const COLL_WEIGHTS_MAX: u32 = 2;
pub const EQUIV_CLASS_MAX: u32 = 2;
pub const EXPR_NEST_MAX: u32 = 32;
pub const LINE_MAX: u32 = 2048;
pub const RE_DUP_MAX: u32 = 255;
pub const NZERO: u32 = 20;
pub const _POSIX_ARG_MAX: u32 = 4096;
pub const _POSIX_CHILD_MAX: u32 = 25;
pub const _POSIX_LINK_MAX: u32 = 8;
pub const _POSIX_MAX_CANON: u32 = 255;
pub const _POSIX_MAX_INPUT: u32 = 255;
pub const _POSIX_NAME_MAX: u32 = 14;
pub const _POSIX_NGROUPS_MAX: u32 = 8;
pub const _POSIX_OPEN_MAX: u32 = 20;
pub const _POSIX_PATH_MAX: u32 = 256;
pub const _POSIX_PIPE_BUF: u32 = 512;
pub const _POSIX_SSIZE_MAX: u32 = 32767;
pub const _POSIX_STREAM_MAX: u32 = 8;
pub const _POSIX_TZNAME_MAX: u32 = 6;
pub const _POSIX2_BC_BASE_MAX: u32 = 99;
pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
pub const _POSIX2_EQUIV_CLASS_MAX: u32 = 2;
pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
pub const _POSIX2_LINE_MAX: u32 = 2048;
pub const _POSIX2_RE_DUP_MAX: u32 = 255;
pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
pub const _POSIX_AIO_MAX: u32 = 1;
pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
pub const _POSIX_RTSIG_MAX: u32 = 8;
pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
pub const _POSIX_TIMER_MAX: u32 = 32;
pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const PTHREAD_KEYS_MAX: u32 = 512;
pub const PTHREAD_STACK_MIN: u32 = 16384;
pub const _POSIX_HOST_NAME_MAX: u32 = 255;
pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
pub const _POSIX_SS_REPL_MAX: u32 = 4;
pub const _POSIX_SYMLINK_MAX: u32 = 255;
pub const _POSIX_SYMLOOP_MAX: u32 = 8;
pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
pub const _POSIX_TTY_NAME_MAX: u32 = 9;
pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
pub const _POSIX_RE_DUP_MAX: u32 = 255;
pub const OFF_MIN: i64 = -9223372036854775808;
pub const OFF_MAX: u64 = 9223372036854775807;
pub const PASS_MAX: u32 = 128;
pub const NL_ARGMAX: u32 = 9;
pub const NL_LANGMAX: u32 = 14;
pub const NL_MSGMAX: u32 = 32767;
pub const NL_NMAX: u32 = 1;
pub const NL_SETMAX: u32 = 255;
pub const NL_TEXTMAX: u32 = 2048;
pub const _XOPEN_IOV_MAX: u32 = 16;
pub const IOV_MAX: u32 = 1024;
pub const _XOPEN_NAME_MAX: u32 = 255;
pub const _XOPEN_PATH_MAX: u32 = 1024;
pub const __PTHREAD_SIZE__: u32 = 8176;
pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
pub const __PTHREAD_COND_SIZE__: u32 = 40;
pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
pub const _FORTIFY_SOURCE: u32 = 2;
pub const __API_TO_BE_DEPRECATED: u32 = 100000;
pub const __MAC_10_0: u32 = 1000;
pub const __MAC_10_1: u32 = 1010;
pub const __MAC_10_2: u32 = 1020;
pub const __MAC_10_3: u32 = 1030;
pub const __MAC_10_4: u32 = 1040;
pub const __MAC_10_5: u32 = 1050;
pub const __MAC_10_6: u32 = 1060;
pub const __MAC_10_7: u32 = 1070;
pub const __MAC_10_8: u32 = 1080;
pub const __MAC_10_9: u32 = 1090;
pub const __MAC_10_10: u32 = 101000;
pub const __MAC_10_10_2: u32 = 101002;
pub const __MAC_10_10_3: u32 = 101003;
pub const __MAC_10_11: u32 = 101100;
pub const __MAC_10_11_2: u32 = 101102;
pub const __MAC_10_11_3: u32 = 101103;
pub const __MAC_10_11_4: u32 = 101104;
pub const __MAC_10_12: u32 = 101200;
pub const __MAC_10_12_1: u32 = 101201;
pub const __MAC_10_12_2: u32 = 101202;
pub const __MAC_10_12_4: u32 = 101204;
pub const __MAC_10_13: u32 = 101300;
pub const __MAC_10_13_1: u32 = 101301;
pub const __MAC_10_13_2: u32 = 101302;
pub const __MAC_10_13_4: u32 = 101304;
pub const __MAC_10_14: u32 = 101400;
pub const __MAC_10_14_1: u32 = 101401;
pub const __MAC_10_14_4: u32 = 101404;
pub const __MAC_10_14_6: u32 = 101406;
pub const __MAC_10_15: u32 = 101500;
pub const __MAC_10_15_1: u32 = 101501;
pub const __MAC_10_15_4: u32 = 101504;
pub const __MAC_10_16: u32 = 101600;
pub const __MAC_11_0: u32 = 110000;
pub const __MAC_11_1: u32 = 110100;
pub const __MAC_11_3: u32 = 110300;
pub const __MAC_11_4: u32 = 110400;
pub const __MAC_11_5: u32 = 110500;
pub const __MAC_11_6: u32 = 110600;
pub const __MAC_12_0: u32 = 120000;
pub const __MAC_12_1: u32 = 120100;
pub const __IPHONE_2_0: u32 = 20000;
pub const __IPHONE_2_1: u32 = 20100;
pub const __IPHONE_2_2: u32 = 20200;
pub const __IPHONE_3_0: u32 = 30000;
pub const __IPHONE_3_1: u32 = 30100;
pub const __IPHONE_3_2: u32 = 30200;
pub const __IPHONE_4_0: u32 = 40000;
pub const __IPHONE_4_1: u32 = 40100;
pub const __IPHONE_4_2: u32 = 40200;
pub const __IPHONE_4_3: u32 = 40300;
pub const __IPHONE_5_0: u32 = 50000;
pub const __IPHONE_5_1: u32 = 50100;
pub const __IPHONE_6_0: u32 = 60000;
pub const __IPHONE_6_1: u32 = 60100;
pub const __IPHONE_7_0: u32 = 70000;
pub const __IPHONE_7_1: u32 = 70100;
pub const __IPHONE_8_0: u32 = 80000;
pub const __IPHONE_8_1: u32 = 80100;
pub const __IPHONE_8_2: u32 = 80200;
pub const __IPHONE_8_3: u32 = 80300;
pub const __IPHONE_8_4: u32 = 80400;
pub const __IPHONE_9_0: u32 = 90000;
pub const __IPHONE_9_1: u32 = 90100;
pub const __IPHONE_9_2: u32 = 90200;
pub const __IPHONE_9_3: u32 = 90300;
pub const __IPHONE_10_0: u32 = 100000;
pub const __IPHONE_10_1: u32 = 100100;
pub const __IPHONE_10_2: u32 = 100200;
pub const __IPHONE_10_3: u32 = 100300;
pub const __IPHONE_11_0: u32 = 110000;
pub const __IPHONE_11_1: u32 = 110100;
pub const __IPHONE_11_2: u32 = 110200;
pub const __IPHONE_11_3: u32 = 110300;
pub const __IPHONE_11_4: u32 = 110400;
pub const __IPHONE_12_0: u32 = 120000;
pub const __IPHONE_12_1: u32 = 120100;
pub const __IPHONE_12_2: u32 = 120200;
pub const __IPHONE_12_3: u32 = 120300;
pub const __IPHONE_12_4: u32 = 120400;
pub const __IPHONE_13_0: u32 = 130000;
pub const __IPHONE_13_1: u32 = 130100;
pub const __IPHONE_13_2: u32 = 130200;
pub const __IPHONE_13_3: u32 = 130300;
pub const __IPHONE_13_4: u32 = 130400;
pub const __IPHONE_13_5: u32 = 130500;
pub const __IPHONE_13_6: u32 = 130600;
pub const __IPHONE_13_7: u32 = 130700;
pub const __IPHONE_14_0: u32 = 140000;
pub const __IPHONE_14_1: u32 = 140100;
pub const __IPHONE_14_2: u32 = 140200;
pub const __IPHONE_14_3: u32 = 140300;
pub const __IPHONE_14_5: u32 = 140500;
pub const __IPHONE_14_6: u32 = 140600;
pub const __IPHONE_14_7: u32 = 140700;
pub const __IPHONE_14_8: u32 = 140800;
pub const __IPHONE_15_0: u32 = 150000;
pub const __IPHONE_15_1: u32 = 150100;
pub const __IPHONE_15_2: u32 = 150200;
pub const __TVOS_9_0: u32 = 90000;
pub const __TVOS_9_1: u32 = 90100;
pub const __TVOS_9_2: u32 = 90200;
pub const __TVOS_10_0: u32 = 100000;
pub const __TVOS_10_0_1: u32 = 100001;
pub const __TVOS_10_1: u32 = 100100;
pub const __TVOS_10_2: u32 = 100200;
pub const __TVOS_11_0: u32 = 110000;
pub const __TVOS_11_1: u32 = 110100;
pub const __TVOS_11_2: u32 = 110200;
pub const __TVOS_11_3: u32 = 110300;
pub const __TVOS_11_4: u32 = 110400;
pub const __TVOS_12_0: u32 = 120000;
pub const __TVOS_12_1: u32 = 120100;
pub const __TVOS_12_2: u32 = 120200;
pub const __TVOS_12_3: u32 = 120300;
pub const __TVOS_12_4: u32 = 120400;
pub const __TVOS_13_0: u32 = 130000;
pub const __TVOS_13_2: u32 = 130200;
pub const __TVOS_13_3: u32 = 130300;
pub const __TVOS_13_4: u32 = 130400;
pub const __TVOS_14_0: u32 = 140000;
pub const __TVOS_14_1: u32 = 140100;
pub const __TVOS_14_2: u32 = 140200;
pub const __TVOS_14_3: u32 = 140300;
pub const __TVOS_14_5: u32 = 140500;
pub const __TVOS_14_6: u32 = 140600;
pub const __TVOS_14_7: u32 = 140700;
pub const __TVOS_15_0: u32 = 150000;
pub const __TVOS_15_1: u32 = 150100;
pub const __TVOS_15_2: u32 = 150200;
pub const __WATCHOS_1_0: u32 = 10000;
pub const __WATCHOS_2_0: u32 = 20000;
pub const __WATCHOS_2_1: u32 = 20100;
pub const __WATCHOS_2_2: u32 = 20200;
pub const __WATCHOS_3_0: u32 = 30000;
pub const __WATCHOS_3_1: u32 = 30100;
pub const __WATCHOS_3_1_1: u32 = 30101;
pub const __WATCHOS_3_2: u32 = 30200;
pub const __WATCHOS_4_0: u32 = 40000;
pub const __WATCHOS_4_1: u32 = 40100;
pub const __WATCHOS_4_2: u32 = 40200;
pub const __WATCHOS_4_3: u32 = 40300;
pub const __WATCHOS_5_0: u32 = 50000;
pub const __WATCHOS_5_1: u32 = 50100;
pub const __WATCHOS_5_2: u32 = 50200;
pub const __WATCHOS_5_3: u32 = 50300;
pub const __WATCHOS_6_0: u32 = 60000;
pub const __WATCHOS_6_1: u32 = 60100;
pub const __WATCHOS_6_2: u32 = 60200;
pub const __WATCHOS_7_0: u32 = 70000;
pub const __WATCHOS_7_1: u32 = 70100;
pub const __WATCHOS_7_2: u32 = 70200;
pub const __WATCHOS_7_3: u32 = 70300;
pub const __WATCHOS_7_4: u32 = 70400;
pub const __WATCHOS_7_5: u32 = 70500;
pub const __WATCHOS_7_6: u32 = 70600;
pub const __WATCHOS_8_0: u32 = 80000;
pub const __WATCHOS_8_1: u32 = 80100;
pub const __WATCHOS_8_3: u32 = 80300;
pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
pub const MAC_OS_VERSION_11_0: u32 = 110000;
pub const MAC_OS_VERSION_12_0: u32 = 120000;
pub const __DRIVERKIT_19_0: u32 = 190000;
pub const __DRIVERKIT_20_0: u32 = 200000;
pub const __DRIVERKIT_21_0: u32 = 210000;
pub const __IPHONE_OS_VERSION_MAX_ALLOWED: u32 = 150200;
pub const __ENABLE_LEGACY_IPHONE_AVAILABILITY: u32 = 1;
pub const CLOCKS_PER_SEC: u32 = 1000000;
pub const TIME_UTC: u32 = 1;
pub const qhDEFuser: u32 = 1;
pub const qh_FILENAMElen: u32 = 500;
pub const MSG_TRACE0: u32 = 0;
pub const MSG_TRACE1: u32 = 1000;
pub const MSG_TRACE2: u32 = 2000;
pub const MSG_TRACE3: u32 = 3000;
pub const MSG_TRACE4: u32 = 4000;
pub const MSG_TRACE5: u32 = 5000;
pub const MSG_ERROR: u32 = 6000;
pub const MSG_WARNING: u32 = 7000;
pub const MSG_STDERR: u32 = 8000;
pub const MSG_OUTPUT: u32 = 9000;
pub const MSG_QHULL_ERROR: u32 = 10000;
pub const MSG_FIX: u32 = 11000;
pub const MSG_MAXLEN: u32 = 3000;
pub const qh_OPTIONline: u32 = 80;
pub const REALfloat: u32 = 0;
pub const qh_REALdigits: u32 = 16;
pub const qh_REAL_1: &[u8; 8] = b"%6.16g \0";
pub const qh_REAL_2n: &[u8; 15] = b"%6.16g %6.16g\n\0";
pub const qh_REAL_3n: &[u8; 22] = b"%6.16g %6.16g %6.16g\n\0";
pub const DEFcountT: u32 = 1;
pub const COUNTmax: u32 = 2147483647;
pub const qh_POINTSmax: u32 = 2147483631;
pub const qh_CLOCKtype: u32 = 1;
pub const qh_SECticks: u32 = 1000000;
pub const qh_RANDOMtype: u32 = 5;
pub const qh_ORIENTclock: u32 = 0;
pub const qh_JOGGLEdefault: f64 = 30000.0;
pub const qh_JOGGLEincrease: f64 = 10.0;
pub const qh_JOGGLEretry: u32 = 2;
pub const qh_JOGGLEagain: u32 = 1;
pub const qh_JOGGLEmaxincrease: f64 = 0.01;
pub const qh_JOGGLEmaxretry: u32 = 50;
pub const qh_HASHfactor: u32 = 2;
pub const qh_VERIFYdirect: u32 = 1000000;
pub const qh_INITIALsearch: u32 = 6;
pub const qh_INITIALmax: u32 = 8;
pub const qh_MEMbufsize: u32 = 65536;
pub const qh_MEMinitbuf: u32 = 131072;
pub const qh_INFINITE: f64 = -10.101;
pub const qh_DEFAULTbox: f64 = 0.5;
pub const qh_DEFAULTzbox: f64 = 1000000.0;
pub const qh_COMPUTEfurthest: u32 = 0;
pub const qh_KEEPstatistics: u32 = 1;
pub const qh_MAXoutside: u32 = 1;
pub const qh_QUICKhelp: u32 = 0;
pub const qh_BESTcentrum: u32 = 20;
pub const qh_BESTcentrum2: u32 = 2;
pub const qh_BESTnonconvex: u32 = 15;
pub const qh_COPLANARratio: u32 = 3;
pub const qh_DIMmergeVertex: u32 = 6;
pub const qh_DIMreduceBuild: u32 = 5;
pub const qh_MAXcheckpoint: u32 = 10;
pub const qh_MAXcoplanarcentrum: u32 = 10;
pub const qh_MAXnewcentrum: u32 = 5;
pub const qh_MAXnewmerges: u32 = 2;
pub const qh_RATIOconcavehorizon: f64 = 20.0;
pub const qh_RATIOconvexmerge: f64 = 10.0;
pub const qh_RATIOcoplanarapex: f64 = 3.0;
pub const qh_RATIOcoplanaroutside: f64 = 30.0;
pub const qh_RATIOnearinside: u32 = 5;
pub const qh_RATIOpinchedsubridge: f64 = 10.0;
pub const qh_RATIOtrypinched: f64 = 4.0;
pub const qh_RATIOtwisted: f64 = 20.0;
pub const qh_MAXnarrow: f64 = -0.99999999;
pub const qh_WARNnarrow: f64 = -0.999999999999999;
pub const qh_WIDEcoplanar: u32 = 6;
pub const qh_WIDEduplicate: u32 = 100;
pub const qh_WIDEdupridge: u32 = 50;
pub const qh_WIDEmaxoutside: u32 = 100;
pub const qh_WIDEmaxoutside2: u32 = 1000;
pub const qh_WIDEpinched: u32 = 100;
pub const qh_ZEROdelaunay: u32 = 2;
pub const qhDEFmem: u32 = 1;
pub const RENAME_SECLUDE: u32 = 1;
pub const RENAME_SWAP: u32 = 2;
pub const RENAME_EXCL: u32 = 4;
pub const __SLBF: u32 = 1;
pub const __SNBF: u32 = 2;
pub const __SRD: u32 = 4;
pub const __SWR: u32 = 8;
pub const __SRW: u32 = 16;
pub const __SEOF: u32 = 32;
pub const __SERR: u32 = 64;
pub const __SMBF: u32 = 128;
pub const __SAPP: u32 = 256;
pub const __SSTR: u32 = 512;
pub const __SOPT: u32 = 1024;
pub const __SNPT: u32 = 2048;
pub const __SOFF: u32 = 4096;
pub const __SMOD: u32 = 8192;
pub const __SALC: u32 = 16384;
pub const __SIGN: u32 = 32768;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 1024;
pub const EOF: i32 = -1;
pub const FOPEN_MAX: u32 = 20;
pub const FILENAME_MAX: u32 = 1024;
pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
pub const L_tmpnam: u32 = 1024;
pub const TMP_MAX: u32 = 308915776;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const L_ctermid: u32 = 1024;
pub const _USE_FORTIFY_LEVEL: u32 = 2;
pub const DEFsetT: u32 = 1;
pub const DEFqhT: u32 = 1;
pub const qhmem_ERRmem: u32 = 4;
pub const qhmem_ERRqhull: u32 = 5;
pub const qhDEFset: u32 = 1;
pub const _JBLEN: u32 = 48;
pub const False: u32 = 0;
pub const True: u32 = 1;
pub const qh_False: u32 = 0;
pub const qh_True: u32 = 1;
pub const qhDEFstat: u32 = 1;
pub const DEFqhstatT: u32 = 1;
pub const qh_ALL: u32 = 1;
pub const qh_NOupper: u32 = 1;
pub const qh_IScheckmax: u32 = 1;
pub const qh_ISnewfacets: u32 = 1;
pub const qh_RESETvisible: u32 = 1;
pub const qh_ERRnone: u32 = 0;
pub const qh_ERRinput: u32 = 1;
pub const qh_ERRsingular: u32 = 2;
pub const qh_ERRprec: u32 = 3;
pub const qh_ERRmem: u32 = 4;
pub const qh_ERRqhull: u32 = 5;
pub const qh_ERRother: u32 = 6;
pub const qh_ERRtopology: u32 = 7;
pub const qh_ERRwide: u32 = 8;
pub const qh_ERRdebug: u32 = 9;
pub const qh_MAXnummerge: u32 = 511;
pub const QHULL_NON_REENTRANT: u32 = 0;
pub const QHULL_QH_POINTER: u32 = 1;
pub const QHULL_REENTRANT: u32 = 2;
pub const QHULL_LIB_TYPE: u32 = 2;
pub const qhDEFio: u32 = 1;
pub const qh_MAXfirst: u32 = 200;
pub const qh_MINradius: f64 = 0.02;
pub const qh_GEOMepsilon: f64 = 0.002;
pub const qh_WHITESPACE: &[u8; 7] = b" \n\t\x0B\r\x0C\0";
pub const QH_TRY_ERROR: u32 = 10071;
pub type __int8_t = ::core::ffi::c_schar;
pub type __uint8_t = ::core::ffi::c_uchar;
pub type __int16_t = ::core::ffi::c_short;
pub type __uint16_t = ::core::ffi::c_ushort;
pub type __int32_t = ::core::ffi::c_int;
pub type __uint32_t = ::core::ffi::c_uint;
pub type __int64_t = ::core::ffi::c_longlong;
pub type __uint64_t = ::core::ffi::c_ulonglong;
pub type __darwin_intptr_t = ::core::ffi::c_long;
pub type __darwin_natural_t = ::core::ffi::c_uint;
pub type __darwin_ct_rune_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t {
pub __mbstate8: [::core::ffi::c_char; 128usize],
pub _mbstateL: ::core::ffi::c_longlong,
}
#[test]
fn bindgen_test_layout___mbstate_t() {
const UNINIT: ::core::mem::MaybeUninit<__mbstate_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<__mbstate_t>(),
128usize,
concat!("Size of: ", stringify!(__mbstate_t))
);
assert_eq!(
::core::mem::align_of::<__mbstate_t>(),
8usize,
concat!("Alignment of ", stringify!(__mbstate_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(__mbstate8)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(_mbstateL)
)
);
}
pub type __darwin_mbstate_t = __mbstate_t;
pub type __darwin_ptrdiff_t = ::core::ffi::c_long;
pub type __darwin_size_t = ::core::ffi::c_ulong;
pub type __darwin_va_list = __builtin_va_list;
pub type __darwin_wchar_t = ::core::ffi::c_int;
pub type __darwin_rune_t = __darwin_wchar_t;
pub type __darwin_wint_t = ::core::ffi::c_int;
pub type __darwin_clock_t = ::core::ffi::c_ulong;
pub type __darwin_socklen_t = __uint32_t;
pub type __darwin_ssize_t = ::core::ffi::c_long;
pub type __darwin_time_t = ::core::ffi::c_long;
pub type __darwin_blkcnt_t = __int64_t;
pub type __darwin_blksize_t = __int32_t;
pub type __darwin_dev_t = __int32_t;
pub type __darwin_fsblkcnt_t = ::core::ffi::c_uint;
pub type __darwin_fsfilcnt_t = ::core::ffi::c_uint;
pub type __darwin_gid_t = __uint32_t;
pub type __darwin_id_t = __uint32_t;
pub type __darwin_ino64_t = __uint64_t;
pub type __darwin_ino_t = __darwin_ino64_t;
pub type __darwin_mach_port_name_t = __darwin_natural_t;
pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
pub type __darwin_mode_t = __uint16_t;
pub type __darwin_off_t = __int64_t;
pub type __darwin_pid_t = __int32_t;
pub type __darwin_sigset_t = __uint32_t;
pub type __darwin_suseconds_t = __int32_t;
pub type __darwin_uid_t = __uint32_t;
pub type __darwin_useconds_t = __uint32_t;
pub type __darwin_uuid_t = [::core::ffi::c_uchar; 16usize];
pub type __darwin_uuid_string_t = [::core::ffi::c_char; 37usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __darwin_pthread_handler_rec {
pub __routine: ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
pub __arg: *mut ::core::ffi::c_void,
pub __next: *mut __darwin_pthread_handler_rec,
}
#[test]
fn bindgen_test_layout___darwin_pthread_handler_rec() {
const UNINIT: ::core::mem::MaybeUninit<__darwin_pthread_handler_rec> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<__darwin_pthread_handler_rec>(),
24usize,
concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
);
assert_eq!(
::core::mem::align_of::<__darwin_pthread_handler_rec>(),
8usize,
concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__darwin_pthread_handler_rec),
"::",
stringify!(__routine)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__darwin_pthread_handler_rec),
"::",
stringify!(__arg)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__darwin_pthread_handler_rec),
"::",
stringify!(__next)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_attr_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 56usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_attr_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_attr_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_attr_t>(),
64usize,
concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_attr_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_attr_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_attr_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_cond_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 40usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_cond_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_cond_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_cond_t>(),
48usize,
concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_cond_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_cond_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_cond_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_condattr_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 8usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_condattr_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_condattr_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_condattr_t>(),
16usize,
concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_condattr_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_condattr_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_condattr_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_mutex_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 56usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_mutex_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_mutex_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_mutex_t>(),
64usize,
concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_mutex_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_mutex_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_mutex_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_mutexattr_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 8usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_mutexattr_t>(),
16usize,
concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_mutexattr_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_mutexattr_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_mutexattr_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_once_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 8usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_once_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_once_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_once_t>(),
16usize,
concat!("Size of: ", stringify!(_opaque_pthread_once_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_once_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_once_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_once_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_rwlock_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 192usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_rwlock_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_rwlock_t>(),
200usize,
concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_rwlock_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_rwlock_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_rwlock_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_rwlockattr_t {
pub __sig: ::core::ffi::c_long,
pub __opaque: [::core::ffi::c_char; 16usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
24usize,
concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_rwlockattr_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_rwlockattr_t),
"::",
stringify!(__opaque)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _opaque_pthread_t {
pub __sig: ::core::ffi::c_long,
pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
pub __opaque: [::core::ffi::c_char; 8176usize],
}
#[test]
fn bindgen_test_layout__opaque_pthread_t() {
const UNINIT: ::core::mem::MaybeUninit<_opaque_pthread_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_opaque_pthread_t>(),
8192usize,
concat!("Size of: ", stringify!(_opaque_pthread_t))
);
assert_eq!(
::core::mem::align_of::<_opaque_pthread_t>(),
8usize,
concat!("Alignment of ", stringify!(_opaque_pthread_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_t),
"::",
stringify!(__sig)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_t),
"::",
stringify!(__cleanup_stack)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_opaque_pthread_t),
"::",
stringify!(__opaque)
)
);
}
pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
pub type __darwin_pthread_key_t = ::core::ffi::c_ulong;
pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
pub type __darwin_pthread_t = *mut _opaque_pthread_t;
pub type __darwin_nl_item = ::core::ffi::c_int;
pub type __darwin_wctrans_t = ::core::ffi::c_int;
pub type __darwin_wctype_t = __uint32_t;
pub type u_int8_t = ::core::ffi::c_uchar;
pub type u_int16_t = ::core::ffi::c_ushort;
pub type u_int32_t = ::core::ffi::c_uint;
pub type u_int64_t = ::core::ffi::c_ulonglong;
pub type register_t = i64;
pub type user_addr_t = u_int64_t;
pub type user_size_t = u_int64_t;
pub type user_ssize_t = i64;
pub type user_long_t = i64;
pub type user_ulong_t = u_int64_t;
pub type user_time_t = i64;
pub type user_off_t = i64;
pub type syscall_arg_t = u_int64_t;
pub type clock_t = __darwin_clock_t;
pub type time_t = __darwin_time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __darwin_time_t,
pub tv_nsec: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_timespec() {
const UNINIT: ::core::mem::MaybeUninit<timespec> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<timespec>(),
16usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::core::mem::align_of::<timespec>(),
8usize,
concat!("Alignment of ", stringify!(timespec))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
pub tm_sec: ::core::ffi::c_int,
pub tm_min: ::core::ffi::c_int,
pub tm_hour: ::core::ffi::c_int,
pub tm_mday: ::core::ffi::c_int,
pub tm_mon: ::core::ffi::c_int,
pub tm_year: ::core::ffi::c_int,
pub tm_wday: ::core::ffi::c_int,
pub tm_yday: ::core::ffi::c_int,
pub tm_isdst: ::core::ffi::c_int,
pub tm_gmtoff: ::core::ffi::c_long,
pub tm_zone: *mut ::core::ffi::c_char,
}
#[test]
fn bindgen_test_layout_tm() {
const UNINIT: ::core::mem::MaybeUninit<tm> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<tm>(),
56usize,
concat!("Size of: ", stringify!(tm))
);
assert_eq!(
::core::mem::align_of::<tm>(),
8usize,
concat!("Alignment of ", stringify!(tm))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_sec)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_min)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_hour)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mon)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_year)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_wday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_yday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_isdst)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_gmtoff)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_zone)
)
);
}
extern "C" {
pub static mut tzname: [*mut ::core::ffi::c_char; 0usize];
}
extern "C" {
pub static mut getdate_err: ::core::ffi::c_int;
}
extern "C" {
pub static mut timezone: ::core::ffi::c_long;
}
extern "C" {
pub static mut daylight: ::core::ffi::c_int;
}
extern "C" {
pub fn asctime(arg1: *const tm) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn clock() -> clock_t;
}
extern "C" {
pub fn ctime(arg1: *const time_t) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
}
extern "C" {
pub fn getdate(arg1: *const ::core::ffi::c_char) -> *mut tm;
}
extern "C" {
pub fn gmtime(arg1: *const time_t) -> *mut tm;
}
extern "C" {
pub fn localtime(arg1: *const time_t) -> *mut tm;
}
extern "C" {
pub fn mktime(arg1: *mut tm) -> time_t;
}
extern "C" {
pub fn strftime(
arg1: *mut ::core::ffi::c_char,
arg2: usize,
arg3: *const ::core::ffi::c_char,
arg4: *const tm,
) -> usize;
}
extern "C" {
pub fn strptime(
arg1: *const ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
arg3: *mut tm,
) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn time(arg1: *mut time_t) -> time_t;
}
extern "C" {
pub fn tzset();
}
extern "C" {
pub fn asctime_r(arg1: *const tm, arg2: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn ctime_r(arg1: *const time_t, arg2: *mut ::core::ffi::c_char)
-> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
}
extern "C" {
pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
}
extern "C" {
pub fn posix2time(arg1: time_t) -> time_t;
}
extern "C" {
pub fn tzsetwall();
}
extern "C" {
pub fn time2posix(arg1: time_t) -> time_t;
}
extern "C" {
pub fn timelocal(arg1: *mut tm) -> time_t;
}
extern "C" {
pub fn timegm(arg1: *mut tm) -> time_t;
}
extern "C" {
pub fn nanosleep(__rqtp: *const timespec, __rmtp: *mut timespec) -> ::core::ffi::c_int;
}
pub const clockid_t__CLOCK_REALTIME: clockid_t = 0;
pub const clockid_t__CLOCK_MONOTONIC: clockid_t = 6;
pub const clockid_t__CLOCK_MONOTONIC_RAW: clockid_t = 4;
pub const clockid_t__CLOCK_MONOTONIC_RAW_APPROX: clockid_t = 5;
pub const clockid_t__CLOCK_UPTIME_RAW: clockid_t = 8;
pub const clockid_t__CLOCK_UPTIME_RAW_APPROX: clockid_t = 9;
pub const clockid_t__CLOCK_PROCESS_CPUTIME_ID: clockid_t = 12;
pub const clockid_t__CLOCK_THREAD_CPUTIME_ID: clockid_t = 16;
pub type clockid_t = ::core::ffi::c_uint;
extern "C" {
pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::core::ffi::c_int;
}
extern "C" {
pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::core::ffi::c_int;
}
extern "C" {
pub fn clock_gettime_nsec_np(__clock_id: clockid_t) -> __uint64_t;
}
extern "C" {
pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::core::ffi::c_int;
}
extern "C" {
pub fn timespec_get(ts: *mut timespec, base: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
pub type countT = ::core::ffi::c_int;
pub type va_list = __darwin_va_list;
extern "C" {
pub fn renameat(
arg1: ::core::ffi::c_int,
arg2: *const ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
arg4: *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn renamex_np(
arg1: *const ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
arg3: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn renameatx_np(
arg1: ::core::ffi::c_int,
arg2: *const ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
arg4: *const ::core::ffi::c_char,
arg5: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
pub type fpos_t = __darwin_off_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sbuf {
pub _base: *mut ::core::ffi::c_uchar,
pub _size: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout___sbuf() {
const UNINIT: ::core::mem::MaybeUninit<__sbuf> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<__sbuf>(),
16usize,
concat!("Size of: ", stringify!(__sbuf))
);
assert_eq!(
::core::mem::align_of::<__sbuf>(),
8usize,
concat!("Alignment of ", stringify!(__sbuf))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sbuf),
"::",
stringify!(_base)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._size) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__sbuf),
"::",
stringify!(_size)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sFILEX {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sFILE {
pub _p: *mut ::core::ffi::c_uchar,
pub _r: ::core::ffi::c_int,
pub _w: ::core::ffi::c_int,
pub _flags: ::core::ffi::c_short,
pub _file: ::core::ffi::c_short,
pub _bf: __sbuf,
pub _lbfsize: ::core::ffi::c_int,
pub _cookie: *mut ::core::ffi::c_void,
pub _close: ::core::option::Option<
unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
>,
pub _read: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: *mut ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
) -> ::core::ffi::c_int,
>,
pub _seek: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: fpos_t,
arg3: ::core::ffi::c_int,
) -> fpos_t,
>,
pub _write: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: *const ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
) -> ::core::ffi::c_int,
>,
pub _ub: __sbuf,
pub _extra: *mut __sFILEX,
pub _ur: ::core::ffi::c_int,
pub _ubuf: [::core::ffi::c_uchar; 3usize],
pub _nbuf: [::core::ffi::c_uchar; 1usize],
pub _lb: __sbuf,
pub _blksize: ::core::ffi::c_int,
pub _offset: fpos_t,
}
#[test]
fn bindgen_test_layout___sFILE() {
const UNINIT: ::core::mem::MaybeUninit<__sFILE> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<__sFILE>(),
152usize,
concat!("Size of: ", stringify!(__sFILE))
);
assert_eq!(
::core::mem::align_of::<__sFILE>(),
8usize,
concat!("Alignment of ", stringify!(__sFILE))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._p) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_p)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._r) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_r)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._w) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_w)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_flags)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._file) as usize - ptr as usize },
18usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_file)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_bf)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_lbfsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_cookie)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._close) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_close)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._read) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_read)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_seek)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._write) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_write)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_ub)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_extra)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_ur)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_ubuf)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize },
119usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_nbuf)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_lb)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_blksize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(__sFILE),
"::",
stringify!(_offset)
)
);
}
pub type FILE = __sFILE;
extern "C" {
pub static mut __stdinp: *mut FILE;
}
extern "C" {
pub static mut __stdoutp: *mut FILE;
}
extern "C" {
pub static mut __stderrp: *mut FILE;
}
extern "C" {
pub fn clearerr(arg1: *mut FILE);
}
extern "C" {
pub fn fclose(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn feof(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn ferror(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fflush(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fgetc(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fgets(
arg1: *mut ::core::ffi::c_char,
arg2: ::core::ffi::c_int,
arg3: *mut FILE,
) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn fopen(
__filename: *const ::core::ffi::c_char,
__mode: *const ::core::ffi::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn fprintf(arg1: *mut FILE, arg2: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fputc(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fputs(arg1: *const ::core::ffi::c_char, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fread(
__ptr: *mut ::core::ffi::c_void,
__size: ::core::ffi::c_ulong,
__nitems: ::core::ffi::c_ulong,
__stream: *mut FILE,
) -> ::core::ffi::c_ulong;
}
extern "C" {
pub fn freopen(
arg1: *const ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
arg3: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn fscanf(arg1: *mut FILE, arg2: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fseek(
arg1: *mut FILE,
arg2: ::core::ffi::c_long,
arg3: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::core::ffi::c_int;
}
extern "C" {
pub fn ftell(arg1: *mut FILE) -> ::core::ffi::c_long;
}
extern "C" {
pub fn fwrite(
__ptr: *const ::core::ffi::c_void,
__size: ::core::ffi::c_ulong,
__nitems: ::core::ffi::c_ulong,
__stream: *mut FILE,
) -> ::core::ffi::c_ulong;
}
extern "C" {
pub fn getc(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn getchar() -> ::core::ffi::c_int;
}
extern "C" {
pub fn gets(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn perror(arg1: *const ::core::ffi::c_char);
}
extern "C" {
pub fn printf(arg1: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
}
extern "C" {
pub fn putc(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn putchar(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
pub fn puts(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
}
extern "C" {
pub fn remove(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rename(
__old: *const ::core::ffi::c_char,
__new: *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rewind(arg1: *mut FILE);
}
extern "C" {
pub fn scanf(arg1: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
}
extern "C" {
pub fn setbuf(arg1: *mut FILE, arg2: *mut ::core::ffi::c_char);
}
extern "C" {
pub fn setvbuf(
arg1: *mut FILE,
arg2: *mut ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
arg4: usize,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn sprintf(
arg1: *mut ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn sscanf(
arg1: *const ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn tmpfile() -> *mut FILE;
}
extern "C" {
pub fn tmpnam(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn ungetc(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vfprintf(
arg1: *mut FILE,
arg2: *const ::core::ffi::c_char,
arg3: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vprintf(arg1: *const ::core::ffi::c_char, arg2: __builtin_va_list)
-> ::core::ffi::c_int;
}
extern "C" {
pub fn vsprintf(
arg1: *mut ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
arg3: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn ctermid(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn fdopen(arg1: ::core::ffi::c_int, arg2: *const ::core::ffi::c_char) -> *mut FILE;
}
extern "C" {
pub fn fileno(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn pclose(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn popen(arg1: *const ::core::ffi::c_char, arg2: *const ::core::ffi::c_char) -> *mut FILE;
}
extern "C" {
pub fn __srget(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn __svfscanf(
arg1: *mut FILE,
arg2: *const ::core::ffi::c_char,
arg3: va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn __swbuf(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn flockfile(arg1: *mut FILE);
}
extern "C" {
pub fn ftrylockfile(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn funlockfile(arg1: *mut FILE);
}
extern "C" {
pub fn getc_unlocked(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn getchar_unlocked() -> ::core::ffi::c_int;
}
extern "C" {
pub fn putc_unlocked(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn putchar_unlocked(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
pub fn getw(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn putw(arg1: ::core::ffi::c_int, arg2: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn tempnam(
__dir: *const ::core::ffi::c_char,
__prefix: *const ::core::ffi::c_char,
) -> *mut ::core::ffi::c_char;
}
pub type off_t = __darwin_off_t;
extern "C" {
pub fn fseeko(
__stream: *mut FILE,
__offset: off_t,
__whence: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn ftello(__stream: *mut FILE) -> off_t;
}
extern "C" {
pub fn snprintf(
__str: *mut ::core::ffi::c_char,
__size: ::core::ffi::c_ulong,
__format: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vfscanf(
__stream: *mut FILE,
__format: *const ::core::ffi::c_char,
arg1: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vscanf(
__format: *const ::core::ffi::c_char,
arg1: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vsnprintf(
__str: *mut ::core::ffi::c_char,
__size: ::core::ffi::c_ulong,
__format: *const ::core::ffi::c_char,
arg1: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vsscanf(
__str: *const ::core::ffi::c_char,
__format: *const ::core::ffi::c_char,
arg1: __builtin_va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn dprintf(
arg1: ::core::ffi::c_int,
arg2: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vdprintf(
arg1: ::core::ffi::c_int,
arg2: *const ::core::ffi::c_char,
arg3: va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn getdelim(
__linep: *mut *mut ::core::ffi::c_char,
__linecapp: *mut usize,
__delimiter: ::core::ffi::c_int,
__stream: *mut FILE,
) -> isize;
}
extern "C" {
pub fn getline(
__linep: *mut *mut ::core::ffi::c_char,
__linecapp: *mut usize,
__stream: *mut FILE,
) -> isize;
}
extern "C" {
pub fn fmemopen(
__buf: *mut ::core::ffi::c_void,
__size: usize,
__mode: *const ::core::ffi::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn open_memstream(__bufp: *mut *mut ::core::ffi::c_char, __sizep: *mut usize) -> *mut FILE;
}
extern "C" {
pub static sys_nerr: ::core::ffi::c_int;
}
extern "C" {
pub static sys_errlist: [*const ::core::ffi::c_char; 0usize];
}
extern "C" {
pub fn asprintf(
arg1: *mut *mut ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn ctermid_r(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn fmtcheck(
arg1: *const ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
) -> *const ::core::ffi::c_char;
}
extern "C" {
pub fn fpurge(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn setbuffer(arg1: *mut FILE, arg2: *mut ::core::ffi::c_char, arg3: ::core::ffi::c_int);
}
extern "C" {
pub fn setlinebuf(arg1: *mut FILE) -> ::core::ffi::c_int;
}
extern "C" {
pub fn vasprintf(
arg1: *mut *mut ::core::ffi::c_char,
arg2: *const ::core::ffi::c_char,
arg3: va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn funopen(
arg1: *const ::core::ffi::c_void,
arg2: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: *mut ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
) -> ::core::ffi::c_int,
>,
arg3: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: *const ::core::ffi::c_char,
arg3: ::core::ffi::c_int,
) -> ::core::ffi::c_int,
>,
arg4: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut ::core::ffi::c_void,
arg2: fpos_t,
arg3: ::core::ffi::c_int,
) -> fpos_t,
>,
arg5: ::core::option::Option<
unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
>,
) -> *mut FILE;
}
extern "C" {
pub fn __sprintf_chk(
arg1: *mut ::core::ffi::c_char,
arg2: ::core::ffi::c_int,
arg3: usize,
arg4: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn __snprintf_chk(
arg1: *mut ::core::ffi::c_char,
arg2: usize,
arg3: ::core::ffi::c_int,
arg4: usize,
arg5: *const ::core::ffi::c_char,
...
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn __vsprintf_chk(
arg1: *mut ::core::ffi::c_char,
arg2: ::core::ffi::c_int,
arg3: usize,
arg4: *const ::core::ffi::c_char,
arg5: va_list,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn __vsnprintf_chk(
arg1: *mut ::core::ffi::c_char,
arg2: usize,
arg3: ::core::ffi::c_int,
arg4: usize,
arg5: *const ::core::ffi::c_char,
arg6: va_list,
) -> ::core::ffi::c_int;
}
pub type ptr_intT = ::core::ffi::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct qhmemT {
pub BUFsize: ::core::ffi::c_int,
pub BUFinit: ::core::ffi::c_int,
pub TABLEsize: ::core::ffi::c_int,
pub NUMsizes: ::core::ffi::c_int,
pub LASTsize: ::core::ffi::c_int,
pub ALIGNmask: ::core::ffi::c_int,
pub freelists: *mut *mut ::core::ffi::c_void,
pub sizetable: *mut ::core::ffi::c_int,
pub indextable: *mut ::core::ffi::c_int,
pub curbuffer: *mut ::core::ffi::c_void,
pub freemem: *mut ::core::ffi::c_void,
pub freesize: ::core::ffi::c_int,
pub tempstack: *mut setT,
pub ferr: *mut FILE,
pub IStracing: ::core::ffi::c_int,
pub cntquick: ::core::ffi::c_int,
pub cntshort: ::core::ffi::c_int,
pub cntlong: ::core::ffi::c_int,
pub freeshort: ::core::ffi::c_int,
pub freelong: ::core::ffi::c_int,
pub totbuffer: ::core::ffi::c_int,
pub totdropped: ::core::ffi::c_int,
pub totfree: ::core::ffi::c_int,
pub totlong: ::core::ffi::c_int,
pub maxlong: ::core::ffi::c_int,
pub totshort: ::core::ffi::c_int,
pub totunused: ::core::ffi::c_int,
pub cntlarger: ::core::ffi::c_int,
pub totlarger: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_qhmemT() {
const UNINIT: ::core::mem::MaybeUninit<qhmemT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<qhmemT>(),
152usize,
concat!("Size of: ", stringify!(qhmemT))
);
assert_eq!(
::core::mem::align_of::<qhmemT>(),
8usize,
concat!("Alignment of ", stringify!(qhmemT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).BUFsize) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(BUFsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).BUFinit) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(BUFinit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TABLEsize) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(TABLEsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NUMsizes) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(NUMsizes)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).LASTsize) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(LASTsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALIGNmask) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(ALIGNmask)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).freelists) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(freelists)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).sizetable) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(sizetable)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).indextable) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(indextable)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).curbuffer) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(curbuffer)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).freemem) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(freemem)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).freesize) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(freesize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tempstack) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(tempstack)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ferr) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(ferr)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).IStracing) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(IStracing)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cntquick) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(cntquick)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cntshort) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(cntshort)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cntlong) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(cntlong)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).freeshort) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(freeshort)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).freelong) as usize - ptr as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(freelong)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totbuffer) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totbuffer)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totdropped) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totdropped)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totfree) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totfree)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totlong) as usize - ptr as usize },
124usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totlong)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).maxlong) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(maxlong)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totshort) as usize - ptr as usize },
132usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totshort)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totunused) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totunused)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cntlarger) as usize - ptr as usize },
140usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(cntlarger)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totlarger) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(qhmemT),
"::",
stringify!(totlarger)
)
);
}
extern "C" {
pub fn qh_memalloc(qh: *mut qhT, insize: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_memcheck(qh: *mut qhT);
}
extern "C" {
pub fn qh_memfree(qh: *mut qhT, object: *mut ::core::ffi::c_void, insize: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_memfreeshort(
qh: *mut qhT,
curlong: *mut ::core::ffi::c_int,
totlong: *mut ::core::ffi::c_int,
);
}
extern "C" {
#[doc = " -mem_r.c prototypes (duplicated from mem_r.h)"]
pub fn qh_meminit(qh: *mut qhT, ferr: *mut FILE);
}
extern "C" {
pub fn qh_meminitbuffers(
qh: *mut qhT,
tracelevel: ::core::ffi::c_int,
alignment: ::core::ffi::c_int,
numsizes: ::core::ffi::c_int,
bufsize: ::core::ffi::c_int,
bufinit: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_memsetup(qh: *mut qhT);
}
extern "C" {
pub fn qh_memsize(qh: *mut qhT, size: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_memstatistics(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_memtotal(
qh: *mut qhT,
totlong: *mut ::core::ffi::c_int,
curlong: *mut ::core::ffi::c_int,
totshort: *mut ::core::ffi::c_int,
curshort: *mut ::core::ffi::c_int,
maxlong: *mut ::core::ffi::c_int,
totbuffer: *mut ::core::ffi::c_int,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union setelemT {
pub p: *mut ::core::ffi::c_void,
pub i: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_setelemT() {
const UNINIT: ::core::mem::MaybeUninit<setelemT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<setelemT>(),
8usize,
concat!("Size of: ", stringify!(setelemT))
);
assert_eq!(
::core::mem::align_of::<setelemT>(),
8usize,
concat!("Alignment of ", stringify!(setelemT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(setelemT),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(setelemT),
"::",
stringify!(i)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct setT {
pub maxsize: ::core::ffi::c_int,
pub e: [setelemT; 1usize],
}
#[test]
fn bindgen_test_layout_setT() {
const UNINIT: ::core::mem::MaybeUninit<setT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<setT>(),
16usize,
concat!("Size of: ", stringify!(setT))
);
assert_eq!(
::core::mem::align_of::<setT>(),
8usize,
concat!("Alignment of ", stringify!(setT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).maxsize) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(setT),
"::",
stringify!(maxsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).e) as usize - ptr as usize },
8usize,
concat!("Offset of field: ", stringify!(setT), "::", stringify!(e))
);
}
extern "C" {
pub fn qh_setaddsorted(qh: *mut qhT, setp: *mut *mut setT, elem: *mut ::core::ffi::c_void);
}
extern "C" {
pub fn qh_setaddnth(
qh: *mut qhT,
setp: *mut *mut setT,
nth: ::core::ffi::c_int,
newelem: *mut ::core::ffi::c_void,
);
}
extern "C" {
pub fn qh_setappend(qh: *mut qhT, setp: *mut *mut setT, elem: *mut ::core::ffi::c_void);
}
extern "C" {
pub fn qh_setappend_set(qh: *mut qhT, setp: *mut *mut setT, setA: *mut setT);
}
extern "C" {
pub fn qh_setappend2ndlast(qh: *mut qhT, setp: *mut *mut setT, elem: *mut ::core::ffi::c_void);
}
extern "C" {
pub fn qh_setcheck(
qh: *mut qhT,
set: *mut setT,
tname: *const ::core::ffi::c_char,
id: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_setcompact(qh: *mut qhT, set: *mut setT);
}
extern "C" {
pub fn qh_setcopy(qh: *mut qhT, set: *mut setT, extra: ::core::ffi::c_int) -> *mut setT;
}
extern "C" {
pub fn qh_setdel(set: *mut setT, elem: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setdellast(set: *mut setT) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setdelnth(
qh: *mut qhT,
set: *mut setT,
nth: ::core::ffi::c_int,
) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setdelnthsorted(
qh: *mut qhT,
set: *mut setT,
nth: ::core::ffi::c_int,
) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setdelsorted(
set: *mut setT,
newelem: *mut ::core::ffi::c_void,
) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setduplicate(qh: *mut qhT, set: *mut setT, elemsize: ::core::ffi::c_int)
-> *mut setT;
}
extern "C" {
pub fn qh_setendpointer(set: *mut setT) -> *mut *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setequal(setA: *mut setT, setB: *mut setT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setequal_except(
setA: *mut setT,
skipelemA: *mut ::core::ffi::c_void,
setB: *mut setT,
skipelemB: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setequal_skip(
setA: *mut setT,
skipA: ::core::ffi::c_int,
setB: *mut setT,
skipB: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setfree(qh: *mut qhT, set: *mut *mut setT);
}
extern "C" {
pub fn qh_setfree2(qh: *mut qhT, setp: *mut *mut setT, elemsize: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_setfreelong(qh: *mut qhT, set: *mut *mut setT);
}
extern "C" {
pub fn qh_setin(set: *mut setT, setelem: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setindex(set: *mut setT, setelem: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setlarger(qh: *mut qhT, setp: *mut *mut setT);
}
extern "C" {
pub fn qh_setlarger_quick(
qh: *mut qhT,
setsize: ::core::ffi::c_int,
newsize: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setlast(set: *mut setT) -> *mut ::core::ffi::c_void;
}
extern "C" {
pub fn qh_setnew(qh: *mut qhT, size: ::core::ffi::c_int) -> *mut setT;
}
extern "C" {
pub fn qh_setnew_delnthsorted(
qh: *mut qhT,
set: *mut setT,
size: ::core::ffi::c_int,
nth: ::core::ffi::c_int,
prepend: ::core::ffi::c_int,
) -> *mut setT;
}
extern "C" {
pub fn qh_setprint(
qh: *mut qhT,
fp: *mut FILE,
string: *const ::core::ffi::c_char,
set: *mut setT,
);
}
extern "C" {
pub fn qh_setreplace(
qh: *mut qhT,
set: *mut setT,
oldelem: *mut ::core::ffi::c_void,
newelem: *mut ::core::ffi::c_void,
);
}
extern "C" {
pub fn qh_setsize(qh: *mut qhT, set: *mut setT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_settemp(qh: *mut qhT, setsize: ::core::ffi::c_int) -> *mut setT;
}
extern "C" {
pub fn qh_settempfree(qh: *mut qhT, set: *mut *mut setT);
}
extern "C" {
pub fn qh_settempfree_all(qh: *mut qhT);
}
extern "C" {
pub fn qh_settemppop(qh: *mut qhT) -> *mut setT;
}
extern "C" {
pub fn qh_settemppush(qh: *mut qhT, set: *mut setT);
}
extern "C" {
pub fn qh_settruncate(qh: *mut qhT, set: *mut setT, size: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_setunique(
qh: *mut qhT,
set: *mut *mut setT,
elem: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setzero(
qh: *mut qhT,
set: *mut setT,
idx: ::core::ffi::c_int,
size: ::core::ffi::c_int,
);
}
pub type jmp_buf = [::core::ffi::c_int; 48usize];
pub type sigjmp_buf = [::core::ffi::c_int; 49usize];
extern "C" {
pub fn setjmp(arg1: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
pub fn longjmp(arg1: *mut ::core::ffi::c_int, arg2: ::core::ffi::c_int) -> !;
}
extern "C" {
pub fn _setjmp(arg1: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
pub fn _longjmp(arg1: *mut ::core::ffi::c_int, arg2: ::core::ffi::c_int) -> !;
}
extern "C" {
pub fn sigsetjmp(arg1: *mut ::core::ffi::c_int, arg2: ::core::ffi::c_int)
-> ::core::ffi::c_int;
}
extern "C" {
pub fn siglongjmp(arg1: *mut ::core::ffi::c_int, arg2: ::core::ffi::c_int) -> !;
}
extern "C" {
pub fn longjmperror();
}
extern "C" {
pub static qh_version: [::core::ffi::c_char; 0usize];
}
extern "C" {
pub static qh_version2: [::core::ffi::c_char; 0usize];
}
pub const qh_pointT_qh_IDnone: qh_pointT = -3;
pub const qh_pointT_qh_IDinterior: qh_pointT = -2;
pub const qh_pointT_qh_IDunknown: qh_pointT = -1;
pub type qh_pointT = ::core::ffi::c_int;
pub const qh_statistics_Zacoplanar: qh_statistics = 0;
pub const qh_statistics_Wacoplanarmax: qh_statistics = 1;
pub const qh_statistics_Wacoplanartot: qh_statistics = 2;
pub const qh_statistics_Zangle: qh_statistics = 3;
pub const qh_statistics_Wangle: qh_statistics = 4;
pub const qh_statistics_Wanglemax: qh_statistics = 5;
pub const qh_statistics_Wanglemin: qh_statistics = 6;
pub const qh_statistics_Zangletests: qh_statistics = 7;
pub const qh_statistics_Wareatot: qh_statistics = 8;
pub const qh_statistics_Wareamax: qh_statistics = 9;
pub const qh_statistics_Wareamin: qh_statistics = 10;
pub const qh_statistics_Zavoidold: qh_statistics = 11;
pub const qh_statistics_Wavoidoldmax: qh_statistics = 12;
pub const qh_statistics_Wavoidoldtot: qh_statistics = 13;
pub const qh_statistics_Zback0: qh_statistics = 14;
pub const qh_statistics_Zbestcentrum: qh_statistics = 15;
pub const qh_statistics_Zbestdist: qh_statistics = 16;
pub const qh_statistics_Zbestlower: qh_statistics = 17;
pub const qh_statistics_Zbestlowerall: qh_statistics = 18;
pub const qh_statistics_Zbestloweralln: qh_statistics = 19;
pub const qh_statistics_Zbestlowerv: qh_statistics = 20;
pub const qh_statistics_Zcentrumtests: qh_statistics = 21;
pub const qh_statistics_Zcheckpart: qh_statistics = 22;
pub const qh_statistics_Zcomputefurthest: qh_statistics = 23;
pub const qh_statistics_Zconcave: qh_statistics = 24;
pub const qh_statistics_Wconcavemax: qh_statistics = 25;
pub const qh_statistics_Wconcavetot: qh_statistics = 26;
pub const qh_statistics_Zconcavecoplanar: qh_statistics = 27;
pub const qh_statistics_Wconcavecoplanarmax: qh_statistics = 28;
pub const qh_statistics_Wconcavecoplanartot: qh_statistics = 29;
pub const qh_statistics_Zconcavecoplanarridge: qh_statistics = 30;
pub const qh_statistics_Zconcaveridge: qh_statistics = 31;
pub const qh_statistics_Zconcaveridges: qh_statistics = 32;
pub const qh_statistics_Zcoplanar: qh_statistics = 33;
pub const qh_statistics_Wcoplanarmax: qh_statistics = 34;
pub const qh_statistics_Wcoplanartot: qh_statistics = 35;
pub const qh_statistics_Zcoplanarangle: qh_statistics = 36;
pub const qh_statistics_Zcoplanarcentrum: qh_statistics = 37;
pub const qh_statistics_Zcoplanarhorizon: qh_statistics = 38;
pub const qh_statistics_Zcoplanarinside: qh_statistics = 39;
pub const qh_statistics_Zcoplanarpart: qh_statistics = 40;
pub const qh_statistics_Zcoplanarridges: qh_statistics = 41;
pub const qh_statistics_Wcpu: qh_statistics = 42;
pub const qh_statistics_Zcyclefacetmax: qh_statistics = 43;
pub const qh_statistics_Zcyclefacettot: qh_statistics = 44;
pub const qh_statistics_Zcyclehorizon: qh_statistics = 45;
pub const qh_statistics_Zcyclevertex: qh_statistics = 46;
pub const qh_statistics_Zdegen: qh_statistics = 47;
pub const qh_statistics_Wdegenmax: qh_statistics = 48;
pub const qh_statistics_Wdegentot: qh_statistics = 49;
pub const qh_statistics_Zdegenvertex: qh_statistics = 50;
pub const qh_statistics_Zdelfacetdup: qh_statistics = 51;
pub const qh_statistics_Zdelridge: qh_statistics = 52;
pub const qh_statistics_Zdelvertextot: qh_statistics = 53;
pub const qh_statistics_Zdelvertexmax: qh_statistics = 54;
pub const qh_statistics_Zdetfacetarea: qh_statistics = 55;
pub const qh_statistics_Zdetsimplex: qh_statistics = 56;
pub const qh_statistics_Zdistcheck: qh_statistics = 57;
pub const qh_statistics_Zdistconvex: qh_statistics = 58;
pub const qh_statistics_Zdistgood: qh_statistics = 59;
pub const qh_statistics_Zdistio: qh_statistics = 60;
pub const qh_statistics_Zdistplane: qh_statistics = 61;
pub const qh_statistics_Zdiststat: qh_statistics = 62;
pub const qh_statistics_Zdistvertex: qh_statistics = 63;
pub const qh_statistics_Zdistzero: qh_statistics = 64;
pub const qh_statistics_Zdoc1: qh_statistics = 65;
pub const qh_statistics_Zdoc2: qh_statistics = 66;
pub const qh_statistics_Zdoc3: qh_statistics = 67;
pub const qh_statistics_Zdoc4: qh_statistics = 68;
pub const qh_statistics_Zdoc5: qh_statistics = 69;
pub const qh_statistics_Zdoc6: qh_statistics = 70;
pub const qh_statistics_Zdoc7: qh_statistics = 71;
pub const qh_statistics_Zdoc8: qh_statistics = 72;
pub const qh_statistics_Zdoc9: qh_statistics = 73;
pub const qh_statistics_Zdoc10: qh_statistics = 74;
pub const qh_statistics_Zdoc11: qh_statistics = 75;
pub const qh_statistics_Zdoc12: qh_statistics = 76;
pub const qh_statistics_Zdropdegen: qh_statistics = 77;
pub const qh_statistics_Zdropneighbor: qh_statistics = 78;
pub const qh_statistics_Zdupflip: qh_statistics = 79;
pub const qh_statistics_Zduplicate: qh_statistics = 80;
pub const qh_statistics_Wduplicatemax: qh_statistics = 81;
pub const qh_statistics_Wduplicatetot: qh_statistics = 82;
pub const qh_statistics_Zdupsame: qh_statistics = 83;
pub const qh_statistics_Zflipped: qh_statistics = 84;
pub const qh_statistics_Wflippedmax: qh_statistics = 85;
pub const qh_statistics_Wflippedtot: qh_statistics = 86;
pub const qh_statistics_Zflippedfacets: qh_statistics = 87;
pub const qh_statistics_Zflipridge: qh_statistics = 88;
pub const qh_statistics_Zflipridge2: qh_statistics = 89;
pub const qh_statistics_Zfindbest: qh_statistics = 90;
pub const qh_statistics_Zfindbestmax: qh_statistics = 91;
pub const qh_statistics_Zfindbesttot: qh_statistics = 92;
pub const qh_statistics_Zfindcoplanar: qh_statistics = 93;
pub const qh_statistics_Zfindfail: qh_statistics = 94;
pub const qh_statistics_Zfindhorizon: qh_statistics = 95;
pub const qh_statistics_Zfindhorizonmax: qh_statistics = 96;
pub const qh_statistics_Zfindhorizontot: qh_statistics = 97;
pub const qh_statistics_Zfindjump: qh_statistics = 98;
pub const qh_statistics_Zfindnew: qh_statistics = 99;
pub const qh_statistics_Zfindnewmax: qh_statistics = 100;
pub const qh_statistics_Zfindnewtot: qh_statistics = 101;
pub const qh_statistics_Zfindnewjump: qh_statistics = 102;
pub const qh_statistics_Zfindnewsharp: qh_statistics = 103;
pub const qh_statistics_Zgauss0: qh_statistics = 104;
pub const qh_statistics_Zgoodfacet: qh_statistics = 105;
pub const qh_statistics_Zhashlookup: qh_statistics = 106;
pub const qh_statistics_Zhashridge: qh_statistics = 107;
pub const qh_statistics_Zhashridgetest: qh_statistics = 108;
pub const qh_statistics_Zhashtests: qh_statistics = 109;
pub const qh_statistics_Zinsidevisible: qh_statistics = 110;
pub const qh_statistics_Zintersect: qh_statistics = 111;
pub const qh_statistics_Zintersectfail: qh_statistics = 112;
pub const qh_statistics_Zintersectmax: qh_statistics = 113;
pub const qh_statistics_Zintersectnum: qh_statistics = 114;
pub const qh_statistics_Zintersecttot: qh_statistics = 115;
pub const qh_statistics_Zmaxneighbors: qh_statistics = 116;
pub const qh_statistics_Wmaxout: qh_statistics = 117;
pub const qh_statistics_Wmaxoutside: qh_statistics = 118;
pub const qh_statistics_Zmaxridges: qh_statistics = 119;
pub const qh_statistics_Zmaxvertex: qh_statistics = 120;
pub const qh_statistics_Zmaxvertices: qh_statistics = 121;
pub const qh_statistics_Zmaxvneighbors: qh_statistics = 122;
pub const qh_statistics_Zmemfacets: qh_statistics = 123;
pub const qh_statistics_Zmempoints: qh_statistics = 124;
pub const qh_statistics_Zmemridges: qh_statistics = 125;
pub const qh_statistics_Zmemvertices: qh_statistics = 126;
pub const qh_statistics_Zmergeflipdup: qh_statistics = 127;
pub const qh_statistics_Zmergehorizon: qh_statistics = 128;
pub const qh_statistics_Zmergeinittot: qh_statistics = 129;
pub const qh_statistics_Zmergeinitmax: qh_statistics = 130;
pub const qh_statistics_Zmergeinittot2: qh_statistics = 131;
pub const qh_statistics_Zmergeintocoplanar: qh_statistics = 132;
pub const qh_statistics_Zmergeintohorizon: qh_statistics = 133;
pub const qh_statistics_Zmergenew: qh_statistics = 134;
pub const qh_statistics_Zmergesettot: qh_statistics = 135;
pub const qh_statistics_Zmergesetmax: qh_statistics = 136;
pub const qh_statistics_Zmergesettot2: qh_statistics = 137;
pub const qh_statistics_Zmergesimplex: qh_statistics = 138;
pub const qh_statistics_Zmergevertex: qh_statistics = 139;
pub const qh_statistics_Wmindenom: qh_statistics = 140;
pub const qh_statistics_Wminvertex: qh_statistics = 141;
pub const qh_statistics_Zminnorm: qh_statistics = 142;
pub const qh_statistics_Zmultiridge: qh_statistics = 143;
pub const qh_statistics_Znearlysingular: qh_statistics = 144;
pub const qh_statistics_Zredundant: qh_statistics = 145;
pub const qh_statistics_Wnewbalance: qh_statistics = 146;
pub const qh_statistics_Wnewbalance2: qh_statistics = 147;
pub const qh_statistics_Znewbesthorizon: qh_statistics = 148;
pub const qh_statistics_Znewfacettot: qh_statistics = 149;
pub const qh_statistics_Znewfacetmax: qh_statistics = 150;
pub const qh_statistics_Znewvertex: qh_statistics = 151;
pub const qh_statistics_Wnewvertex: qh_statistics = 152;
pub const qh_statistics_Wnewvertexmax: qh_statistics = 153;
pub const qh_statistics_Znewvertexridge: qh_statistics = 154;
pub const qh_statistics_Znoarea: qh_statistics = 155;
pub const qh_statistics_Znonsimplicial: qh_statistics = 156;
pub const qh_statistics_Znowsimplicial: qh_statistics = 157;
pub const qh_statistics_Znotgood: qh_statistics = 158;
pub const qh_statistics_Znotgoodnew: qh_statistics = 159;
pub const qh_statistics_Znotmax: qh_statistics = 160;
pub const qh_statistics_Znumfacets: qh_statistics = 161;
pub const qh_statistics_Znummergemax: qh_statistics = 162;
pub const qh_statistics_Znummergetot: qh_statistics = 163;
pub const qh_statistics_Znumneighbors: qh_statistics = 164;
pub const qh_statistics_Znumridges: qh_statistics = 165;
pub const qh_statistics_Znumvertices: qh_statistics = 166;
pub const qh_statistics_Znumvisibility: qh_statistics = 167;
pub const qh_statistics_Znumvneighbors: qh_statistics = 168;
pub const qh_statistics_Zonehorizon: qh_statistics = 169;
pub const qh_statistics_Zpartangle: qh_statistics = 170;
pub const qh_statistics_Zpartcoplanar: qh_statistics = 171;
pub const qh_statistics_Zpartcorner: qh_statistics = 172;
pub const qh_statistics_Zparthidden: qh_statistics = 173;
pub const qh_statistics_Zpartinside: qh_statistics = 174;
pub const qh_statistics_Zpartition: qh_statistics = 175;
pub const qh_statistics_Zpartitionall: qh_statistics = 176;
pub const qh_statistics_Zpartnear: qh_statistics = 177;
pub const qh_statistics_Zparttwisted: qh_statistics = 178;
pub const qh_statistics_Zpbalance: qh_statistics = 179;
pub const qh_statistics_Wpbalance: qh_statistics = 180;
pub const qh_statistics_Wpbalance2: qh_statistics = 181;
pub const qh_statistics_Zpinchduplicate: qh_statistics = 182;
pub const qh_statistics_Zpinchedapex: qh_statistics = 183;
pub const qh_statistics_Zpinchedvertex: qh_statistics = 184;
pub const qh_statistics_Zpostfacets: qh_statistics = 185;
pub const qh_statistics_Zpremergetot: qh_statistics = 186;
pub const qh_statistics_Zprocessed: qh_statistics = 187;
pub const qh_statistics_Zremvertex: qh_statistics = 188;
pub const qh_statistics_Zremvertexdel: qh_statistics = 189;
pub const qh_statistics_Zredundantmerge: qh_statistics = 190;
pub const qh_statistics_Zrenameall: qh_statistics = 191;
pub const qh_statistics_Zrenamepinch: qh_statistics = 192;
pub const qh_statistics_Zrenameshare: qh_statistics = 193;
pub const qh_statistics_Zretry: qh_statistics = 194;
pub const qh_statistics_Wretrymax: qh_statistics = 195;
pub const qh_statistics_Zretryadd: qh_statistics = 196;
pub const qh_statistics_Zretryaddmax: qh_statistics = 197;
pub const qh_statistics_Zretryaddtot: qh_statistics = 198;
pub const qh_statistics_Zridge: qh_statistics = 199;
pub const qh_statistics_Wridge: qh_statistics = 200;
pub const qh_statistics_Wridgemax: qh_statistics = 201;
pub const qh_statistics_Zridge0: qh_statistics = 202;
pub const qh_statistics_Wridge0: qh_statistics = 203;
pub const qh_statistics_Wridge0max: qh_statistics = 204;
pub const qh_statistics_Zridgemid: qh_statistics = 205;
pub const qh_statistics_Wridgemid: qh_statistics = 206;
pub const qh_statistics_Wridgemidmax: qh_statistics = 207;
pub const qh_statistics_Zridgeok: qh_statistics = 208;
pub const qh_statistics_Wridgeok: qh_statistics = 209;
pub const qh_statistics_Wridgeokmax: qh_statistics = 210;
pub const qh_statistics_Zsearchpoints: qh_statistics = 211;
pub const qh_statistics_Zsetplane: qh_statistics = 212;
pub const qh_statistics_Ztestvneighbor: qh_statistics = 213;
pub const qh_statistics_Ztotcheck: qh_statistics = 214;
pub const qh_statistics_Ztothorizon: qh_statistics = 215;
pub const qh_statistics_Ztotmerge: qh_statistics = 216;
pub const qh_statistics_Ztotpartcoplanar: qh_statistics = 217;
pub const qh_statistics_Ztotpartition: qh_statistics = 218;
pub const qh_statistics_Ztotridges: qh_statistics = 219;
pub const qh_statistics_Ztotvertices: qh_statistics = 220;
pub const qh_statistics_Ztotvisible: qh_statistics = 221;
pub const qh_statistics_Ztricoplanar: qh_statistics = 222;
pub const qh_statistics_Ztricoplanarmax: qh_statistics = 223;
pub const qh_statistics_Ztricoplanartot: qh_statistics = 224;
pub const qh_statistics_Ztridegen: qh_statistics = 225;
pub const qh_statistics_Ztrimirror: qh_statistics = 226;
pub const qh_statistics_Ztrinull: qh_statistics = 227;
pub const qh_statistics_Ztwisted: qh_statistics = 228;
pub const qh_statistics_Wtwistedtot: qh_statistics = 229;
pub const qh_statistics_Wtwistedmax: qh_statistics = 230;
pub const qh_statistics_Ztwistedridge: qh_statistics = 231;
pub const qh_statistics_Zvertextests: qh_statistics = 232;
pub const qh_statistics_Wvertexmax: qh_statistics = 233;
pub const qh_statistics_Wvertexmin: qh_statistics = 234;
pub const qh_statistics_Zvertexridge: qh_statistics = 235;
pub const qh_statistics_Zvertexridgetot: qh_statistics = 236;
pub const qh_statistics_Zvertexridgemax: qh_statistics = 237;
pub const qh_statistics_Zvertices: qh_statistics = 238;
pub const qh_statistics_Zvisfacettot: qh_statistics = 239;
pub const qh_statistics_Zvisfacetmax: qh_statistics = 240;
pub const qh_statistics_Zvisit: qh_statistics = 241;
pub const qh_statistics_Zvisit2max: qh_statistics = 242;
pub const qh_statistics_Zvisvertextot: qh_statistics = 243;
pub const qh_statistics_Zvisvertexmax: qh_statistics = 244;
pub const qh_statistics_Zvvisit: qh_statistics = 245;
pub const qh_statistics_Zvvisit2max: qh_statistics = 246;
pub const qh_statistics_Zwidefacet: qh_statistics = 247;
pub const qh_statistics_Zwidevertices: qh_statistics = 248;
pub const qh_statistics_ZEND: qh_statistics = 249;
pub type qh_statistics = ::core::ffi::c_uint;
pub const ztypes_zdoc: ztypes = 0;
pub const ztypes_zinc: ztypes = 1;
pub const ztypes_zadd: ztypes = 2;
pub const ztypes_zmax: ztypes = 3;
pub const ztypes_zmin: ztypes = 4;
pub const ztypes_ZTYPEreal: ztypes = 5;
pub const ztypes_wadd: ztypes = 6;
pub const ztypes_wmax: ztypes = 7;
pub const ztypes_wmin: ztypes = 8;
pub const ztypes_ZTYPEend: ztypes = 9;
pub type ztypes = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub union intrealT {
pub i: ::core::ffi::c_int,
pub r: f64,
}
#[test]
fn bindgen_test_layout_intrealT() {
const UNINIT: ::core::mem::MaybeUninit<intrealT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<intrealT>(),
8usize,
concat!("Size of: ", stringify!(intrealT))
);
assert_eq!(
::core::mem::align_of::<intrealT>(),
8usize,
concat!("Alignment of ", stringify!(intrealT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(intrealT),
"::",
stringify!(i)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(intrealT),
"::",
stringify!(r)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct qhstatT {
pub stats: [intrealT; 249usize],
pub id: [::core::ffi::c_uchar; 259usize],
pub doc: [*const ::core::ffi::c_char; 249usize],
pub count: [::core::ffi::c_short; 249usize],
pub type_: [::core::ffi::c_char; 249usize],
pub printed: [::core::ffi::c_char; 249usize],
pub init: [intrealT; 9usize],
pub next: ::core::ffi::c_int,
pub precision: ::core::ffi::c_int,
pub vridges: ::core::ffi::c_int,
pub tempi: ::core::ffi::c_int,
pub tempr: f64,
}
#[test]
fn bindgen_test_layout_qhstatT() {
const UNINIT: ::core::mem::MaybeUninit<qhstatT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<qhstatT>(),
5344usize,
concat!("Size of: ", stringify!(qhstatT))
);
assert_eq!(
::core::mem::align_of::<qhstatT>(),
8usize,
concat!("Alignment of ", stringify!(qhstatT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).stats) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(stats)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
1992usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).doc) as usize - ptr as usize },
2256usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(doc)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
4248usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4746usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).printed) as usize - ptr as usize },
4995usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(printed)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5248usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(init)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
5320usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).precision) as usize - ptr as usize },
5324usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(precision)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vridges) as usize - ptr as usize },
5328usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(vridges)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tempi) as usize - ptr as usize },
5332usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(tempi)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tempr) as usize - ptr as usize },
5336usize,
concat!(
"Offset of field: ",
stringify!(qhstatT),
"::",
stringify!(tempr)
)
);
}
extern "C" {
pub fn qh_allstatA(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatB(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatC(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatD(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatE(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatE2(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatF(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatG(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatH(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatI(qh: *mut qhT);
}
extern "C" {
pub fn qh_allstatistics(qh: *mut qhT);
}
extern "C" {
#[doc = " -stat_r.c prototypes (duplicated from stat_r.h)"]
pub fn qh_collectstatistics(qh: *mut qhT);
}
extern "C" {
pub fn qh_initstatistics(qh: *mut qhT);
}
extern "C" {
pub fn qh_newstats(
qh: *mut qhT,
idx: ::core::ffi::c_int,
nextindex: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_nostatistic(qh: *mut qhT, i: ::core::ffi::c_int) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_printallstatistics(qh: *mut qhT, fp: *mut FILE, string: *const ::core::ffi::c_char);
}
extern "C" {
pub fn qh_printstatistics(qh: *mut qhT, fp: *mut FILE, string: *const ::core::ffi::c_char);
}
extern "C" {
pub fn qh_printstatlevel(qh: *mut qhT, fp: *mut FILE, id: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_printstats(
qh: *mut qhT,
fp: *mut FILE,
idx: ::core::ffi::c_int,
nextindex: *mut ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_stddev(
qh: *mut qhT,
num: ::core::ffi::c_int,
tot: f64,
tot2: f64,
ave: *mut f64,
) -> f64;
}
pub const qh_CENTER_qh_ASnone: qh_CENTER = 0;
pub const qh_CENTER_qh_ASvoronoi: qh_CENTER = 1;
pub const qh_CENTER_qh_AScentrum: qh_CENTER = 2;
pub type qh_CENTER = ::core::ffi::c_uint;
pub const qh_PRINT_qh_PRINTnone: qh_PRINT = 0;
pub const qh_PRINT_qh_PRINTarea: qh_PRINT = 1;
pub const qh_PRINT_qh_PRINTaverage: qh_PRINT = 2;
pub const qh_PRINT_qh_PRINTcoplanars: qh_PRINT = 3;
pub const qh_PRINT_qh_PRINTcentrums: qh_PRINT = 4;
pub const qh_PRINT_qh_PRINTfacets: qh_PRINT = 5;
pub const qh_PRINT_qh_PRINTfacets_xridge: qh_PRINT = 6;
pub const qh_PRINT_qh_PRINTgeom: qh_PRINT = 7;
pub const qh_PRINT_qh_PRINTids: qh_PRINT = 8;
pub const qh_PRINT_qh_PRINTinner: qh_PRINT = 9;
pub const qh_PRINT_qh_PRINTneighbors: qh_PRINT = 10;
pub const qh_PRINT_qh_PRINTnormals: qh_PRINT = 11;
pub const qh_PRINT_qh_PRINTouter: qh_PRINT = 12;
pub const qh_PRINT_qh_PRINTmaple: qh_PRINT = 13;
pub const qh_PRINT_qh_PRINTincidences: qh_PRINT = 14;
pub const qh_PRINT_qh_PRINTmathematica: qh_PRINT = 15;
pub const qh_PRINT_qh_PRINTmerges: qh_PRINT = 16;
pub const qh_PRINT_qh_PRINToff: qh_PRINT = 17;
pub const qh_PRINT_qh_PRINToptions: qh_PRINT = 18;
pub const qh_PRINT_qh_PRINTpointintersect: qh_PRINT = 19;
pub const qh_PRINT_qh_PRINTpointnearest: qh_PRINT = 20;
pub const qh_PRINT_qh_PRINTpoints: qh_PRINT = 21;
pub const qh_PRINT_qh_PRINTqhull: qh_PRINT = 22;
pub const qh_PRINT_qh_PRINTsize: qh_PRINT = 23;
pub const qh_PRINT_qh_PRINTsummary: qh_PRINT = 24;
pub const qh_PRINT_qh_PRINTtriangles: qh_PRINT = 25;
pub const qh_PRINT_qh_PRINTvertices: qh_PRINT = 26;
pub const qh_PRINT_qh_PRINTvneighbors: qh_PRINT = 27;
pub const qh_PRINT_qh_PRINTextremes: qh_PRINT = 28;
pub const qh_PRINT_qh_PRINTEND: qh_PRINT = 29;
pub type qh_PRINT = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct facetT {
pub furthestdist: f64,
pub maxoutside: f64,
pub offset: f64,
pub normal: *mut f64,
pub f: facetT__bindgen_ty_1,
pub center: *mut f64,
pub previous: *mut facetT,
pub next: *mut facetT,
pub vertices: *mut setT,
pub ridges: *mut setT,
pub neighbors: *mut setT,
pub outsideset: *mut setT,
pub coplanarset: *mut setT,
pub visitid: ::core::ffi::c_uint,
pub id: ::core::ffi::c_uint,
pub _bitfield_align_1: [u16; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
pub __bindgen_padding_0: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union facetT__bindgen_ty_1 {
pub area: f64,
pub replace: *mut facetT,
pub samecycle: *mut facetT,
pub newcycle: *mut facetT,
pub trivisible: *mut facetT,
pub triowner: *mut facetT,
}
#[test]
fn bindgen_test_layout_facetT__bindgen_ty_1() {
const UNINIT: ::core::mem::MaybeUninit<facetT__bindgen_ty_1> =
::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<facetT__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(facetT__bindgen_ty_1))
);
assert_eq!(
::core::mem::align_of::<facetT__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(facetT__bindgen_ty_1))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).area) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(area)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).replace) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(replace)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).samecycle) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(samecycle)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).newcycle) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(newcycle)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).trivisible) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(trivisible)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).triowner) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT__bindgen_ty_1),
"::",
stringify!(triowner)
)
);
}
#[test]
fn bindgen_test_layout_facetT() {
const UNINIT: ::core::mem::MaybeUninit<facetT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<facetT>(),
120usize,
concat!("Size of: ", stringify!(facetT))
);
assert_eq!(
::core::mem::align_of::<facetT>(),
8usize,
concat!("Alignment of ", stringify!(facetT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).furthestdist) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(furthestdist)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).maxoutside) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(maxoutside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).normal) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(normal)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
32usize,
concat!("Offset of field: ", stringify!(facetT), "::", stringify!(f))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).center) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(center)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).previous) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(previous)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertices) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(vertices)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ridges) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(ridges)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).neighbors) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(neighbors)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).outsideset) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(outsideset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).coplanarset) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(coplanarset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).visitid) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(visitid)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(facetT),
"::",
stringify!(id)
)
);
}
impl facetT {
#[inline]
pub fn nummerge(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 9u8) as u32) }
}
#[inline]
pub fn set_nummerge(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 9u8, val as u64)
}
}
#[inline]
pub fn tricoplanar(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
}
#[inline]
pub fn set_tricoplanar(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub fn newfacet(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
}
#[inline]
pub fn set_newfacet(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(10usize, 1u8, val as u64)
}
}
#[inline]
pub fn visible(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
}
#[inline]
pub fn set_visible(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(11usize, 1u8, val as u64)
}
}
#[inline]
pub fn toporient(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
}
#[inline]
pub fn set_toporient(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(12usize, 1u8, val as u64)
}
}
#[inline]
pub fn simplicial(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
}
#[inline]
pub fn set_simplicial(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(13usize, 1u8, val as u64)
}
}
#[inline]
pub fn seen(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
}
#[inline]
pub fn set_seen(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(14usize, 1u8, val as u64)
}
}
#[inline]
pub fn seen2(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
}
#[inline]
pub fn set_seen2(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(15usize, 1u8, val as u64)
}
}
#[inline]
pub fn flipped(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
}
#[inline]
pub fn set_flipped(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(16usize, 1u8, val as u64)
}
}
#[inline]
pub fn upperdelaunay(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
}
#[inline]
pub fn set_upperdelaunay(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(17usize, 1u8, val as u64)
}
}
#[inline]
pub fn notfurthest(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
}
#[inline]
pub fn set_notfurthest(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(18usize, 1u8, val as u64)
}
}
#[inline]
pub fn good(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
}
#[inline]
pub fn set_good(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(19usize, 1u8, val as u64)
}
}
#[inline]
pub fn isarea(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
}
#[inline]
pub fn set_isarea(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(20usize, 1u8, val as u64)
}
}
#[inline]
pub fn dupridge(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
}
#[inline]
pub fn set_dupridge(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(21usize, 1u8, val as u64)
}
}
#[inline]
pub fn mergeridge(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
}
#[inline]
pub fn set_mergeridge(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(22usize, 1u8, val as u64)
}
}
#[inline]
pub fn mergeridge2(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
}
#[inline]
pub fn set_mergeridge2(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(23usize, 1u8, val as u64)
}
}
#[inline]
pub fn coplanarhorizon(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
}
#[inline]
pub fn set_coplanarhorizon(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(24usize, 1u8, val as u64)
}
}
#[inline]
pub fn mergehorizon(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
}
#[inline]
pub fn set_mergehorizon(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(25usize, 1u8, val as u64)
}
}
#[inline]
pub fn cycledone(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
}
#[inline]
pub fn set_cycledone(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(26usize, 1u8, val as u64)
}
}
#[inline]
pub fn tested(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
}
#[inline]
pub fn set_tested(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(27usize, 1u8, val as u64)
}
}
#[inline]
pub fn keepcentrum(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
}
#[inline]
pub fn set_keepcentrum(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(28usize, 1u8, val as u64)
}
}
#[inline]
pub fn newmerge(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
}
#[inline]
pub fn set_newmerge(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(29usize, 1u8, val as u64)
}
}
#[inline]
pub fn degenerate(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
}
#[inline]
pub fn set_degenerate(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(30usize, 1u8, val as u64)
}
}
#[inline]
pub fn redundant(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
}
#[inline]
pub fn set_redundant(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(31usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
nummerge: ::core::ffi::c_uint,
tricoplanar: ::core::ffi::c_uint,
newfacet: ::core::ffi::c_uint,
visible: ::core::ffi::c_uint,
toporient: ::core::ffi::c_uint,
simplicial: ::core::ffi::c_uint,
seen: ::core::ffi::c_uint,
seen2: ::core::ffi::c_uint,
flipped: ::core::ffi::c_uint,
upperdelaunay: ::core::ffi::c_uint,
notfurthest: ::core::ffi::c_uint,
good: ::core::ffi::c_uint,
isarea: ::core::ffi::c_uint,
dupridge: ::core::ffi::c_uint,
mergeridge: ::core::ffi::c_uint,
mergeridge2: ::core::ffi::c_uint,
coplanarhorizon: ::core::ffi::c_uint,
mergehorizon: ::core::ffi::c_uint,
cycledone: ::core::ffi::c_uint,
tested: ::core::ffi::c_uint,
keepcentrum: ::core::ffi::c_uint,
newmerge: ::core::ffi::c_uint,
degenerate: ::core::ffi::c_uint,
redundant: ::core::ffi::c_uint,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 9u8, {
let nummerge: u32 = unsafe { ::core::mem::transmute(nummerge) };
nummerge as u64
});
__bindgen_bitfield_unit.set(9usize, 1u8, {
let tricoplanar: u32 = unsafe { ::core::mem::transmute(tricoplanar) };
tricoplanar as u64
});
__bindgen_bitfield_unit.set(10usize, 1u8, {
let newfacet: u32 = unsafe { ::core::mem::transmute(newfacet) };
newfacet as u64
});
__bindgen_bitfield_unit.set(11usize, 1u8, {
let visible: u32 = unsafe { ::core::mem::transmute(visible) };
visible as u64
});
__bindgen_bitfield_unit.set(12usize, 1u8, {
let toporient: u32 = unsafe { ::core::mem::transmute(toporient) };
toporient as u64
});
__bindgen_bitfield_unit.set(13usize, 1u8, {
let simplicial: u32 = unsafe { ::core::mem::transmute(simplicial) };
simplicial as u64
});
__bindgen_bitfield_unit.set(14usize, 1u8, {
let seen: u32 = unsafe { ::core::mem::transmute(seen) };
seen as u64
});
__bindgen_bitfield_unit.set(15usize, 1u8, {
let seen2: u32 = unsafe { ::core::mem::transmute(seen2) };
seen2 as u64
});
__bindgen_bitfield_unit.set(16usize, 1u8, {
let flipped: u32 = unsafe { ::core::mem::transmute(flipped) };
flipped as u64
});
__bindgen_bitfield_unit.set(17usize, 1u8, {
let upperdelaunay: u32 = unsafe { ::core::mem::transmute(upperdelaunay) };
upperdelaunay as u64
});
__bindgen_bitfield_unit.set(18usize, 1u8, {
let notfurthest: u32 = unsafe { ::core::mem::transmute(notfurthest) };
notfurthest as u64
});
__bindgen_bitfield_unit.set(19usize, 1u8, {
let good: u32 = unsafe { ::core::mem::transmute(good) };
good as u64
});
__bindgen_bitfield_unit.set(20usize, 1u8, {
let isarea: u32 = unsafe { ::core::mem::transmute(isarea) };
isarea as u64
});
__bindgen_bitfield_unit.set(21usize, 1u8, {
let dupridge: u32 = unsafe { ::core::mem::transmute(dupridge) };
dupridge as u64
});
__bindgen_bitfield_unit.set(22usize, 1u8, {
let mergeridge: u32 = unsafe { ::core::mem::transmute(mergeridge) };
mergeridge as u64
});
__bindgen_bitfield_unit.set(23usize, 1u8, {
let mergeridge2: u32 = unsafe { ::core::mem::transmute(mergeridge2) };
mergeridge2 as u64
});
__bindgen_bitfield_unit.set(24usize, 1u8, {
let coplanarhorizon: u32 = unsafe { ::core::mem::transmute(coplanarhorizon) };
coplanarhorizon as u64
});
__bindgen_bitfield_unit.set(25usize, 1u8, {
let mergehorizon: u32 = unsafe { ::core::mem::transmute(mergehorizon) };
mergehorizon as u64
});
__bindgen_bitfield_unit.set(26usize, 1u8, {
let cycledone: u32 = unsafe { ::core::mem::transmute(cycledone) };
cycledone as u64
});
__bindgen_bitfield_unit.set(27usize, 1u8, {
let tested: u32 = unsafe { ::core::mem::transmute(tested) };
tested as u64
});
__bindgen_bitfield_unit.set(28usize, 1u8, {
let keepcentrum: u32 = unsafe { ::core::mem::transmute(keepcentrum) };
keepcentrum as u64
});
__bindgen_bitfield_unit.set(29usize, 1u8, {
let newmerge: u32 = unsafe { ::core::mem::transmute(newmerge) };
newmerge as u64
});
__bindgen_bitfield_unit.set(30usize, 1u8, {
let degenerate: u32 = unsafe { ::core::mem::transmute(degenerate) };
degenerate as u64
});
__bindgen_bitfield_unit.set(31usize, 1u8, {
let redundant: u32 = unsafe { ::core::mem::transmute(redundant) };
redundant as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ridgeT {
pub vertices: *mut setT,
pub top: *mut facetT,
pub bottom: *mut facetT,
pub id: ::core::ffi::c_uint,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
pub __bindgen_padding_0: [u8; 3usize],
}
#[test]
fn bindgen_test_layout_ridgeT() {
const UNINIT: ::core::mem::MaybeUninit<ridgeT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<ridgeT>(),
32usize,
concat!("Size of: ", stringify!(ridgeT))
);
assert_eq!(
::core::mem::align_of::<ridgeT>(),
8usize,
concat!("Alignment of ", stringify!(ridgeT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertices) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ridgeT),
"::",
stringify!(vertices)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ridgeT),
"::",
stringify!(top)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(ridgeT),
"::",
stringify!(bottom)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(ridgeT),
"::",
stringify!(id)
)
);
}
impl ridgeT {
#[inline]
pub fn seen(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_seen(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn tested(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_tested(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn nonconvex(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
pub fn set_nonconvex(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn mergevertex(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
pub fn set_mergevertex(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn mergevertex2(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
pub fn set_mergevertex2(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn simplicialtop(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
}
#[inline]
pub fn set_simplicialtop(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub fn simplicialbot(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
}
#[inline]
pub fn set_simplicialbot(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(6usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
seen: ::core::ffi::c_uint,
tested: ::core::ffi::c_uint,
nonconvex: ::core::ffi::c_uint,
mergevertex: ::core::ffi::c_uint,
mergevertex2: ::core::ffi::c_uint,
simplicialtop: ::core::ffi::c_uint,
simplicialbot: ::core::ffi::c_uint,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let seen: u32 = unsafe { ::core::mem::transmute(seen) };
seen as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let tested: u32 = unsafe { ::core::mem::transmute(tested) };
tested as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let nonconvex: u32 = unsafe { ::core::mem::transmute(nonconvex) };
nonconvex as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let mergevertex: u32 = unsafe { ::core::mem::transmute(mergevertex) };
mergevertex as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let mergevertex2: u32 = unsafe { ::core::mem::transmute(mergevertex2) };
mergevertex2 as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let simplicialtop: u32 = unsafe { ::core::mem::transmute(simplicialtop) };
simplicialtop as u64
});
__bindgen_bitfield_unit.set(6usize, 1u8, {
let simplicialbot: u32 = unsafe { ::core::mem::transmute(simplicialbot) };
simplicialbot as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct vertexT {
pub next: *mut vertexT,
pub previous: *mut vertexT,
pub point: *mut f64,
pub neighbors: *mut setT,
pub id: ::core::ffi::c_uint,
pub visitid: ::core::ffi::c_uint,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
pub __bindgen_padding_0: [u8; 7usize],
}
#[test]
fn bindgen_test_layout_vertexT() {
const UNINIT: ::core::mem::MaybeUninit<vertexT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<vertexT>(),
48usize,
concat!("Size of: ", stringify!(vertexT))
);
assert_eq!(
::core::mem::align_of::<vertexT>(),
8usize,
concat!("Alignment of ", stringify!(vertexT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).previous) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(previous)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(point)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).neighbors) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(neighbors)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).visitid) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(vertexT),
"::",
stringify!(visitid)
)
);
}
impl vertexT {
#[inline]
pub fn seen(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_seen(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn seen2(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_seen2(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn deleted(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
pub fn set_deleted(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn delridge(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
pub fn set_delridge(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn newfacet(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
pub fn set_newfacet(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn partitioned(&self) -> ::core::ffi::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
}
#[inline]
pub fn set_partitioned(&mut self, val: ::core::ffi::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
seen: ::core::ffi::c_uint,
seen2: ::core::ffi::c_uint,
deleted: ::core::ffi::c_uint,
delridge: ::core::ffi::c_uint,
newfacet: ::core::ffi::c_uint,
partitioned: ::core::ffi::c_uint,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let seen: u32 = unsafe { ::core::mem::transmute(seen) };
seen as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let seen2: u32 = unsafe { ::core::mem::transmute(seen2) };
seen2 as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let deleted: u32 = unsafe { ::core::mem::transmute(deleted) };
deleted as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let delridge: u32 = unsafe { ::core::mem::transmute(delridge) };
delridge as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let newfacet: u32 = unsafe { ::core::mem::transmute(newfacet) };
newfacet as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let partitioned: u32 = unsafe { ::core::mem::transmute(partitioned) };
partitioned as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct qhT {
pub ALLpoints: ::core::ffi::c_uint,
pub ALLOWshort: ::core::ffi::c_uint,
pub ALLOWwarning: ::core::ffi::c_uint,
pub ALLOWwide: ::core::ffi::c_uint,
pub ANGLEmerge: ::core::ffi::c_uint,
pub APPROXhull: ::core::ffi::c_uint,
pub MINoutside: f64,
pub ANNOTATEoutput: ::core::ffi::c_uint,
pub ATinfinity: ::core::ffi::c_uint,
pub AVOIDold: ::core::ffi::c_uint,
pub BESToutside: ::core::ffi::c_uint,
pub CDDinput: ::core::ffi::c_uint,
pub CDDoutput: ::core::ffi::c_uint,
pub CHECKduplicates: ::core::ffi::c_uint,
pub CHECKfrequently: ::core::ffi::c_uint,
pub premerge_cos: f64,
pub postmerge_cos: f64,
pub DELAUNAY: ::core::ffi::c_uint,
pub DOintersections: ::core::ffi::c_uint,
pub DROPdim: ::core::ffi::c_int,
pub FLUSHprint: ::core::ffi::c_uint,
pub FORCEoutput: ::core::ffi::c_uint,
pub GOODpoint: ::core::ffi::c_int,
pub GOODpointp: *mut f64,
pub GOODthreshold: ::core::ffi::c_uint,
pub GOODvertex: ::core::ffi::c_int,
pub GOODvertexp: *mut f64,
pub HALFspace: ::core::ffi::c_uint,
pub ISqhullQh: ::core::ffi::c_uint,
pub IStracing: ::core::ffi::c_int,
pub KEEParea: ::core::ffi::c_int,
pub KEEPcoplanar: ::core::ffi::c_uint,
pub KEEPinside: ::core::ffi::c_uint,
pub KEEPmerge: ::core::ffi::c_int,
pub KEEPminArea: f64,
pub MAXcoplanar: f64,
pub MAXwide: ::core::ffi::c_int,
pub MERGEexact: ::core::ffi::c_uint,
pub MERGEindependent: ::core::ffi::c_uint,
pub MERGING: ::core::ffi::c_uint,
pub premerge_centrum: f64,
pub postmerge_centrum: f64,
pub MERGEpinched: ::core::ffi::c_uint,
pub MERGEvertices: ::core::ffi::c_uint,
pub MINvisible: f64,
pub NOnarrow: ::core::ffi::c_uint,
pub NOnearinside: ::core::ffi::c_uint,
pub NOpremerge: ::core::ffi::c_uint,
pub ONLYgood: ::core::ffi::c_uint,
pub ONLYmax: ::core::ffi::c_uint,
pub PICKfurthest: ::core::ffi::c_uint,
pub POSTmerge: ::core::ffi::c_uint,
pub PREmerge: ::core::ffi::c_uint,
pub PRINTcentrums: ::core::ffi::c_uint,
pub PRINTcoplanar: ::core::ffi::c_uint,
pub PRINTdim: ::core::ffi::c_int,
pub PRINTdots: ::core::ffi::c_uint,
pub PRINTgood: ::core::ffi::c_uint,
pub PRINTinner: ::core::ffi::c_uint,
pub PRINTneighbors: ::core::ffi::c_uint,
pub PRINTnoplanes: ::core::ffi::c_uint,
pub PRINToptions1st: ::core::ffi::c_uint,
pub PRINTouter: ::core::ffi::c_uint,
pub PRINTprecision: ::core::ffi::c_uint,
pub PRINTout: [qh_PRINT; 29usize],
pub PRINTridges: ::core::ffi::c_uint,
pub PRINTspheres: ::core::ffi::c_uint,
pub PRINTstatistics: ::core::ffi::c_uint,
pub PRINTsummary: ::core::ffi::c_uint,
pub PRINTtransparent: ::core::ffi::c_uint,
pub PROJECTdelaunay: ::core::ffi::c_uint,
pub PROJECTinput: ::core::ffi::c_int,
pub RANDOMdist: ::core::ffi::c_uint,
pub RANDOMfactor: f64,
pub RANDOMa: f64,
pub RANDOMb: f64,
pub RANDOMoutside: ::core::ffi::c_uint,
pub REPORTfreq: ::core::ffi::c_int,
pub REPORTfreq2: ::core::ffi::c_int,
pub RERUN: ::core::ffi::c_int,
pub ROTATErandom: ::core::ffi::c_int,
pub SCALEinput: ::core::ffi::c_uint,
pub SCALElast: ::core::ffi::c_uint,
pub SETroundoff: ::core::ffi::c_uint,
pub SKIPcheckmax: ::core::ffi::c_uint,
pub SKIPconvex: ::core::ffi::c_uint,
pub SPLITthresholds: ::core::ffi::c_uint,
pub STOPadd: ::core::ffi::c_int,
pub STOPcone: ::core::ffi::c_int,
pub STOPpoint: ::core::ffi::c_int,
pub TESTpoints: ::core::ffi::c_int,
pub TESTvneighbors: ::core::ffi::c_uint,
pub TRACElevel: ::core::ffi::c_int,
pub TRACElastrun: ::core::ffi::c_int,
pub TRACEpoint: ::core::ffi::c_int,
pub TRACEdist: f64,
pub TRACEmerge: ::core::ffi::c_int,
pub TRIangulate: ::core::ffi::c_uint,
pub TRInormals: ::core::ffi::c_uint,
pub UPPERdelaunay: ::core::ffi::c_uint,
pub USEstdout: ::core::ffi::c_uint,
pub VERIFYoutput: ::core::ffi::c_uint,
pub VIRTUALmemory: ::core::ffi::c_uint,
pub VORONOI: ::core::ffi::c_uint,
pub AREAfactor: f64,
pub DOcheckmax: ::core::ffi::c_uint,
pub feasible_string: *mut ::core::ffi::c_char,
pub feasible_point: *mut f64,
pub GETarea: ::core::ffi::c_uint,
pub KEEPnearinside: ::core::ffi::c_uint,
pub hull_dim: ::core::ffi::c_int,
pub input_dim: ::core::ffi::c_int,
pub num_points: ::core::ffi::c_int,
pub first_point: *mut f64,
pub POINTSmalloc: ::core::ffi::c_uint,
pub input_points: *mut f64,
pub input_malloc: ::core::ffi::c_uint,
pub qhull_command: [::core::ffi::c_char; 256usize],
pub qhull_commandsiz2: ::core::ffi::c_int,
pub rbox_command: [::core::ffi::c_char; 256usize],
pub qhull_options: [::core::ffi::c_char; 512usize],
pub qhull_optionlen: ::core::ffi::c_int,
pub qhull_optionsiz: ::core::ffi::c_int,
pub qhull_optionsiz2: ::core::ffi::c_int,
pub run_id: ::core::ffi::c_int,
pub VERTEXneighbors: ::core::ffi::c_uint,
pub ZEROcentrum: ::core::ffi::c_uint,
pub upper_threshold: *mut f64,
pub lower_threshold: *mut f64,
pub upper_bound: *mut f64,
pub lower_bound: *mut f64,
pub ANGLEround: f64,
pub centrum_radius: f64,
pub cos_max: f64,
pub DISTround: f64,
pub MAXabs_coord: f64,
pub MAXlastcoord: f64,
pub MAXoutside: f64,
pub MAXsumcoord: f64,
pub MAXwidth: f64,
pub MINdenom_1: f64,
pub MINdenom: f64,
pub MINdenom_1_2: f64,
pub MINdenom_2: f64,
pub MINlastcoord: f64,
pub NEARzero: *mut f64,
pub NEARinside: f64,
pub ONEmerge: f64,
pub outside_err: f64,
pub WIDEfacet: f64,
pub NARROWhull: ::core::ffi::c_uint,
pub qhull: [::core::ffi::c_char; 6usize],
pub errexit: jmp_buf,
pub jmpXtra: [::core::ffi::c_char; 40usize],
pub restartexit: jmp_buf,
pub jmpXtra2: [::core::ffi::c_char; 40usize],
pub fin: *mut FILE,
pub fout: *mut FILE,
pub ferr: *mut FILE,
pub interior_point: *mut f64,
pub normal_size: ::core::ffi::c_int,
pub center_size: ::core::ffi::c_int,
pub TEMPsize: ::core::ffi::c_int,
pub facet_list: *mut facetT,
pub facet_tail: *mut facetT,
pub facet_next: *mut facetT,
pub newfacet_list: *mut facetT,
pub visible_list: *mut facetT,
pub num_visible: ::core::ffi::c_int,
pub tracefacet_id: ::core::ffi::c_uint,
pub tracefacet: *mut facetT,
pub traceridge_id: ::core::ffi::c_uint,
pub traceridge: *mut ridgeT,
pub tracevertex_id: ::core::ffi::c_uint,
pub tracevertex: *mut vertexT,
pub vertex_list: *mut vertexT,
pub vertex_tail: *mut vertexT,
pub newvertex_list: *mut vertexT,
pub num_facets: ::core::ffi::c_int,
pub num_vertices: ::core::ffi::c_int,
pub num_outside: ::core::ffi::c_int,
pub num_good: ::core::ffi::c_int,
pub facet_id: ::core::ffi::c_uint,
pub ridge_id: ::core::ffi::c_uint,
pub vertex_id: ::core::ffi::c_uint,
pub first_newfacet: ::core::ffi::c_uint,
pub hulltime: ::core::ffi::c_ulong,
pub ALLOWrestart: ::core::ffi::c_uint,
pub build_cnt: ::core::ffi::c_int,
pub CENTERtype: qh_CENTER,
pub furthest_id: ::core::ffi::c_int,
pub last_errcode: ::core::ffi::c_int,
pub GOODclosest: *mut facetT,
pub coplanar_apex: *mut f64,
pub hasAreaVolume: ::core::ffi::c_uint,
pub hasTriangulation: ::core::ffi::c_uint,
pub isRenameVertex: ::core::ffi::c_uint,
pub JOGGLEmax: f64,
pub maxoutdone: ::core::ffi::c_uint,
pub max_outside: f64,
pub max_vertex: f64,
pub min_vertex: f64,
pub NEWfacets: ::core::ffi::c_uint,
pub NEWtentative: ::core::ffi::c_uint,
pub findbestnew: ::core::ffi::c_uint,
pub findbest_notsharp: ::core::ffi::c_uint,
pub NOerrexit: ::core::ffi::c_uint,
pub PRINTcradius: f64,
pub PRINTradius: f64,
pub POSTmerging: ::core::ffi::c_uint,
pub printoutvar: ::core::ffi::c_int,
pub printoutnum: ::core::ffi::c_int,
pub repart_facetid: ::core::ffi::c_uint,
pub retry_addpoint: ::core::ffi::c_int,
pub QHULLfinished: ::core::ffi::c_uint,
pub totarea: f64,
pub totvol: f64,
pub visit_id: ::core::ffi::c_uint,
pub vertex_visit: ::core::ffi::c_uint,
pub WAScoplanar: ::core::ffi::c_uint,
pub ZEROall_ok: ::core::ffi::c_uint,
pub facet_mergeset: *mut setT,
pub degen_mergeset: *mut setT,
pub vertex_mergeset: *mut setT,
pub hash_table: *mut setT,
pub other_points: *mut setT,
pub del_vertices: *mut setT,
pub gm_matrix: *mut f64,
pub gm_row: *mut *mut f64,
pub line: *mut ::core::ffi::c_char,
pub maxline: ::core::ffi::c_int,
pub half_space: *mut f64,
pub temp_malloc: *mut f64,
pub ERREXITcalled: ::core::ffi::c_uint,
pub firstcentrum: ::core::ffi::c_uint,
pub old_randomdist: ::core::ffi::c_uint,
pub coplanarfacetset: *mut setT,
pub last_low: f64,
pub last_high: f64,
pub last_newhigh: f64,
pub lastcpu: f64,
pub lastfacets: ::core::ffi::c_int,
pub lastmerges: ::core::ffi::c_int,
pub lastplanes: ::core::ffi::c_int,
pub lastdist: ::core::ffi::c_int,
pub lastreport: ::core::ffi::c_uint,
pub mergereport: ::core::ffi::c_int,
pub old_tempstack: *mut setT,
pub ridgeoutnum: ::core::ffi::c_int,
pub last_random: ::core::ffi::c_int,
pub rbox_errexit: jmp_buf,
pub jmpXtra3: [::core::ffi::c_char; 40usize],
pub rbox_isinteger: ::core::ffi::c_int,
pub rbox_out_offset: f64,
pub cpp_object: *mut ::core::ffi::c_void,
pub cpp_other: *mut ::core::ffi::c_void,
pub cpp_user: *mut ::core::ffi::c_void,
pub qhmem: qhmemT,
pub qhstat: qhstatT,
}
#[test]
fn bindgen_test_layout_qhT() {
const UNINIT: ::core::mem::MaybeUninit<qhT> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<qhT>(),
8744usize,
concat!("Size of: ", stringify!(qhT))
);
assert_eq!(
::core::mem::align_of::<qhT>(),
8usize,
concat!("Alignment of ", stringify!(qhT))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALLpoints) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ALLpoints)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALLOWshort) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ALLOWshort)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALLOWwarning) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ALLOWwarning)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALLOWwide) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ALLOWwide)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ANGLEmerge) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ANGLEmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).APPROXhull) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(APPROXhull)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINoutside) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINoutside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ANNOTATEoutput) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ANNOTATEoutput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ATinfinity) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ATinfinity)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).AVOIDold) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(AVOIDold)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).BESToutside) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(BESToutside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).CDDinput) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(CDDinput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).CDDoutput) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(CDDoutput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).CHECKduplicates) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(CHECKduplicates)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).CHECKfrequently) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(CHECKfrequently)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).premerge_cos) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(premerge_cos)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).postmerge_cos) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(postmerge_cos)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).DELAUNAY) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(DELAUNAY)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).DOintersections) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(DOintersections)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).DROPdim) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(DROPdim)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).FLUSHprint) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(FLUSHprint)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).FORCEoutput) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(FORCEoutput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODpoint) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODpoint)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODpointp) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODpointp)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODthreshold) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODthreshold)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODvertex) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODvertex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODvertexp) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODvertexp)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).HALFspace) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(HALFspace)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ISqhullQh) as usize - ptr as usize },
132usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ISqhullQh)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).IStracing) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(IStracing)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEParea) as usize - ptr as usize },
140usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEParea)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEPcoplanar) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEPcoplanar)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEPinside) as usize - ptr as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEPinside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEPmerge) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEPmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEPminArea) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEPminArea)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXcoplanar) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXcoplanar)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXwide) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXwide)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MERGEexact) as usize - ptr as usize },
180usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MERGEexact)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MERGEindependent) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MERGEindependent)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MERGING) as usize - ptr as usize },
188usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MERGING)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).premerge_centrum) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(premerge_centrum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).postmerge_centrum) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(postmerge_centrum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MERGEpinched) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MERGEpinched)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MERGEvertices) as usize - ptr as usize },
212usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MERGEvertices)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINvisible) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINvisible)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NOnarrow) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NOnarrow)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NOnearinside) as usize - ptr as usize },
228usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NOnearinside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NOpremerge) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NOpremerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ONLYgood) as usize - ptr as usize },
236usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ONLYgood)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ONLYmax) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ONLYmax)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PICKfurthest) as usize - ptr as usize },
244usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PICKfurthest)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).POSTmerge) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(POSTmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PREmerge) as usize - ptr as usize },
252usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PREmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTcentrums) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTcentrums)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTcoplanar) as usize - ptr as usize },
260usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTcoplanar)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTdim) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTdim)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTdots) as usize - ptr as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTdots)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTgood) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTgood)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTinner) as usize - ptr as usize },
276usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTinner)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTneighbors) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTneighbors)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTnoplanes) as usize - ptr as usize },
284usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTnoplanes)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINToptions1st) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINToptions1st)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTouter) as usize - ptr as usize },
292usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTouter)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTprecision) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTprecision)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTout) as usize - ptr as usize },
300usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTout)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTridges) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTridges)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTspheres) as usize - ptr as usize },
420usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTspheres)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTstatistics) as usize - ptr as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTstatistics)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTsummary) as usize - ptr as usize },
428usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTsummary)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTtransparent) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTtransparent)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PROJECTdelaunay) as usize - ptr as usize },
436usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PROJECTdelaunay)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PROJECTinput) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PROJECTinput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RANDOMdist) as usize - ptr as usize },
444usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RANDOMdist)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RANDOMfactor) as usize - ptr as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RANDOMfactor)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RANDOMa) as usize - ptr as usize },
456usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RANDOMa)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RANDOMb) as usize - ptr as usize },
464usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RANDOMb)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RANDOMoutside) as usize - ptr as usize },
472usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RANDOMoutside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).REPORTfreq) as usize - ptr as usize },
476usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(REPORTfreq)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).REPORTfreq2) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(REPORTfreq2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).RERUN) as usize - ptr as usize },
484usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(RERUN)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ROTATErandom) as usize - ptr as usize },
488usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ROTATErandom)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SCALEinput) as usize - ptr as usize },
492usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SCALEinput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SCALElast) as usize - ptr as usize },
496usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SCALElast)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SETroundoff) as usize - ptr as usize },
500usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SETroundoff)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SKIPcheckmax) as usize - ptr as usize },
504usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SKIPcheckmax)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SKIPconvex) as usize - ptr as usize },
508usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SKIPconvex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).SPLITthresholds) as usize - ptr as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(SPLITthresholds)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).STOPadd) as usize - ptr as usize },
516usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(STOPadd)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).STOPcone) as usize - ptr as usize },
520usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(STOPcone)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).STOPpoint) as usize - ptr as usize },
524usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(STOPpoint)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TESTpoints) as usize - ptr as usize },
528usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TESTpoints)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TESTvneighbors) as usize - ptr as usize },
532usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TESTvneighbors)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRACElevel) as usize - ptr as usize },
536usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRACElevel)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRACElastrun) as usize - ptr as usize },
540usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRACElastrun)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRACEpoint) as usize - ptr as usize },
544usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRACEpoint)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRACEdist) as usize - ptr as usize },
552usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRACEdist)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRACEmerge) as usize - ptr as usize },
560usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRACEmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRIangulate) as usize - ptr as usize },
564usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRIangulate)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TRInormals) as usize - ptr as usize },
568usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TRInormals)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).UPPERdelaunay) as usize - ptr as usize },
572usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(UPPERdelaunay)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).USEstdout) as usize - ptr as usize },
576usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(USEstdout)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).VERIFYoutput) as usize - ptr as usize },
580usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(VERIFYoutput)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).VIRTUALmemory) as usize - ptr as usize },
584usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(VIRTUALmemory)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).VORONOI) as usize - ptr as usize },
588usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(VORONOI)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).AREAfactor) as usize - ptr as usize },
592usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(AREAfactor)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).DOcheckmax) as usize - ptr as usize },
600usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(DOcheckmax)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).feasible_string) as usize - ptr as usize },
608usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(feasible_string)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).feasible_point) as usize - ptr as usize },
616usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(feasible_point)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GETarea) as usize - ptr as usize },
624usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GETarea)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).KEEPnearinside) as usize - ptr as usize },
628usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(KEEPnearinside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).hull_dim) as usize - ptr as usize },
632usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(hull_dim)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).input_dim) as usize - ptr as usize },
636usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(input_dim)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_points) as usize - ptr as usize },
640usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_points)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).first_point) as usize - ptr as usize },
648usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(first_point)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).POINTSmalloc) as usize - ptr as usize },
656usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(POINTSmalloc)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).input_points) as usize - ptr as usize },
664usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(input_points)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).input_malloc) as usize - ptr as usize },
672usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(input_malloc)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_command) as usize - ptr as usize },
676usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_command)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_commandsiz2) as usize - ptr as usize },
932usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_commandsiz2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rbox_command) as usize - ptr as usize },
936usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(rbox_command)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_options) as usize - ptr as usize },
1192usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_options)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_optionlen) as usize - ptr as usize },
1704usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_optionlen)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_optionsiz) as usize - ptr as usize },
1708usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_optionsiz)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull_optionsiz2) as usize - ptr as usize },
1712usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull_optionsiz2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).run_id) as usize - ptr as usize },
1716usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(run_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).VERTEXneighbors) as usize - ptr as usize },
1720usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(VERTEXneighbors)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ZEROcentrum) as usize - ptr as usize },
1724usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ZEROcentrum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).upper_threshold) as usize - ptr as usize },
1728usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(upper_threshold)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lower_threshold) as usize - ptr as usize },
1736usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lower_threshold)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).upper_bound) as usize - ptr as usize },
1744usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(upper_bound)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lower_bound) as usize - ptr as usize },
1752usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lower_bound)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ANGLEround) as usize - ptr as usize },
1760usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ANGLEround)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).centrum_radius) as usize - ptr as usize },
1768usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(centrum_radius)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cos_max) as usize - ptr as usize },
1776usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(cos_max)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).DISTround) as usize - ptr as usize },
1784usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(DISTround)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXabs_coord) as usize - ptr as usize },
1792usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXabs_coord)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXlastcoord) as usize - ptr as usize },
1800usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXlastcoord)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXoutside) as usize - ptr as usize },
1808usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXoutside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXsumcoord) as usize - ptr as usize },
1816usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXsumcoord)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MAXwidth) as usize - ptr as usize },
1824usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MAXwidth)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINdenom_1) as usize - ptr as usize },
1832usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINdenom_1)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINdenom) as usize - ptr as usize },
1840usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINdenom)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINdenom_1_2) as usize - ptr as usize },
1848usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINdenom_1_2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINdenom_2) as usize - ptr as usize },
1856usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINdenom_2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).MINlastcoord) as usize - ptr as usize },
1864usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(MINlastcoord)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NEARzero) as usize - ptr as usize },
1872usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NEARzero)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NEARinside) as usize - ptr as usize },
1880usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NEARinside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ONEmerge) as usize - ptr as usize },
1888usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ONEmerge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).outside_err) as usize - ptr as usize },
1896usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(outside_err)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).WIDEfacet) as usize - ptr as usize },
1904usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(WIDEfacet)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NARROWhull) as usize - ptr as usize },
1912usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NARROWhull)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhull) as usize - ptr as usize },
1916usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhull)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).errexit) as usize - ptr as usize },
1924usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(errexit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).jmpXtra) as usize - ptr as usize },
2116usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(jmpXtra)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).restartexit) as usize - ptr as usize },
2156usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(restartexit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).jmpXtra2) as usize - ptr as usize },
2348usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(jmpXtra2)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).fin) as usize - ptr as usize },
2392usize,
concat!("Offset of field: ", stringify!(qhT), "::", stringify!(fin))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).fout) as usize - ptr as usize },
2400usize,
concat!("Offset of field: ", stringify!(qhT), "::", stringify!(fout))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ferr) as usize - ptr as usize },
2408usize,
concat!("Offset of field: ", stringify!(qhT), "::", stringify!(ferr))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).interior_point) as usize - ptr as usize },
2416usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(interior_point)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).normal_size) as usize - ptr as usize },
2424usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(normal_size)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).center_size) as usize - ptr as usize },
2428usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(center_size)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).TEMPsize) as usize - ptr as usize },
2432usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(TEMPsize)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).facet_list) as usize - ptr as usize },
2440usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(facet_list)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).facet_tail) as usize - ptr as usize },
2448usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(facet_tail)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).facet_next) as usize - ptr as usize },
2456usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(facet_next)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).newfacet_list) as usize - ptr as usize },
2464usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(newfacet_list)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).visible_list) as usize - ptr as usize },
2472usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(visible_list)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_visible) as usize - ptr as usize },
2480usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_visible)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tracefacet_id) as usize - ptr as usize },
2484usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(tracefacet_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tracefacet) as usize - ptr as usize },
2488usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(tracefacet)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).traceridge_id) as usize - ptr as usize },
2496usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(traceridge_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).traceridge) as usize - ptr as usize },
2504usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(traceridge)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tracevertex_id) as usize - ptr as usize },
2512usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(tracevertex_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tracevertex) as usize - ptr as usize },
2520usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(tracevertex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertex_list) as usize - ptr as usize },
2528usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(vertex_list)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertex_tail) as usize - ptr as usize },
2536usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(vertex_tail)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).newvertex_list) as usize - ptr as usize },
2544usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(newvertex_list)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_facets) as usize - ptr as usize },
2552usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_facets)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_vertices) as usize - ptr as usize },
2556usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_vertices)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_outside) as usize - ptr as usize },
2560usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_outside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).num_good) as usize - ptr as usize },
2564usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(num_good)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).facet_id) as usize - ptr as usize },
2568usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(facet_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ridge_id) as usize - ptr as usize },
2572usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ridge_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertex_id) as usize - ptr as usize },
2576usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(vertex_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).first_newfacet) as usize - ptr as usize },
2580usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(first_newfacet)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).hulltime) as usize - ptr as usize },
2584usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(hulltime)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ALLOWrestart) as usize - ptr as usize },
2592usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ALLOWrestart)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).build_cnt) as usize - ptr as usize },
2596usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(build_cnt)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).CENTERtype) as usize - ptr as usize },
2600usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(CENTERtype)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).furthest_id) as usize - ptr as usize },
2604usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(furthest_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).last_errcode) as usize - ptr as usize },
2608usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(last_errcode)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).GOODclosest) as usize - ptr as usize },
2616usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(GOODclosest)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).coplanar_apex) as usize - ptr as usize },
2624usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(coplanar_apex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).hasAreaVolume) as usize - ptr as usize },
2632usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(hasAreaVolume)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).hasTriangulation) as usize - ptr as usize },
2636usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(hasTriangulation)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).isRenameVertex) as usize - ptr as usize },
2640usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(isRenameVertex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).JOGGLEmax) as usize - ptr as usize },
2648usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(JOGGLEmax)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).maxoutdone) as usize - ptr as usize },
2656usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(maxoutdone)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).max_outside) as usize - ptr as usize },
2664usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(max_outside)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).max_vertex) as usize - ptr as usize },
2672usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(max_vertex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).min_vertex) as usize - ptr as usize },
2680usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(min_vertex)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NEWfacets) as usize - ptr as usize },
2688usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NEWfacets)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NEWtentative) as usize - ptr as usize },
2692usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NEWtentative)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).findbestnew) as usize - ptr as usize },
2696usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(findbestnew)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).findbest_notsharp) as usize - ptr as usize },
2700usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(findbest_notsharp)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).NOerrexit) as usize - ptr as usize },
2704usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(NOerrexit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTcradius) as usize - ptr as usize },
2712usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTcradius)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).PRINTradius) as usize - ptr as usize },
2720usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(PRINTradius)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).POSTmerging) as usize - ptr as usize },
2728usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(POSTmerging)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).printoutvar) as usize - ptr as usize },
2732usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(printoutvar)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).printoutnum) as usize - ptr as usize },
2736usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(printoutnum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).repart_facetid) as usize - ptr as usize },
2740usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(repart_facetid)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).retry_addpoint) as usize - ptr as usize },
2744usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(retry_addpoint)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).QHULLfinished) as usize - ptr as usize },
2748usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(QHULLfinished)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totarea) as usize - ptr as usize },
2752usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(totarea)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).totvol) as usize - ptr as usize },
2760usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(totvol)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).visit_id) as usize - ptr as usize },
2768usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(visit_id)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertex_visit) as usize - ptr as usize },
2772usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(vertex_visit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).WAScoplanar) as usize - ptr as usize },
2776usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(WAScoplanar)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ZEROall_ok) as usize - ptr as usize },
2780usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ZEROall_ok)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).facet_mergeset) as usize - ptr as usize },
2784usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(facet_mergeset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).degen_mergeset) as usize - ptr as usize },
2792usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(degen_mergeset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).vertex_mergeset) as usize - ptr as usize },
2800usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(vertex_mergeset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).hash_table) as usize - ptr as usize },
2808usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(hash_table)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).other_points) as usize - ptr as usize },
2816usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(other_points)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).del_vertices) as usize - ptr as usize },
2824usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(del_vertices)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).gm_matrix) as usize - ptr as usize },
2832usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(gm_matrix)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).gm_row) as usize - ptr as usize },
2840usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(gm_row)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
2848usize,
concat!("Offset of field: ", stringify!(qhT), "::", stringify!(line))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).maxline) as usize - ptr as usize },
2856usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(maxline)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).half_space) as usize - ptr as usize },
2864usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(half_space)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).temp_malloc) as usize - ptr as usize },
2872usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(temp_malloc)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ERREXITcalled) as usize - ptr as usize },
2880usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ERREXITcalled)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).firstcentrum) as usize - ptr as usize },
2884usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(firstcentrum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).old_randomdist) as usize - ptr as usize },
2888usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(old_randomdist)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).coplanarfacetset) as usize - ptr as usize },
2896usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(coplanarfacetset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).last_low) as usize - ptr as usize },
2904usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(last_low)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).last_high) as usize - ptr as usize },
2912usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(last_high)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).last_newhigh) as usize - ptr as usize },
2920usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(last_newhigh)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastcpu) as usize - ptr as usize },
2928usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastcpu)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastfacets) as usize - ptr as usize },
2936usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastfacets)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastmerges) as usize - ptr as usize },
2940usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastmerges)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastplanes) as usize - ptr as usize },
2944usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastplanes)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastdist) as usize - ptr as usize },
2948usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastdist)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lastreport) as usize - ptr as usize },
2952usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(lastreport)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).mergereport) as usize - ptr as usize },
2956usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(mergereport)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).old_tempstack) as usize - ptr as usize },
2960usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(old_tempstack)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ridgeoutnum) as usize - ptr as usize },
2968usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(ridgeoutnum)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).last_random) as usize - ptr as usize },
2972usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(last_random)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rbox_errexit) as usize - ptr as usize },
2976usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(rbox_errexit)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).jmpXtra3) as usize - ptr as usize },
3168usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(jmpXtra3)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rbox_isinteger) as usize - ptr as usize },
3208usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(rbox_isinteger)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rbox_out_offset) as usize - ptr as usize },
3216usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(rbox_out_offset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cpp_object) as usize - ptr as usize },
3224usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(cpp_object)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cpp_other) as usize - ptr as usize },
3232usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(cpp_other)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).cpp_user) as usize - ptr as usize },
3240usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(cpp_user)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhmem) as usize - ptr as usize },
3248usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhmem)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).qhstat) as usize - ptr as usize },
3400usize,
concat!(
"Offset of field: ",
stringify!(qhT),
"::",
stringify!(qhstat)
)
);
}
extern "C" {
#[doc = " -libqhull_r.c prototypes (duplicated from qhull_ra.h)"]
pub fn qh_qhull(qh: *mut qhT);
}
extern "C" {
pub fn qh_addpoint(
qh: *mut qhT,
furthest: *mut f64,
facet: *mut facetT,
checkdist: ::core::ffi::c_uint,
) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_errexit2(
qh: *mut qhT,
exitcode: ::core::ffi::c_int,
facet: *mut facetT,
otherfacet: *mut facetT,
);
}
extern "C" {
pub fn qh_printsummary(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
#[doc = " -user_r.c prototypes (alphabetical)"]
pub fn qh_errexit(
qh: *mut qhT,
exitcode: ::core::ffi::c_int,
facet: *mut facetT,
ridge: *mut ridgeT,
);
}
extern "C" {
pub fn qh_errprint(
qh: *mut qhT,
string: *const ::core::ffi::c_char,
atfacet: *mut facetT,
otherfacet: *mut facetT,
atridge: *mut ridgeT,
atvertex: *mut vertexT,
);
}
extern "C" {
pub fn qh_new_qhull(
qh: *mut qhT,
dim: ::core::ffi::c_int,
numpoints: ::core::ffi::c_int,
points: *mut f64,
ismalloc: ::core::ffi::c_uint,
qhull_cmd: *mut ::core::ffi::c_char,
outfile: *mut FILE,
errfile: *mut FILE,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_printfacetlist(
qh: *mut qhT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printhelp_degenerate(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_printhelp_internal(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_printhelp_narrowhull(qh: *mut qhT, fp: *mut FILE, minangle: f64);
}
extern "C" {
pub fn qh_printhelp_singular(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_printhelp_topology(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_printhelp_wide(qh: *mut qhT, fp: *mut FILE);
}
extern "C" {
pub fn qh_user_memsizes(qh: *mut qhT);
}
extern "C" {
#[doc = " -usermem_r.c prototypes (alphabetical)"]
pub fn qh_exit(exitcode: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_fprintf_stderr(msgcode: ::core::ffi::c_int, fmt: *const ::core::ffi::c_char, ...);
}
extern "C" {
pub fn qh_free(mem: *mut ::core::ffi::c_void);
}
extern "C" {
pub fn qh_malloc(size: usize) -> *mut ::core::ffi::c_void;
}
extern "C" {
#[doc = " -userprintf_r.c and userprintf_rbox_r.c prototypes"]
pub fn qh_fprintf(
qh: *mut qhT,
fp: *mut FILE,
msgcode: ::core::ffi::c_int,
fmt: *const ::core::ffi::c_char,
...
);
}
extern "C" {
pub fn qh_fprintf_rbox(
qh: *mut qhT,
fp: *mut FILE,
msgcode: ::core::ffi::c_int,
fmt: *const ::core::ffi::c_char,
...
);
}
extern "C" {
#[doc = " -geom_r.c/geom2_r.c/random_r.c prototypes (duplicated from geom_r.h, random_r.h)"]
pub fn qh_findbest(
qh: *mut qhT,
point: *mut f64,
startfacet: *mut facetT,
bestoutside: ::core::ffi::c_uint,
newfacets: ::core::ffi::c_uint,
noupper: ::core::ffi::c_uint,
dist: *mut f64,
isoutside: *mut ::core::ffi::c_uint,
numpart: *mut ::core::ffi::c_int,
) -> *mut facetT;
}
extern "C" {
pub fn qh_findbestnew(
qh: *mut qhT,
point: *mut f64,
startfacet: *mut facetT,
dist: *mut f64,
bestoutside: ::core::ffi::c_uint,
isoutside: *mut ::core::ffi::c_uint,
numpart: *mut ::core::ffi::c_int,
) -> *mut facetT;
}
extern "C" {
pub fn qh_gram_schmidt(
qh: *mut qhT,
dim: ::core::ffi::c_int,
rows: *mut *mut f64,
) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_outerinner(
qh: *mut qhT,
facet: *mut facetT,
outerplane: *mut f64,
innerplane: *mut f64,
);
}
extern "C" {
pub fn qh_projectinput(qh: *mut qhT);
}
extern "C" {
pub fn qh_randommatrix(
qh: *mut qhT,
buffer: *mut f64,
dim: ::core::ffi::c_int,
row: *mut *mut f64,
);
}
extern "C" {
pub fn qh_rotateinput(qh: *mut qhT, rows: *mut *mut f64);
}
extern "C" {
pub fn qh_scaleinput(qh: *mut qhT);
}
extern "C" {
pub fn qh_setdelaunay(
qh: *mut qhT,
dim: ::core::ffi::c_int,
count: ::core::ffi::c_int,
points: *mut f64,
);
}
extern "C" {
pub fn qh_sethalfspace_all(
qh: *mut qhT,
dim: ::core::ffi::c_int,
count: ::core::ffi::c_int,
halfspaces: *mut f64,
feasible: *mut f64,
) -> *mut f64;
}
extern "C" {
#[doc = " -global_r.c prototypes (alphabetical)"]
pub fn qh_clock(qh: *mut qhT) -> ::core::ffi::c_ulong;
}
extern "C" {
pub fn qh_checkflags(
qh: *mut qhT,
command: *mut ::core::ffi::c_char,
hiddenflags: *mut ::core::ffi::c_char,
);
}
extern "C" {
pub fn qh_clear_outputflags(qh: *mut qhT);
}
extern "C" {
pub fn qh_freebuffers(qh: *mut qhT);
}
extern "C" {
pub fn qh_freeqhull(qh: *mut qhT, allmem: ::core::ffi::c_uint);
}
extern "C" {
pub fn qh_init_A(
qh: *mut qhT,
infile: *mut FILE,
outfile: *mut FILE,
errfile: *mut FILE,
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
);
}
extern "C" {
pub fn qh_init_B(
qh: *mut qhT,
points: *mut f64,
numpoints: ::core::ffi::c_int,
dim: ::core::ffi::c_int,
ismalloc: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_init_qhull_command(
qh: *mut qhT,
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
);
}
extern "C" {
pub fn qh_initbuffers(
qh: *mut qhT,
points: *mut f64,
numpoints: ::core::ffi::c_int,
dim: ::core::ffi::c_int,
ismalloc: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_initflags(qh: *mut qhT, command: *mut ::core::ffi::c_char);
}
extern "C" {
pub fn qh_initqhull_buffers(qh: *mut qhT);
}
extern "C" {
pub fn qh_initqhull_globals(
qh: *mut qhT,
points: *mut f64,
numpoints: ::core::ffi::c_int,
dim: ::core::ffi::c_int,
ismalloc: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_initqhull_mem(qh: *mut qhT);
}
extern "C" {
pub fn qh_initqhull_outputflags(qh: *mut qhT);
}
extern "C" {
pub fn qh_initqhull_start(
qh: *mut qhT,
infile: *mut FILE,
outfile: *mut FILE,
errfile: *mut FILE,
);
}
extern "C" {
pub fn qh_initqhull_start2(
qh: *mut qhT,
infile: *mut FILE,
outfile: *mut FILE,
errfile: *mut FILE,
);
}
extern "C" {
pub fn qh_initthresholds(qh: *mut qhT, command: *mut ::core::ffi::c_char);
}
extern "C" {
pub fn qh_lib_check(
qhullLibraryType: ::core::ffi::c_int,
qhTsize: ::core::ffi::c_int,
vertexTsize: ::core::ffi::c_int,
ridgeTsize: ::core::ffi::c_int,
facetTsize: ::core::ffi::c_int,
setTsize: ::core::ffi::c_int,
qhmemTsize: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_option(
qh: *mut qhT,
option: *const ::core::ffi::c_char,
i: *mut ::core::ffi::c_int,
r: *mut f64,
);
}
extern "C" {
pub fn qh_zero(qh: *mut qhT, errfile: *mut FILE);
}
extern "C" {
#[doc = " -io_r.c prototypes (duplicated from io_r.h)"]
pub fn qh_dfacet(qh: *mut qhT, id: ::core::ffi::c_uint);
}
extern "C" {
pub fn qh_dvertex(qh: *mut qhT, id: ::core::ffi::c_uint);
}
extern "C" {
pub fn qh_printneighborhood(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetA: *mut facetT,
facetB: *mut facetT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_produce_output(qh: *mut qhT);
}
extern "C" {
pub fn qh_readpoints(
qh: *mut qhT,
numpoints: *mut ::core::ffi::c_int,
dimension: *mut ::core::ffi::c_int,
ismalloc: *mut ::core::ffi::c_uint,
) -> *mut f64;
}
extern "C" {
#[doc = " -poly_r.c/poly2_r.c prototypes (duplicated from poly_r.h)"]
pub fn qh_check_output(qh: *mut qhT);
}
extern "C" {
pub fn qh_check_points(qh: *mut qhT);
}
extern "C" {
pub fn qh_facetvertices(
qh: *mut qhT,
facetlist: *mut facetT,
facets: *mut setT,
allfacets: ::core::ffi::c_uint,
) -> *mut setT;
}
extern "C" {
pub fn qh_findbestfacet(
qh: *mut qhT,
point: *mut f64,
bestoutside: ::core::ffi::c_uint,
bestdist: *mut f64,
isoutside: *mut ::core::ffi::c_uint,
) -> *mut facetT;
}
extern "C" {
pub fn qh_nearvertex(
qh: *mut qhT,
facet: *mut facetT,
point: *mut f64,
bestdistp: *mut f64,
) -> *mut vertexT;
}
extern "C" {
pub fn qh_point(qh: *mut qhT, id: ::core::ffi::c_int) -> *mut f64;
}
extern "C" {
pub fn qh_pointfacet(qh: *mut qhT) -> *mut setT;
}
extern "C" {
pub fn qh_pointid(qh: *mut qhT, point: *mut f64) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_pointvertex(qh: *mut qhT) -> *mut setT;
}
extern "C" {
pub fn qh_setvoronoi_all(qh: *mut qhT);
}
extern "C" {
pub fn qh_triangulate(qh: *mut qhT);
}
extern "C" {
#[doc = " -rboxlib_r.c prototypes"]
pub fn qh_rboxpoints(
qh: *mut qhT,
rbox_command: *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_errexit_rbox(qh: *mut qhT, exitcode: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_get_facet_list(qh: *const qhT) -> *mut facetT;
}
extern "C" {
pub fn qh_get_first_point(qh: *const qhT) -> *mut f64;
}
extern "C" {
pub fn qh_get_hull_dim(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_num_facets(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_num_points(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_num_vertices(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_vertex_list(qh: *const qhT) -> *mut vertexT;
}
extern "C" {
pub fn qh_get_totarea(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_totvol(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_hasAreaVolume(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_set_hasAreaVolume(qh: *mut qhT, _val_: ::core::ffi::c_uint);
}
extern "C" {
pub fn qh_get_hasTriangulation(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_set_hasTriangulation(qh: *mut qhT, _val_: ::core::ffi::c_uint);
}
extern "C" {
pub fn qh_get_num_good(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_del_vertices(qh: *const qhT) -> *mut setT;
}
extern "C" {
pub fn qh_get_input_dim(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_DELAUNAY(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_SCALElast(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_KEEPcoplanar(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_MERGEexact(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_NOerrexit(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_PROJECTdelaunay(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_ATinfinity(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_UPPERdelaunay(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_normal_size(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_num_visible(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_center_size(qh: *const qhT) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_get_qhull_command(qh: *const qhT) -> *const ::core::ffi::c_char;
}
extern "C" {
pub fn qh_get_facet_tail(qh: *const qhT) -> *mut facetT;
}
extern "C" {
pub fn qh_get_vertex_tail(qh: *const qhT) -> *mut vertexT;
}
extern "C" {
pub fn qh_get_facet_id(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_visit_id(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_vertex_visit(qh: *const qhT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_get_input_points(qh: *const qhT) -> *mut f64;
}
extern "C" {
pub fn qh_get_feasible_point(qh: *const qhT) -> *mut f64;
}
extern "C" {
pub fn qh_get_last_low(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_last_high(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_last_newhigh(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_max_outside(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_MINoutside(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_DISTround(qh: *const qhT) -> f64;
}
extern "C" {
pub fn qh_get_other_points(qh: *const qhT) -> *mut setT;
}
pub const qh_RIDGE_qh_RIDGEall: qh_RIDGE = 0;
pub const qh_RIDGE_qh_RIDGEinner: qh_RIDGE = 1;
pub const qh_RIDGE_qh_RIDGEouter: qh_RIDGE = 2;
pub type qh_RIDGE = ::core::ffi::c_uint;
pub type printvridgeT = ::core::option::Option<
unsafe extern "C" fn(
qh: *mut qhT,
fp: *mut FILE,
vertex: *mut vertexT,
vertexA: *mut vertexT,
centers: *mut setT,
unbounded: ::core::ffi::c_uint,
),
>;
extern "C" {
pub fn qh_compare_facetarea(
p1: *const ::core::ffi::c_void,
p2: *const ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_compare_facetvisit(
p1: *const ::core::ffi::c_void,
p2: *const ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_compare_nummerge(
p1: *const ::core::ffi::c_void,
p2: *const ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_copyfilename(
qh: *mut qhT,
filename: *mut ::core::ffi::c_char,
size: ::core::ffi::c_int,
source: *const ::core::ffi::c_char,
length: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_countfacets(
qh: *mut qhT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
numfacetsp: *mut ::core::ffi::c_int,
numsimplicialp: *mut ::core::ffi::c_int,
totneighborsp: *mut ::core::ffi::c_int,
numridgesp: *mut ::core::ffi::c_int,
numcoplanarsp: *mut ::core::ffi::c_int,
numnumtricoplanarsp: *mut ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_detvnorm(
qh: *mut qhT,
vertex: *mut vertexT,
vertexA: *mut vertexT,
centers: *mut setT,
offsetp: *mut f64,
) -> *mut f64;
}
extern "C" {
pub fn qh_detvridge(qh: *mut qhT, vertex: *mut vertexT) -> *mut setT;
}
extern "C" {
pub fn qh_detvridge3(qh: *mut qhT, atvertex: *mut vertexT, vertex: *mut vertexT) -> *mut setT;
}
extern "C" {
pub fn qh_eachvoronoi(
qh: *mut qhT,
fp: *mut FILE,
printvridge: printvridgeT,
atvertex: *mut vertexT,
visitall: ::core::ffi::c_uint,
innerouter: qh_RIDGE,
inorder: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_eachvoronoi_all(
qh: *mut qhT,
fp: *mut FILE,
printvridge: printvridgeT,
isUpper: ::core::ffi::c_uint,
innerouter: qh_RIDGE,
inorder: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_facet2point(
qh: *mut qhT,
facet: *mut facetT,
point0: *mut *mut f64,
point1: *mut *mut f64,
mindist: *mut f64,
);
}
extern "C" {
pub fn qh_geomplanes(
qh: *mut qhT,
facet: *mut facetT,
outerplane: *mut f64,
innerplane: *mut f64,
);
}
extern "C" {
pub fn qh_markkeep(qh: *mut qhT, facetlist: *mut facetT);
}
extern "C" {
pub fn qh_markvoronoi(
qh: *mut qhT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
isLowerp: *mut ::core::ffi::c_uint,
numcentersp: *mut ::core::ffi::c_int,
) -> *mut setT;
}
extern "C" {
pub fn qh_order_vertexneighbors(qh: *mut qhT, vertex: *mut vertexT);
}
extern "C" {
pub fn qh_prepare_output(qh: *mut qhT);
}
extern "C" {
pub fn qh_printafacet(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facet: *mut facetT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printbegin(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printcenter(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
string: *const ::core::ffi::c_char,
facet: *mut facetT,
);
}
extern "C" {
pub fn qh_printcentrum(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT, radius: f64);
}
extern "C" {
pub fn qh_printend(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printend4geom(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
num: *mut ::core::ffi::c_int,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printextremes(
qh: *mut qhT,
fp: *mut FILE,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printextremes_2d(
qh: *mut qhT,
fp: *mut FILE,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printextremes_d(
qh: *mut qhT,
fp: *mut FILE,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printfacet(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT);
}
extern "C" {
pub fn qh_printfacet2math(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
format: qh_PRINT,
notfirst: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_printfacet2geom(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT, color: *mut f64);
}
extern "C" {
pub fn qh_printfacet2geom_points(
qh: *mut qhT,
fp: *mut FILE,
point1: *mut f64,
point2: *mut f64,
facet: *mut facetT,
offset: f64,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacet3math(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
format: qh_PRINT,
notfirst: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_printfacet3geom_nonsimplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacet3geom_points(
qh: *mut qhT,
fp: *mut FILE,
points: *mut setT,
facet: *mut facetT,
offset: f64,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacet3geom_simplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacet3vertex(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT, format: qh_PRINT);
}
extern "C" {
pub fn qh_printfacet4geom_nonsimplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacet4geom_simplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printfacetNvertex_nonsimplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
id: ::core::ffi::c_int,
format: qh_PRINT,
);
}
extern "C" {
pub fn qh_printfacetNvertex_simplicial(
qh: *mut qhT,
fp: *mut FILE,
facet: *mut facetT,
format: qh_PRINT,
);
}
extern "C" {
pub fn qh_printfacetheader(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT);
}
extern "C" {
pub fn qh_printfacetridges(qh: *mut qhT, fp: *mut FILE, facet: *mut facetT);
}
extern "C" {
pub fn qh_printfacets(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printhyperplaneintersection(
qh: *mut qhT,
fp: *mut FILE,
facet1: *mut facetT,
facet2: *mut facetT,
vertices: *mut setT,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printline3geom(
qh: *mut qhT,
fp: *mut FILE,
pointA: *mut f64,
pointB: *mut f64,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printpoint(
qh: *mut qhT,
fp: *mut FILE,
string: *const ::core::ffi::c_char,
point: *mut f64,
);
}
extern "C" {
pub fn qh_printpointid(
qh: *mut qhT,
fp: *mut FILE,
string: *const ::core::ffi::c_char,
dim: ::core::ffi::c_int,
point: *mut f64,
id: ::core::ffi::c_int,
);
}
extern "C" {
pub fn qh_printpoint3(qh: *mut qhT, fp: *mut FILE, point: *mut f64);
}
extern "C" {
pub fn qh_printpoints_out(
qh: *mut qhT,
fp: *mut FILE,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printpointvect(
qh: *mut qhT,
fp: *mut FILE,
point: *mut f64,
normal: *mut f64,
center: *mut f64,
radius: f64,
color: *mut f64,
);
}
extern "C" {
pub fn qh_printpointvect2(
qh: *mut qhT,
fp: *mut FILE,
point: *mut f64,
normal: *mut f64,
center: *mut f64,
radius: f64,
);
}
extern "C" {
pub fn qh_printridge(qh: *mut qhT, fp: *mut FILE, ridge: *mut ridgeT);
}
extern "C" {
pub fn qh_printspheres(qh: *mut qhT, fp: *mut FILE, vertices: *mut setT, radius: f64);
}
extern "C" {
pub fn qh_printvdiagram(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printvdiagram2(
qh: *mut qhT,
fp: *mut FILE,
printvridge: printvridgeT,
vertices: *mut setT,
innerouter: qh_RIDGE,
inorder: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_printvertex(qh: *mut qhT, fp: *mut FILE, vertex: *mut vertexT);
}
extern "C" {
pub fn qh_printvertexlist(
qh: *mut qhT,
fp: *mut FILE,
string: *const ::core::ffi::c_char,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printvertices(
qh: *mut qhT,
fp: *mut FILE,
string: *const ::core::ffi::c_char,
vertices: *mut setT,
);
}
extern "C" {
pub fn qh_printvneighbors(
qh: *mut qhT,
fp: *mut FILE,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printvoronoi(
qh: *mut qhT,
fp: *mut FILE,
format: qh_PRINT,
facetlist: *mut facetT,
facets: *mut setT,
printall: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printvnorm(
qh: *mut qhT,
fp: *mut FILE,
vertex: *mut vertexT,
vertexA: *mut vertexT,
centers: *mut setT,
unbounded: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_printvridge(
qh: *mut qhT,
fp: *mut FILE,
vertex: *mut vertexT,
vertexA: *mut vertexT,
centers: *mut setT,
unbounded: ::core::ffi::c_uint,
);
}
extern "C" {
pub fn qh_produce_output2(qh: *mut qhT);
}
extern "C" {
pub fn qh_projectdim3(qh: *mut qhT, source: *mut f64, destination: *mut f64);
}
extern "C" {
pub fn qh_readfeasible(
qh: *mut qhT,
dim: ::core::ffi::c_int,
curline: *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qh_setfeasible(qh: *mut qhT, dim: ::core::ffi::c_int);
}
extern "C" {
pub fn qh_skipfacet(qh: *mut qhT, facet: *mut facetT) -> ::core::ffi::c_uint;
}
extern "C" {
pub fn qh_skipfilename(
qh: *mut qhT,
filename: *mut ::core::ffi::c_char,
) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn qhull_sys__try_on_qh(
qh: *mut qhT,
fn_: ::core::option::Option<unsafe extern "C" fn(data: *mut ::core::ffi::c_void)>,
data: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__stdin() -> *mut FILE;
}
extern "C" {
pub fn qhull_sys__stdout() -> *mut FILE;
}
extern "C" {
pub fn qhull_sys__stderr() -> *mut FILE;
}
extern "C" {
pub fn qhull_sys__qconvex_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__qdelaunay_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__qhalf_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__qhull_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__qvoronoi_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn qhull_sys__rbox_main(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
pub type __builtin_va_list = *mut ::core::ffi::c_char;